タイムゾーンの調整
2007年以降、夏時間の定義とタイムゾーン名がいくつかの地域で変更されています。このため、Oracle Databaseではリリースによってサポートするタイムゾーンのバージョンが以下のように異なります。
Oracle Databaseのリリース | タイムゾーンのバージョン |
Oracle 9i | TZ V1 |
Oracle 10.1 | TZ V2 |
Oracle 10.2.0.1/2 | TZ V2 |
Oracle 10.2.0.3 | TZ V3 |
Oracle 10.2.0.4 | TZ V4 |
Oracle 11.1 | TZ V4 |
Oracle 11.2 | TZ V11 |
移行元のデータベースでTIMESTAMP WITH TIMEZONEデータ型(タイムゾーン付きタイムスタンプ・データ型)を使用している場合は、アップグレード後にタイムゾーンを変換する必要があります。データベースのタイムゾーン・データをV11にアップグレードするには、DBMS_DSTパッケージを使用します。以下はDBMS_DSTパッケージを使用したタイムゾーンのアップグレード例です。
SQL> CONNECT / AS SYSDBA 接続されました。 SQL> SHUTDOWN IMMEDIATE SQL> STARTUP UPGRADE SQL> EXECUTE DBMS_DST.BEGIN_UPGRADE(new_version => 11); PL/SQLプロシージャが正常に完了しました。 SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP; SQL> SET SERVEROUTPUT ON; SQL> DECLARE 2 num_of_failures NUMBER; 3 BEGIN 4 DBMS_DST.UPGRADE_DATABASE(num_of_failures); 5 DBMS_DST.END_UPGRADE(num_of_failures); 6 END; 7 / Table list: SYSMAN.MGMT_PROV_SUITE_INST_MEMBERS Number of failures: 0 Table list: SYSMAN.MGMT_PROV_STAGING_DIRS Number of failures: 0 Table list: SYSMAN.MGMT_PROV_RPM_REP Number of failures: 0 Table list: SYSMAN.MGMT_PROV_OPERATION Number of failures: 0 Table list: SYSMAN.MGMT_PROV_NET_CONFIG Number of failures: 0 Table list: SYSMAN.MGMT_PROV_IP_RANGE Number of failures: 0 Table list: SYSMAN.MGMT_PROV_DEFAULT_IMAGE Number of failures: 0 Table list: SYSMAN.MGMT_PROV_CLUSTER_NODES Number of failures: 0 Table list: SYSMAN.MGMT_PROV_BOOTSERVER Number of failures: 0 Table list: SYSMAN.MGMT_PROV_ASSIGNMENT Number of failures: 0 Table list: SYSMAN.AQ$_MGMT_NOTIFY_QTABLE_S Number of failures: 0 Table list: SYSMAN.AQ$_MGMT_NOTIFY_QTABLE_L Number of failures: 0 Table list: SYSMAN.AQ$_MGMT_LOADER_QTABLE_S Number of failures: 0 Table list: SYSMAN.AQ$_MGMT_LOADER_QTABLE_L Number of failures: 0 An upgrade window has been successfully ended. PL/SQLプロシージャが正常に完了しました。
タイムゾーン付きタイムスタンプ・データ型については、海外との連携があるようなシステムでしか使われていないと思いますが、使っている場合は要注意ですね。