Getting the last data update time of a specific table in Oracle

oracle

How can I get the last update time of table, i.e. at what time the last operation (insert/update/delete) was performed on a table in oracle?

I have tried using:

SELECT MAX(SCN_TO_TIMESTAMP(ORA_ROWSCN)) from mytablename;

But this gives me an ORA-08181 error ("specified number is not a valid system change number").

Best Answer

You should change the order of MAX and SCN_TO_TIMESTAMP

SELECT SCN_TO_TIMESTAMP(MAX(ORA_ROWSCN)) from mytablename;

This might still fail if it has been long time since table has been modified, but should work for active tables.