Update operation in Oracle gives ORA-12899 error if update value exceeds length of a string field (VARCHAR2 type in Oracle). This issue is correctly processed in INSERT statement, something like
if db.type == 'oracle' and field.type == 'string': value = value[:field.length] Please add same code into UPDATE statement processor in gluon. Tested in web2py version 1.99.5 --