This post is to demonstrate upgrade Time Zone to Specific Version in Oracle Standalone Database (Non-CDB).
Starting with Oracle 19c RU 19.18, Oracle automatically bundles all available DST patches directly into the Release Update. They are automatically deployed as .dat files into $ORACLE_HOME/oracore/zoneinfo directory during the RU patching.
The utltz_upg_check.sql will always detect the highest available version by default and upgrade DST version to it. To avoid this automatic selection and upgrade to specific timezone version, need to the patch 35117839. From 19.22 RU, no need to apply the patch just setting below event helps.
alter session set events ‘35117839 trace name context forever, level 38’;
The files are already sitting in ORACLE Home, do not need to download or apply a separate timezone patch. Only need to update the database to recognize them.
In Dataguard environment, when we upgrade the timezone version on the primary database, redo logs will contain timezone metadata based on the new version and will propagate to the standby database. Make sure, the standby database must also have the same timezone file version installed in its $ORACLE_HOME/oracore/zoneinfo/.
Environment:
==========
DB Version: 19.27
OS Version: OEL 9.4
DB Type: Standalone (NOn-CDB)
Timezone Version: 32
Target Time Zone version: 42
1. Check the current time zone version.
SQL> select * from v$timezone_file;
FILENAME VERSION CON_ID
——————– ———- ———-
timezlrg_32.dat 32 0
SQL> select tz_version from registry$database;
TZ_VERSION
———-
32
2. Before performing the time zone file upgrade, create a restore point.
SQL> create restore point before_tz_upg guarantee flashback database;
Restore point created.
3. Set events 35117839 to override upgrading to latest available time zone.
This Oracle command forces the database session to override the default automatic Daylight Saving Time (DST) version detection. Setting the event to level 34 instructs the time zone upgrade scripts (utltz_upg_check.sql) to explicitly target and upgrade the database to DST version 34 instead of picking the highest available version.
SQL> alter session set events ‘35117839 trace name context forever, level 42’;
Session altered.
4. Run the utltz_countstats.sql
It’s used during a DBMS_DST timezone upgrade to gather statistics about how many rows in database are affected by timezone changes. No database restart required
SQL> @$ORACLE_HOME/rdbms/admin/utltz_countstats.sql
Session altered.
.
Amount of TSTZ data using num_rows stats info in DBA_TABLES.
.
For SYS tables first …
Note: empty tables are not listed.
Stat date – Owner.TableName.ColumnName – num_rows
17/04/2019 – SYS.AQ$_ALERT_QT_S.CREATION_TIME – 3
17/04/2019 – SYS.AQ$_ALERT_QT_S.DELETION_TIME – 3
17/04/2019 – SYS.AQ$_ALERT_QT_S.MODIFICATION_TIME – 3
17/04/2019 – SYS.AQ$_AQ$_MEM_MC_S.CREATION_TIME – 3
17/04/2019 – SYS.AQ$_AQ$_MEM_MC_S.DELETION_TIME – 3
17/04/2019 – SYS.AQ$_AQ$_MEM_MC_S.MODIFICATION_TIME – 3
17/04/2019 – SYS.AQ$_AQ_PROP_TABLE_S.CREATION_TIME – 1
17/04/2019 – SYS.AQ$_AQ_PROP_TABLE_S.DELETION_TIME – 1
17/04/2019 – SYS.AQ$_AQ_PROP_TABLE_S.MODIFICATION_TIME – 1
17/04/2019 – SYS.AQ$_ORA$PREPLUGIN_BACKUP_QTB_S.CREATION_TIME – 1
17/04/2019 – SYS.AQ$_ORA$PREPLUGIN_BACKUP_QTB_S.DELETION_TIME – 1
17/04/2019 – SYS.AQ$_ORA$PREPLUGIN_BACKUP_QTB_S.MODIFICATION_TIME – 1
17/04/2019 – SYS.AQ$_PDB_MON_EVENT_QTABLE$_S.CREATION_TIME – 1
17/04/2019 – SYS.AQ$_PDB_MON_EVENT_QTABLE$_S.DELETION_TIME – 1
17/04/2019 – SYS.AQ$_PDB_MON_EVENT_QTABLE$_S.MODIFICATION_TIME – 1
17/04/2019 – SYS.AQ$_SCHEDULER$_EVENT_QTAB_S.CREATION_TIME – 3
17/04/2019 – SYS.AQ$_SCHEDULER$_EVENT_QTAB_S.DELETION_TIME – 3
17/04/2019 – SYS.AQ$_SCHEDULER$_EVENT_QTAB_S.MODIFICATION_TIME – 3
17/04/2019 – SYS.AQ$_SCHEDULER$_REMDB_JOBQTAB_S.CREATION_TIME – 1
17/04/2019 – SYS.AQ$_SCHEDULER$_REMDB_JOBQTAB_S.DELETION_TIME – 1
17/04/2019 – SYS.AQ$_SCHEDULER$_REMDB_JOBQTAB_S.MODIFICATION_TIME – 1
17/04/2019 – SYS.AQ$_SCHEDULER_FILEWATCHER_QT_S.CREATION_TIME – 1
17/04/2019 – SYS.AQ$_SCHEDULER_FILEWATCHER_QT_S.DELETION_TIME – 1
17/04/2019 – SYS.AQ$_SCHEDULER_FILEWATCHER_QT_S.MODIFICATION_TIME – 1
17/04/2019 – SYS.AQ$_SUBSCRIBER_TABLE.CREATION_TIME – 1
17/04/2019 – SYS.AQ$_SUBSCRIBER_TABLE.DELETION_TIME – 1
17/04/2019 – SYS.AQ$_SUBSCRIBER_TABLE.MODIFICATION_TIME – 1
17/04/2019 – SYS.AQ$_SYS$SERVICE_METRICS_TAB_S.CREATION_TIME – 4
17/04/2019 – SYS.AQ$_SYS$SERVICE_METRICS_TAB_S.DELETION_TIME – 4
17/04/2019 – SYS.AQ$_SYS$SERVICE_METRICS_TAB_S.MODIFICATION_TIME – 4
17/04/2019 – SYS.KET$_AUTOTASK_STATUS.ABA_START_TIME – 1
17/04/2019 – SYS.KET$_AUTOTASK_STATUS.ABA_STATE_TIME – 1
17/04/2019 – SYS.KET$_AUTOTASK_STATUS.MW_RECORD_TIME – 1
17/04/2019 – SYS.KET$_AUTOTASK_STATUS.MW_START_TIME – 1
17/04/2019 – SYS.KET$_AUTOTASK_STATUS.RECONCILE_TIME – 1
17/04/2019 – SYS.KET$_CLIENT_CONFIG.FIELD_2 – 7
17/04/2019 – SYS.KET$_CLIENT_CONFIG.LAST_CHANGE – 7
06/08/2026 – SYS.OPTSTAT_HIST_CONTROL$.SPARE6 – 45
06/08/2026 – SYS.OPTSTAT_HIST_CONTROL$.SVAL2 – 45
06/08/2026 – SYS.OPTSTAT_SNAPSHOT$.TIMESTAMP – 84
17/04/2019 – SYS.OPTSTAT_USER_PREFS$.CHGTIME – 72
17/04/2019 – SYS.RADM_FPTM$.TSWTZ_COL – 1
17/04/2019 – SYS.REG$.NTFN_GROUPING_START_TIME – 2
17/04/2019 – SYS.REG$.REG_TIME – 2
17/04/2019 – SYS.SCHEDULER$_EVENT_LOG.LOG_DATE – 29
17/04/2019 – SYS.SCHEDULER$_GLOBAL_ATTRIBUTE.ATTR_TSTAMP – 11
06/08/2026 – SYS.SCHEDULER$_JOB.END_DATE – 23
06/08/2026 – SYS.SCHEDULER$_JOB.LAST_ENABLED_TIME – 23
06/08/2026 – SYS.SCHEDULER$_JOB.LAST_END_DATE – 23
06/08/2026 – SYS.SCHEDULER$_JOB.LAST_START_DATE – 23
06/08/2026 – SYS.SCHEDULER$_JOB.NEXT_RUN_DATE – 23
06/08/2026 – SYS.SCHEDULER$_JOB.START_DATE – 23
17/04/2019 – SYS.SCHEDULER$_SCHEDULE.END_DATE – 4
17/04/2019 – SYS.SCHEDULER$_SCHEDULE.REFERENCE_DATE – 4
17/04/2019 – SYS.SCHEDULER$_WINDOW.ACTUAL_START_DATE – 9
17/04/2019 – SYS.SCHEDULER$_WINDOW.END_DATE – 9
17/04/2019 – SYS.SCHEDULER$_WINDOW.LAST_START_DATE – 9
17/04/2019 – SYS.SCHEDULER$_WINDOW.MANUAL_OPEN_TIME – 9
17/04/2019 – SYS.SCHEDULER$_WINDOW.NEXT_START_DATE – 9
17/04/2019 – SYS.SCHEDULER$_WINDOW.START_DATE – 9
17/04/2019 – SYS.WRI$_ALERT_HISTORY.CREATION_TIME – 1
17/04/2019 – SYS.WRI$_ALERT_HISTORY.TIME_SUGGESTED – 1
17/04/2019 – SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY.SAVTIME – 23518
17/04/2019 – SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY.SPARE6 – 23518
17/04/2019 – SYS.WRI$_OPTSTAT_IND_HISTORY.SAVTIME – 1733
17/04/2019 – SYS.WRI$_OPTSTAT_IND_HISTORY.SPARE6 – 1733
17/04/2019 – SYS.WRI$_OPTSTAT_OPR.END_TIME – 74
17/04/2019 – SYS.WRI$_OPTSTAT_OPR.SPARE6 – 74
17/04/2019 – SYS.WRI$_OPTSTAT_OPR.START_TIME – 74
17/04/2019 – SYS.WRI$_OPTSTAT_OPR_TASKS.END_TIME – 5179
17/04/2019 – SYS.WRI$_OPTSTAT_OPR_TASKS.SPARE6 – 5179
17/04/2019 – SYS.WRI$_OPTSTAT_OPR_TASKS.START_TIME – 5179
17/04/2019 – SYS.WRI$_OPTSTAT_TAB_HISTORY.SAVTIME – 1932
17/04/2019 – SYS.WRI$_OPTSTAT_TAB_HISTORY.SPARE6 – 1932
17/04/2019 – SYS.WRM$_DATABASE_INSTANCE.STARTUP_TIME_TZ – 1
17/04/2019 – SYS.XS$PRIN.END_DATE – 15
17/04/2019 – SYS.XS$PRIN.START_DATE – 15
Total numrows of SYS TSTZ columns is : 70725
There are in total 169 SYS TSTZ columns.
.
For non-SYS tables …
Note: empty tables are not listed.
Stat date – Owner.Tablename.Columnname – num_rows
17/04/2019 – GSMADMIN_INTERNAL.AQ$_CHANGE_LOG_QUEUE_TABLE_S.CREATION_TIME – 1
17/04/2019 – GSMADMIN_INTERNAL.AQ$_CHANGE_LOG_QUEUE_TABLE_S.DELETION_TIME – 1
17/04/2019 – GSMADMIN_INTERNAL.AQ$_CHANGE_LOG_QUEUE_TABLE_S.MODIFICATION_TIME – 1
17/04/2019 – WMSYS.AQ$_WM$EVENT_QUEUE_TABLE_S.CREATION_TIME – 1
17/04/2019 – WMSYS.AQ$_WM$EVENT_QUEUE_TABLE_S.DELETION_TIME – 1
17/04/2019 – WMSYS.AQ$_WM$EVENT_QUEUE_TABLE_S.MODIFICATION_TIME – 1
17/04/2019 – WMSYS.WM$WORKSPACES_TABLE$.CREATETIME – 1
17/04/2019 – WMSYS.WM$WORKSPACES_TABLE$.LAST_CHANGE – 1
Total numrows of non-SYS TSTZ columns is : 8
There are in total 20 non-SYS TSTZ columns.
Total Minutes elapsed : 0
Session altered.
5. Run the utltz_countstar.sql
It scans database for tables containing TIMESTAMP WITH TIME ZONE columns. It runs a COUNT(*) across those tables to estimate how many rows will be affected by a timezone upgrade.
Database restart not required.
SQL> @$ORACLE_HOME/rdbms/admin/utltz_countstar.sql
Session altered.
.
Estimating amount of TSTZ data using COUNT(*).
This might take some time …
.
For SYS tables first …
Note: empty tables are not listed.
Owner.TableName.ColumnName – COUNT(*) of that column
SYS.AQ$_ALERT_QT_S.CREATION_TIME – 4
SYS.AQ$_ALERT_QT_S.DELETION_TIME – 4
SYS.AQ$_ALERT_QT_S.MODIFICATION_TIME – 4
SYS.AQ$_AQ$_MEM_MC_S.CREATION_TIME – 3
SYS.AQ$_AQ$_MEM_MC_S.DELETION_TIME – 3
SYS.AQ$_AQ$_MEM_MC_S.MODIFICATION_TIME – 3
SYS.AQ$_AQ_PROP_TABLE_S.CREATION_TIME – 1
SYS.AQ$_AQ_PROP_TABLE_S.DELETION_TIME – 1
SYS.AQ$_AQ_PROP_TABLE_S.MODIFICATION_TIME – 1
SYS.AQ$_ORA$PREPLUGIN_BACKUP_QTB_S.CREATION_TIME – 1
SYS.AQ$_ORA$PREPLUGIN_BACKUP_QTB_S.DELETION_TIME – 1
SYS.AQ$_ORA$PREPLUGIN_BACKUP_QTB_S.MODIFICATION_TIME – 1
SYS.AQ$_PDB_MON_EVENT_QTABLE$_S.CREATION_TIME – 1
SYS.AQ$_PDB_MON_EVENT_QTABLE$_S.DELETION_TIME – 1
SYS.AQ$_PDB_MON_EVENT_QTABLE$_S.MODIFICATION_TIME – 1
SYS.AQ$_SCHEDULER$_EVENT_QTAB_S.CREATION_TIME – 3
SYS.AQ$_SCHEDULER$_EVENT_QTAB_S.DELETION_TIME – 3
SYS.AQ$_SCHEDULER$_EVENT_QTAB_S.MODIFICATION_TIME – 3
SYS.AQ$_SCHEDULER$_REMDB_JOBQTAB_S.CREATION_TIME – 1
SYS.AQ$_SCHEDULER$_REMDB_JOBQTAB_S.DELETION_TIME – 1
SYS.AQ$_SCHEDULER$_REMDB_JOBQTAB_S.MODIFICATION_TIME – 1
SYS.AQ$_SCHEDULER_FILEWATCHER_QT_S.CREATION_TIME – 1
SYS.AQ$_SCHEDULER_FILEWATCHER_QT_S.DELETION_TIME – 1
SYS.AQ$_SCHEDULER_FILEWATCHER_QT_S.MODIFICATION_TIME – 1
SYS.AQ$_SUBSCRIBER_TABLE.CREATION_TIME – 1
SYS.AQ$_SUBSCRIBER_TABLE.DELETION_TIME – 1
SYS.AQ$_SUBSCRIBER_TABLE.MODIFICATION_TIME – 1
SYS.AQ$_SYS$SERVICE_METRICS_TAB_S.CREATION_TIME – 4
SYS.AQ$_SYS$SERVICE_METRICS_TAB_S.DELETION_TIME – 4
SYS.AQ$_SYS$SERVICE_METRICS_TAB_S.MODIFICATION_TIME – 4
SYS.ATSK$_SCHEDULE_CONTROL.MRCT_TASK_TIME_TZ – 1
SYS.KET$_AUTOTASK_STATUS.ABA_START_TIME – 1
SYS.KET$_AUTOTASK_STATUS.ABA_STATE_TIME – 1
SYS.KET$_AUTOTASK_STATUS.MW_RECORD_TIME – 1
SYS.KET$_AUTOTASK_STATUS.MW_START_TIME – 1
SYS.KET$_AUTOTASK_STATUS.RECONCILE_TIME – 1
SYS.KET$_CLIENT_CONFIG.FIELD_2 – 7
SYS.KET$_CLIENT_CONFIG.LAST_CHANGE – 7
SYS.OPTSTAT_HIST_CONTROL$.SPARE6 – 45
SYS.OPTSTAT_HIST_CONTROL$.SVAL2 – 45
SYS.OPTSTAT_SNAPSHOT$.TIMESTAMP – 176
SYS.OPTSTAT_USER_PREFS$.CHGTIME – 72
SYS.RADM_FPTM$.TSWTZ_COL – 1
SYS.REG$.NTFN_GROUPING_START_TIME – 2
SYS.REG$.REG_TIME – 2
SYS.SCHEDULER$_EVENT_LOG.LOG_DATE – 8
SYS.SCHEDULER$_GLOBAL_ATTRIBUTE.ATTR_TSTAMP – 11
SYS.SCHEDULER$_JOB.END_DATE – 23
SYS.SCHEDULER$_JOB.LAST_ENABLED_TIME – 23
SYS.SCHEDULER$_JOB.LAST_END_DATE – 23
SYS.SCHEDULER$_JOB.LAST_START_DATE – 23
SYS.SCHEDULER$_JOB.NEXT_RUN_DATE – 23
SYS.SCHEDULER$_JOB.START_DATE – 23
SYS.SCHEDULER$_JOB_RUN_DETAILS.LOG_DATE – 8
SYS.SCHEDULER$_JOB_RUN_DETAILS.REQ_START_DATE – 8
SYS.SCHEDULER$_JOB_RUN_DETAILS.START_DATE – 8
SYS.SCHEDULER$_SCHEDULE.END_DATE – 4
SYS.SCHEDULER$_SCHEDULE.REFERENCE_DATE – 4
SYS.SCHEDULER$_WINDOW.ACTUAL_START_DATE – 9
SYS.SCHEDULER$_WINDOW.END_DATE – 9
SYS.SCHEDULER$_WINDOW.LAST_START_DATE – 9
SYS.SCHEDULER$_WINDOW.MANUAL_OPEN_TIME – 9
SYS.SCHEDULER$_WINDOW.NEXT_START_DATE – 9
SYS.SCHEDULER$_WINDOW.START_DATE – 9
SYS.WRI$_ALERT_HISTORY.CREATION_TIME – 36
SYS.WRI$_ALERT_HISTORY.TIME_SUGGESTED – 36
SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY.SAVTIME – 3320
SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY.SPARE6 – 3320
SYS.WRI$_OPTSTAT_IND_HISTORY.SAVTIME – 273
SYS.WRI$_OPTSTAT_IND_HISTORY.SPARE6 – 273
SYS.WRI$_OPTSTAT_OPR.END_TIME – 32
SYS.WRI$_OPTSTAT_OPR.SPARE6 – 32
SYS.WRI$_OPTSTAT_OPR.START_TIME – 32
SYS.WRI$_OPTSTAT_OPR_TASKS.END_TIME – 640
SYS.WRI$_OPTSTAT_OPR_TASKS.SPARE6 – 640
SYS.WRI$_OPTSTAT_OPR_TASKS.START_TIME – 640
SYS.WRI$_OPTSTAT_TAB_HISTORY.SAVTIME – 310
SYS.WRI$_OPTSTAT_TAB_HISTORY.SPARE6 – 310
SYS.WRM$_DATABASE_INSTANCE.STARTUP_TIME_TZ – 3
SYS.XS$PRIN.END_DATE – 15
SYS.XS$PRIN.START_DATE – 15
Total count * of SYS TSTZ columns is : 10593
There are in total 169 SYS TSTZ columns.
.
For non-SYS tables …
Note: empty tables are not listed.
Owner.TableName.ColumnName – COUNT(*) of that column
GSMADMIN_INTERNAL.AQ$_CHANGE_LOG_QUEUE_TABLE_S.CREATION_TIME – 1
GSMADMIN_INTERNAL.AQ$_CHANGE_LOG_QUEUE_TABLE_S.DELETION_TIME – 1
GSMADMIN_INTERNAL.AQ$_CHANGE_LOG_QUEUE_TABLE_S.MODIFICATION_TIME – 1
WMSYS.AQ$_WM$EVENT_QUEUE_TABLE_S.CREATION_TIME – 1
WMSYS.AQ$_WM$EVENT_QUEUE_TABLE_S.DELETION_TIME – 1
WMSYS.AQ$_WM$EVENT_QUEUE_TABLE_S.MODIFICATION_TIME – 1
WMSYS.WM$WORKSPACES_TABLE$.CREATETIME – 1
WMSYS.WM$WORKSPACES_TABLE$.LAST_CHANGE – 1
Total count * of non-SYS TSTZ columns is : 8
There are in total 20 non-SYS TSTZ columns.
Total Minutes elapsed : 0
Session altered.
6. Run the Time zone upgrade check script utltz_upg_check.sql
The script $ORACLE_HOME/rdbms/admin/utltz_upg_check.sql is Oracle’s pre‑upgrade validation tool for timezone changes.
It checks database before running DBMS_DST.begin_upgrade.
Confirms whether the database is ready for a timezone upgrade.
Identifies objects, data types, and dependencies that could be impacted.
SQL> @$ORACLE_HOME/rdbms/admin/utltz_upg_check.sql
Session altered.
INFO: Starting with RDBMS DST update preparation.
INFO: NO actual RDBMS DST update will be done by this script.
INFO: If an ERROR occurs the script will EXIT sqlplus.
INFO: Doing checks for known issues …
INFO: Database version is 19.0.0.0 .
INFO: Database RDBMS DST version is DSTv32 .
INFO: No known issues detected.
INFO: Now detecting new RDBMS DST version.
INFO: Event set to query LTZ from version 42
A prepare window has been successfully started.
INFO: Newest RDBMS DST version detected is DSTv42 .
INFO: Next step is checking all TSTZ data.
INFO: It might take a while before any further output is seen …
A prepare window has been successfully ended.
INFO: A newer RDBMS DST version than the one currently used is found.
INFO: Note that NO DST update was yet done.
INFO: Now run utltz_upg_apply.sql to do the actual RDBMS DST update.
INFO: Note that the utltz_upg_apply.sql script will
INFO: restart the database 2 times WITHOUT any confirmation or prompt.
Session altered.
The above output indicates that the timezone will be upgraded to 42 instead of the latest version 44.
The above script did not report any errors. Good to upgrade the DST version.
7. Execute the utltz_upg_apply.sql to upgrade the time zone.
Warning: This script will restart the database for twice in upgrade and normal mode, and then adjust time zone data.
SQL> @$ORACLE_HOME/rdbms/admin/utltz_upg_apply.sql
Session altered.
INFO: If an ERROR occurs, the script will EXIT SQL*Plus.
INFO: The database RDBMS DST version will be updated to DSTv42 .
WARNING: This script will restart the database 2 times
WARNING: WITHOUT asking ANY confirmation.
WARNING: Hit control-c NOW if this is not intended.
INFO: Restarting the database in UPGRADE mode to start the DST upgrade.
Database closed.
Database dismounted.
ORACLE instance shut down.
ORACLE instance started.
Total System Global Area 2365584096 bytes
Fixed Size 8942304 bytes
Variable Size 520093696 bytes
Database Buffers 1828716544 bytes
Redo Buffers 7831552 bytes
Database mounted.
Database opened.
INFO: Starting the RDBMS DST upgrade.
INFO: Upgrading all SYS owned TSTZ data.
INFO: It might take time before any further output is seen …
An upgrade window has been successfully started.
INFO: Restarting the database in NORMAL mode to upgrade non-SYS TSTZ data.
Database closed.
Database dismounted.
ORACLE instance shut down.
ORACLE instance started.
Total System Global Area 2365584096 bytes
Fixed Size 8942304 bytes
Variable Size 520093696 bytes
Database Buffers 1828716544 bytes
Redo Buffers 7831552 bytes
Database mounted.
Database opened.
INFO: Upgrading all non-SYS TSTZ data.
INFO: It might take time before any further output is seen …
INFO: Do NOT start any application yet that uses TSTZ data!
INFO: Next is a list of all upgraded tables:
Table list: “GSMADMIN_INTERNAL”.”AQ$_CHANGE_LOG_QUEUE_TABLE_S”
Number of failures: 0
Table list: “GSMADMIN_INTERNAL”.”AQ$_CHANGE_LOG_QUEUE_TABLE_L”
Number of failures: 0
Table list: “MDSYS”.”SDO_DIAG_MESSAGES_TABLE”
Number of failures: 0
Table list: “DVSYS”.”AUDIT_TRAIL$”
Number of failures: 0
Table list: “DVSYS”.”SIMULATION_LOG$”
Number of failures: 0
INFO: Total failures during update of TSTZ data: 0 .
An upgrade window has been successfully ended.
INFO: Your new Server RDBMS DST version is DSTv42 .
INFO: The RDBMS DST update is successfully finished.
INFO: Make sure to exit this SQL*Plus session.
INFO: Do not use it for timezone related selects.
Session altered.
—-
SQL> select * from v$timezone_file;
FILENAME VERSION CON_ID
——————– ———- ———-
timezlrg_42.dat 42 0
1 row selected.
SQL> select tz_version from registry$database;
TZ_VERSION
———-
42
1 row selected.
Time zone has been successfully upgrade to 42 instead of latest version 44.
Disclaimer:
Please note the above information is only for educational purpose and practised in personal test database only. Always test in test database before implementing in production database. The pre-requisites and ways of implementing may vary from one environment to another. Hence, not providing guarantee that it will work in your environment.