I ran the following to upgrade my timezone file from 4 to 14. The issue was after running the upgrade I forgot to run DBMS_DST.END_UPGRADE and put the DB back up and enabled incoming connections.
exec DBMS_DST.BEGIN_PREPARE(14);
TRUNCATE TABLE SYS.DST$TRIGGER_TABLE;
TRUNCATE TABLE sys.dst$affected_tables;
TRUNCATE TABLE sys.dst$error_table;
BEGIN
DBMS_DST.FIND_AFFECTED_TABLES
(affected_tables => 'sys.dst$affected_tables',
log_errors => TRUE,
log_errors_table => 'sys.dst$error_table');
END;
/
SELECT * FROM sys.dst$affected_tables;
0 rows returned
EXEC DBMS_DST.END_PREPARE;
shut immediate;
startup upgrade
EXEC DBMS_DST.BEGIN_UPGRADE(14);
shut immediate;
startup
SELECT version FROM v$timezone_file;
Flip to a week later when I realise this. When I try to run DBMS_DST.END_UPGRADE I get the following:
ERROR at line 1:
ORA-56929: Ending an upgrade window failed
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: at "SYS.DBMS_DST", line 1277
ORA-06512: at line 5
I tried running it in upgrade mode as well but no luck. When I searched online I saw the following:
ORA-56929: Ending an upgrade window failed
Cause: Ending an upgrade window failed or there were tables containing TSTZ data which have not been upgraded.
Action: Check alert or trace file for error(s) or complete upgrading of tables containing TSTZ data.
How would I “complete upgrading of tables containing TSTZ data.”?