oracle 11.2.0.1以及oracle 11.2.0.4資料庫的時區time zone相關概念之一

wisdomone1發表於2017-07-04
前言
  近期需要實施oracle 11.2.0.1遷移資料庫至11.2.0.4,涉及資料庫的time zone時區概念,資料庫遷移升級涉及概念及元件諸多,且複雜多變,必須整合全面,才能制訂科學
高效的資料庫遷移技術方案,減少資料庫停機時間及相關故障。  


參考資料
oracle upgrade guide


結論
1,v$timezone_file可以查詢資料庫的時區版本




2,11.2.0.1與11.2.0.4之資料庫時區邏輯相同


3,11g資料庫時區檔案路徑在ORACLE_HOME/oracore/zoneinfo


4,ORACLE_HOME/oracore/zoneinfo與ORACLE_HOME/oracore/zoneinfo/big和ORACLE_HOME/oracore/zoneinfo/little的內容相同
   


5,其所屬內容又分為2種型別,一則為timezlrg_version.dat,二則為timezone_version.dat


6,資料庫的時區檔案千萬不能刪除,否則重啟資料庫會報錯ora-600錯誤


SQL> startup
ORACLE instance started.


Total System Global Area 2137886720 bytes
Fixed Size                  2254952 bytes
Variable Size            2080376728 bytes
Database Buffers           50331648 bytes
Redo Buffers                4923392 bytes
Database mounted.
ORA-00600: internal error code, arguments: [opiodr: call 2], [], [], [], [],
[], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [qcisSetPlsqlCtx:tzi init], [], [],
[], [], [], [], [], [], [], [], []


7,如果刪除了資料庫當前使用的時區檔案,資料庫仍可以正常登陸且DML 時區相關的表




測試明細


1,資料庫版本
SQL> select * from v$version where rownum=1;


BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production


2,11.2.0.4資料庫的時區版本
SQL> select filename,version from v$timezone_file;


FILENAME                VERSION
-------------------- ----------
timezlrg_14.dat              14




3, 11.2.0.4資料庫的時區檔案
[oracle@mygirl ~]$ locate timezlrg_14.dat
/oracle/product/11.2.0/db_1/oracore/zoneinfo/timezlrg_14.dat
/oracle/product/11.2.0/db_1/oracore/zoneinfo/big/timezlrg_14.dat
/oracle/product/11.2.0/db_1/oracore/zoneinfo/little/timezlrg_14.dat




4,11.2.0.4資料庫的時區檔案所在路徑,總結如下:
   1,ORACLE_HOME/oracore/zoneinfo與ORACLE_HOME/oracore/zoneinfo/big和ORACLE_HOME/oracore/zoneinfo/little的內容相同
   2, 其所屬內容又分為2種型別,一則為timezlrg_version.dat,二則為timezone_version.dat
[oracle@mygirl zoneinfo]$ pwd
/oracle/product/11.2.0/db_1/oracore/zoneinfo
[oracle@mygirl zoneinfo]$ ll
total 13340
drwxr-xr-x. 2 oracle oinstall   4096 May  4 23:47 big
drwxr-xr-x. 2 oracle oinstall   4096 May  4 23:47 little
-rw-r--r--. 1 oracle oinstall   6068 Jun  7  2010 readme.txt
-rw-r--r--. 1 oracle oinstall  31525 Jun  7  2010 timezdif.csv
-rw-r--r--. 1 oracle oinstall 792894 Jul 16  2013 timezlrg_10.dat
-rw-r--r--. 1 oracle oinstall 787272 Jul 16  2013 timezlrg_11.dat
-rw-r--r--. 1 oracle oinstall 785621 Jul 16  2013 timezlrg_12.dat
-rw-r--r--. 1 oracle oinstall 782475 Jul 16  2013 timezlrg_13.dat
-rw-r--r--. 1 oracle oinstall 791430 Jul 16  2013 timezlrg_14.dat
-rw-r--r--. 1 oracle oinstall 493675 Jul 16  2013 timezlrg_1.dat
-rw-r--r--. 1 oracle oinstall 507957 Jul 16  2013 timezlrg_2.dat
-rw-r--r--. 1 oracle oinstall 527717 Jul 16  2013 timezlrg_3.dat
-rw-r--r--. 1 oracle oinstall 531137 Jul 16  2013 timezlrg_4.dat
-rw-r--r--. 1 oracle oinstall 587487 Jul 16  2013 timezlrg_5.dat
-rw-r--r--. 1 oracle oinstall 586750 Jul 16  2013 timezlrg_6.dat
-rw-r--r--. 1 oracle oinstall 601242 Jul 16  2013 timezlrg_7.dat
-rw-r--r--. 1 oracle oinstall 616723 Jul 16  2013 timezlrg_8.dat
-rw-r--r--. 1 oracle oinstall 801410 Jul 16  2013 timezlrg_9.dat
-rw-r--r--. 1 oracle oinstall 345637 Jul 16  2013 timezone_10.dat
-rw-r--r--. 1 oracle oinstall 345356 Jul 16  2013 timezone_11.dat
-rw-r--r--. 1 oracle oinstall 345024 Jul 16  2013 timezone_12.dat
-rw-r--r--. 1 oracle oinstall 344425 Jul 16  2013 timezone_13.dat
-rw-r--r--. 1 oracle oinstall 344448 Jul 16  2013 timezone_14.dat
-rw-r--r--. 1 oracle oinstall 274427 Jul 16  2013 timezone_1.dat
-rw-r--r--. 1 oracle oinstall 274900 Jul 16  2013 timezone_2.dat
-rw-r--r--. 1 oracle oinstall 286651 Jul 16  2013 timezone_3.dat
-rw-r--r--. 1 oracle oinstall 286264 Jul 16  2013 timezone_4.dat
-rw-r--r--. 1 oracle oinstall 286310 Jul 16  2013 timezone_5.dat
-rw-r--r--. 1 oracle oinstall 286217 Jul 16  2013 timezone_6.dat
-rw-r--r--. 1 oracle oinstall 286815 Jul 16  2013 timezone_7.dat
-rw-r--r--. 1 oracle oinstall 302100 Jul 16  2013 timezone_8.dat
-rw-r--r--. 1 oracle oinstall 351525 Jul 16  2013 timezone_9.dat
[oracle@mygirl zoneinfo]$ 




[oracle@mygirl zoneinfo]$ cd big
[oracle@mygirl big]$ ll
total 13292
-rw-r--r--. 1 oracle oinstall 792894 May 26  2009 timezlrg_10.dat
-rw-r--r--. 1 oracle oinstall 787272 Jun 12  2009 timezlrg_11.dat
-rw-r--r--. 1 oracle oinstall 785621 Sep 17  2009 timezlrg_12.dat
-rw-r--r--. 1 oracle oinstall 782475 Nov 30  2009 timezlrg_13.dat
-rw-r--r--. 1 oracle oinstall 791430 Jun  7  2010 timezlrg_14.dat
-rw-r--r--. 1 oracle oinstall 493675 Apr 29  2008 timezlrg_1.dat
-rw-r--r--. 1 oracle oinstall 507957 Apr 29  2008 timezlrg_2.dat
-rw-r--r--. 1 oracle oinstall 527717 Jan 30  2009 timezlrg_3.dat
-rw-r--r--. 1 oracle oinstall 531137 Apr 29  2008 timezlrg_4.dat
-rw-r--r--. 1 oracle oinstall 587487 Apr 29  2008 timezlrg_5.dat
-rw-r--r--. 1 oracle oinstall 586750 Apr 29  2008 timezlrg_6.dat
-rw-r--r--. 1 oracle oinstall 601242 Apr 29  2008 timezlrg_7.dat
-rw-r--r--. 1 oracle oinstall 616723 Apr 29  2008 timezlrg_8.dat
-rw-r--r--. 1 oracle oinstall 801410 May 23  2009 timezlrg_9.dat
-rw-r--r--. 1 oracle oinstall 345637 May 26  2009 timezone_10.dat
-rw-r--r--. 1 oracle oinstall 345356 Jun 12  2009 timezone_11.dat
-rw-r--r--. 1 oracle oinstall 345024 Sep 17  2009 timezone_12.dat
-rw-r--r--. 1 oracle oinstall 344425 Nov 30  2009 timezone_13.dat
-rw-r--r--. 1 oracle oinstall 344448 Jun  7  2010 timezone_14.dat
-rw-r--r--. 1 oracle oinstall 274427 Apr 29  2008 timezone_1.dat
-rw-r--r--. 1 oracle oinstall 274900 Apr 29  2008 timezone_2.dat
-rw-r--r--. 1 oracle oinstall 286651 Jan 30  2009 timezone_3.dat
-rw-r--r--. 1 oracle oinstall 286264 Apr 29  2008 timezone_4.dat
-rw-r--r--. 1 oracle oinstall 286310 Apr 29  2008 timezone_5.dat
-rw-r--r--. 1 oracle oinstall 286217 Apr 29  2008 timezone_6.dat
-rw-r--r--. 1 oracle oinstall 286815 Apr 29  2008 timezone_7.dat
-rw-r--r--. 1 oracle oinstall 302100 Apr 29  2008 timezone_8.dat
-rw-r--r--. 1 oracle oinstall 351525 May 23  2009 timezone_9.dat
[oracle@mygirl big]$ 




[oracle@mygirl big]$ cd ../little/
[oracle@mygirl little]$ pwd
/oracle/product/11.2.0/db_1/oracore/zoneinfo/little
[oracle@mygirl little]$ ll
total 13292
-rw-r--r--. 1 oracle oinstall 792894 May 26  2009 timezlrg_10.dat
-rw-r--r--. 1 oracle oinstall 787272 Jun 12  2009 timezlrg_11.dat
-rw-r--r--. 1 oracle oinstall 785621 Sep 17  2009 timezlrg_12.dat
-rw-r--r--. 1 oracle oinstall 782475 Nov 30  2009 timezlrg_13.dat
-rw-r--r--. 1 oracle oinstall 791430 Jun  7  2010 timezlrg_14.dat
-rw-r--r--. 1 oracle oinstall 493675 Apr 29  2008 timezlrg_1.dat
-rw-r--r--. 1 oracle oinstall 507957 Apr 29  2008 timezlrg_2.dat
-rw-r--r--. 1 oracle oinstall 527717 Jan 30  2009 timezlrg_3.dat
-rw-r--r--. 1 oracle oinstall 531137 Apr 29  2008 timezlrg_4.dat
-rw-r--r--. 1 oracle oinstall 587487 Apr 29  2008 timezlrg_5.dat
-rw-r--r--. 1 oracle oinstall 586750 Apr 29  2008 timezlrg_6.dat
-rw-r--r--. 1 oracle oinstall 601242 Apr 29  2008 timezlrg_7.dat
-rw-r--r--. 1 oracle oinstall 616723 Apr 29  2008 timezlrg_8.dat
-rw-r--r--. 1 oracle oinstall 801410 May 23  2009 timezlrg_9.dat
-rw-r--r--. 1 oracle oinstall 345637 May 26  2009 timezone_10.dat
-rw-r--r--. 1 oracle oinstall 345356 Jun 12  2009 timezone_11.dat
-rw-r--r--. 1 oracle oinstall 345024 Sep 17  2009 timezone_12.dat
-rw-r--r--. 1 oracle oinstall 344425 Nov 30  2009 timezone_13.dat
-rw-r--r--. 1 oracle oinstall 344448 Jun  7  2010 timezone_14.dat
-rw-r--r--. 1 oracle oinstall 274427 Apr 29  2008 timezone_1.dat
-rw-r--r--. 1 oracle oinstall 274900 Apr 29  2008 timezone_2.dat
-rw-r--r--. 1 oracle oinstall 286651 Jan 30  2009 timezone_3.dat
-rw-r--r--. 1 oracle oinstall 286264 Apr 29  2008 timezone_4.dat
-rw-r--r--. 1 oracle oinstall 286310 Apr 29  2008 timezone_5.dat
-rw-r--r--. 1 oracle oinstall 286217 Apr 29  2008 timezone_6.dat
-rw-r--r--. 1 oracle oinstall 286815 Apr 29  2008 timezone_7.dat
-rw-r--r--. 1 oracle oinstall 302100 Apr 29  2008 timezone_8.dat
-rw-r--r--. 1 oracle oinstall 351525 May 23  2009 timezone_9.dat
[oracle@mygirl little]$ 








5,oracle 11.2.0.1資料庫版本
SQL> select * from v$version where rownum=1;


BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production


6,oracle 11.2.0.1之時區版本
SQL> select filename,version from v$timezone_file;


FILENAME                VERSION
-------------------- ----------
timezlrg_11.dat              11


7,oracle 11.2.0.1的時區檔案邏輯同於11.2.0.4
[oracle@shanghai dbs]$ locate timezlrg_11.dat
/oracle/product/11.2.0/db_1/oracore/zoneinfo/timezlrg_11.dat
/oracle/product/11.2.0/db_1/oracore/zoneinfo/big/timezlrg_11.dat
/oracle/product/11.2.0/db_1/oracore/zoneinfo/little/timezlrg_11.dat


[oracle@shanghai zoneinfo]$ pwd
/oracle/product/11.2.0/db_1/oracore/zoneinfo
[oracle@shanghai zoneinfo]$ ll
total 10196
drwxr-xr-x 2 oracle oinstall   4096 Jul  2  2014 big
drwxr-xr-x 2 oracle oinstall   4096 Jul  2  2014 little
-rw-r--r-- 1 oracle oinstall   5725 Jun 12  2009 readme.txt
-rw-r--r-- 1 oracle oinstall  25681 Jul 16  2009 timezdif.csv
-rw-r--r-- 1 oracle oinstall 792894 Aug  2  2009 timezlrg_10.dat
-rw-r--r-- 1 oracle oinstall 787272 Aug  2  2009 timezlrg_11.dat
-rw-r--r-- 1 oracle oinstall 493675 Aug  2  2009 timezlrg_1.dat
-rw-r--r-- 1 oracle oinstall 507957 Aug  2  2009 timezlrg_2.dat
-rw-r--r-- 1 oracle oinstall 527717 Aug  2  2009 timezlrg_3.dat
-rw-r--r-- 1 oracle oinstall 531137 Aug  2  2009 timezlrg_4.dat
-rw-r--r-- 1 oracle oinstall 587487 Aug  2  2009 timezlrg_5.dat
-rw-r--r-- 1 oracle oinstall 586750 Aug  2  2009 timezlrg_6.dat
-rw-r--r-- 1 oracle oinstall 601242 Aug  2  2009 timezlrg_7.dat
-rw-r--r-- 1 oracle oinstall 616723 Aug  2  2009 timezlrg_8.dat
-rw-r--r-- 1 oracle oinstall 801410 Aug  2  2009 timezlrg_9.dat
-rw-r--r-- 1 oracle oinstall 345637 Aug  2  2009 timezone_10.dat
-rw-r--r-- 1 oracle oinstall 345356 Aug  2  2009 timezone_11.dat
-rw-r--r-- 1 oracle oinstall 274427 Aug  2  2009 timezone_1.dat
-rw-r--r-- 1 oracle oinstall 274900 Aug  2  2009 timezone_2.dat
-rw-r--r-- 1 oracle oinstall 286651 Aug  2  2009 timezone_3.dat
-rw-r--r-- 1 oracle oinstall 286264 Aug  2  2009 timezone_4.dat
-rw-r--r-- 1 oracle oinstall 286310 Aug  2  2009 timezone_5.dat
-rw-r--r-- 1 oracle oinstall 286217 Aug  2  2009 timezone_6.dat
-rw-r--r-- 1 oracle oinstall 286815 Aug  2  2009 timezone_7.dat
-rw-r--r-- 1 oracle oinstall 302100 Aug  2  2009 timezone_8.dat
-rw-r--r-- 1 oracle oinstall 351525 Aug  2  2009 timezone_9.dat
[oracle@shanghai zoneinfo]$ 




[oracle@shanghai zoneinfo]$ ll big
total 10136
-rw-r--r-- 1 oracle oinstall 792894 May 26  2009 timezlrg_10.dat
-rw-r--r-- 1 oracle oinstall 787272 Jun 12  2009 timezlrg_11.dat
-rw-r--r-- 1 oracle oinstall 493675 Apr 29  2008 timezlrg_1.dat
-rw-r--r-- 1 oracle oinstall 507957 Apr 29  2008 timezlrg_2.dat
-rw-r--r-- 1 oracle oinstall 527717 Jan 30  2009 timezlrg_3.dat
-rw-r--r-- 1 oracle oinstall 531137 Apr 29  2008 timezlrg_4.dat
-rw-r--r-- 1 oracle oinstall 587487 Apr 29  2008 timezlrg_5.dat
-rw-r--r-- 1 oracle oinstall 586750 Apr 29  2008 timezlrg_6.dat
-rw-r--r-- 1 oracle oinstall 601242 Apr 29  2008 timezlrg_7.dat
-rw-r--r-- 1 oracle oinstall 616723 Apr 29  2008 timezlrg_8.dat
-rw-r--r-- 1 oracle oinstall 801410 May 23  2009 timezlrg_9.dat
-rw-r--r-- 1 oracle oinstall 345637 May 26  2009 timezone_10.dat
-rw-r--r-- 1 oracle oinstall 345356 Jun 12  2009 timezone_11.dat
-rw-r--r-- 1 oracle oinstall 274427 Apr 29  2008 timezone_1.dat
-rw-r--r-- 1 oracle oinstall 274900 Apr 29  2008 timezone_2.dat
-rw-r--r-- 1 oracle oinstall 286651 Jan 30  2009 timezone_3.dat
-rw-r--r-- 1 oracle oinstall 286264 Apr 29  2008 timezone_4.dat
-rw-r--r-- 1 oracle oinstall 286310 Apr 29  2008 timezone_5.dat
-rw-r--r-- 1 oracle oinstall 286217 Apr 29  2008 timezone_6.dat
-rw-r--r-- 1 oracle oinstall 286815 Apr 29  2008 timezone_7.dat
-rw-r--r-- 1 oracle oinstall 302100 Apr 29  2008 timezone_8.dat
-rw-r--r-- 1 oracle oinstall 351525 May 23  2009 timezone_9.dat
[oracle@shanghai zoneinfo]$ 




[oracle@shanghai zoneinfo]$ ll little/
total 10136
-rw-r--r-- 1 oracle oinstall 792894 May 26  2009 timezlrg_10.dat
-rw-r--r-- 1 oracle oinstall 787272 Jun 12  2009 timezlrg_11.dat
-rw-r--r-- 1 oracle oinstall 493675 Apr 29  2008 timezlrg_1.dat
-rw-r--r-- 1 oracle oinstall 507957 Apr 29  2008 timezlrg_2.dat
-rw-r--r-- 1 oracle oinstall 527717 Jan 30  2009 timezlrg_3.dat
-rw-r--r-- 1 oracle oinstall 531137 Apr 29  2008 timezlrg_4.dat
-rw-r--r-- 1 oracle oinstall 587487 Apr 29  2008 timezlrg_5.dat
-rw-r--r-- 1 oracle oinstall 586750 Apr 29  2008 timezlrg_6.dat
-rw-r--r-- 1 oracle oinstall 601242 Apr 29  2008 timezlrg_7.dat
-rw-r--r-- 1 oracle oinstall 616723 Apr 29  2008 timezlrg_8.dat
-rw-r--r-- 1 oracle oinstall 801410 May 23  2009 timezlrg_9.dat
-rw-r--r-- 1 oracle oinstall 345637 May 26  2009 timezone_10.dat
-rw-r--r-- 1 oracle oinstall 345356 Jun 12  2009 timezone_11.dat
-rw-r--r-- 1 oracle oinstall 274427 Apr 29  2008 timezone_1.dat
-rw-r--r-- 1 oracle oinstall 274900 Apr 29  2008 timezone_2.dat
-rw-r--r-- 1 oracle oinstall 286651 Jan 30  2009 timezone_3.dat
-rw-r--r-- 1 oracle oinstall 286264 Apr 29  2008 timezone_4.dat
-rw-r--r-- 1 oracle oinstall 286310 Apr 29  2008 timezone_5.dat
-rw-r--r-- 1 oracle oinstall 286217 Apr 29  2008 timezone_6.dat
-rw-r--r-- 1 oracle oinstall 286815 Apr 29  2008 timezone_7.dat
-rw-r--r-- 1 oracle oinstall 302100 Apr 29  2008 timezone_8.dat
-rw-r--r-- 1 oracle oinstall 351525 May 23  2009 timezone_9.dat
[oracle@shanghai zoneinfo]$ 




8,建立一個與時區相關的表


[oracle@mygirl zoneinfo]$ ll
total 13340
drwxr-xr-x. 2 oracle oinstall   4096 May  4 23:47 big
drwxr-xr-x. 2 oracle oinstall   4096 May  4 23:47 little
-rw-r--r--. 1 oracle oinstall   6068 Jun  7  2010 readme.txt
-rw-r--r--. 1 oracle oinstall  31525 Jun  7  2010 timezdif.csv
-rw-r--r--. 1 oracle oinstall 792894 Jul 16  2013 timezlrg_10.dat
-rw-r--r--. 1 oracle oinstall 787272 Jul 16  2013 timezlrg_11.dat
-rw-r--r--. 1 oracle oinstall 785621 Jul 16  2013 timezlrg_12.dat
-rw-r--r--. 1 oracle oinstall 782475 Jul 16  2013 timezlrg_13.dat
-rw-r--r--. 1 oracle oinstall 791430 Jul 16  2013 timezlrg_14.dat
-rw-r--r--. 1 oracle oinstall 493675 Jul 16  2013 timezlrg_1.dat
-rw-r--r--. 1 oracle oinstall 507957 Jul 16  2013 timezlrg_2.dat
-rw-r--r--. 1 oracle oinstall 527717 Jul 16  2013 timezlrg_3.dat
-rw-r--r--. 1 oracle oinstall 531137 Jul 16  2013 timezlrg_4.dat
-rw-r--r--. 1 oracle oinstall 587487 Jul 16  2013 timezlrg_5.dat
-rw-r--r--. 1 oracle oinstall 586750 Jul 16  2013 timezlrg_6.dat
-rw-r--r--. 1 oracle oinstall 601242 Jul 16  2013 timezlrg_7.dat
-rw-r--r--. 1 oracle oinstall 616723 Jul 16  2013 timezlrg_8.dat
-rw-r--r--. 1 oracle oinstall 801410 Jul 16  2013 timezlrg_9.dat
-rw-r--r--. 1 oracle oinstall 345637 Jul 16  2013 timezone_10.dat
-rw-r--r--. 1 oracle oinstall 345356 Jul 16  2013 timezone_11.dat
-rw-r--r--. 1 oracle oinstall 345024 Jul 16  2013 timezone_12.dat
-rw-r--r--. 1 oracle oinstall 344425 Jul 16  2013 timezone_13.dat
-rw-r--r--. 1 oracle oinstall 344448 Jul 16  2013 timezone_14.dat
-rw-r--r--. 1 oracle oinstall 274427 Jul 16  2013 timezone_1.dat
-rw-r--r--. 1 oracle oinstall 274900 Jul 16  2013 timezone_2.dat
-rw-r--r--. 1 oracle oinstall 286651 Jul 16  2013 timezone_3.dat
-rw-r--r--. 1 oracle oinstall 286264 Jul 16  2013 timezone_4.dat
-rw-r--r--. 1 oracle oinstall 286310 Jul 16  2013 timezone_5.dat
-rw-r--r--. 1 oracle oinstall 286217 Jul 16  2013 timezone_6.dat
-rw-r--r--. 1 oracle oinstall 286815 Jul 16  2013 timezone_7.dat
-rw-r--r--. 1 oracle oinstall 302100 Jul 16  2013 timezone_8.dat
-rw-r--r--. 1 oracle oinstall 351525 Jul 16  2013 timezone_9.dat


SQL> conn user_dead/system
Connected.




SQL> create table t_timezone(a timestamp with local time zone);


Table created.


SQL> insert into t_timezone values(systimestamp);


1 row created.


SQL> commit;


Commit complete.


SQL> select * from t_timezone;


A
---------------------------------------------------------------------------
04-JUL-17 07.14.33.896489 PM




9,可見如果移動或刪除$ORACLE_HOME/oracore/zoneinfo目錄相關的時區檔案,則登陸資料庫會報錯
注:包括$ORACLE_HOME/oracore/zoneinfo以及其下屬big和little
[oracle@mygirl zoneinfo]$ pwd
/oracle/product/11.2.0/db_1/oracore/zoneinfo


[oracle@mygirl zoneinfo]$ mv -f big/ big_bak
[oracle@mygirl zoneinfo]$ mv -f little/ little_bak




[oracle@mygirl zoneinfo]$ ll
total 13340
drwxr-xr-x. 2 oracle oinstall   4096 May  4 23:47 big_bak
drwxr-xr-x. 2 oracle oinstall   4096 May  4 23:47 little_bak
-rw-r--r--. 1 oracle oinstall   6068 Jun  7  2010 readme.txt
-rw-r--r--. 1 oracle oinstall  31525 Jun  7  2010 timezdif.csv
-rw-r--r--. 1 oracle oinstall 792894 Jul 16  2013 timezlrg_10.dat
中間略
-rw-r--r--. 1 oracle oinstall 286651 Jul 16  2013 timezone_3.dat
-rw-r--r--. 1 oracle oinstall 286264 Jul 16  2013 timezone_4.dat
-rw-r--r--. 1 oracle oinstall 286310 Jul 16  2013 timezone_5.dat
-rw-r--r--. 1 oracle oinstall 286217 Jul 16  2013 timezone_6.dat
-rw-r--r--. 1 oracle oinstall 286815 Jul 16  2013 timezone_7.dat
-rw-r--r--. 1 oracle oinstall 302100 Jul 16  2013 timezone_8.dat
-rw-r--r--. 1 oracle oinstall 351525 Jul 16  2013 timezone_9.dat
[oracle@mygirl zoneinfo]$ 


SQL> conn user_dead/system
Connected.
SQL>  select * from t_timezone;


A
---------------------------------------------------------------------------
04-JUL-17 07.14.33.896489 PM




[oracle@mygirl zoneinfo]$ tar -cvf timezone.tar *dat
timezlrg_10.dat
timezlrg_11.dat
timezlrg_12.dat
timezlrg_13.dat
timezlrg_14.dat
中間略
timezone_5.dat
timezone_6.dat
timezone_7.dat
timezone_8.dat
timezone_9.dat
[oracle@mygirl zoneinfo]$ 


[oracle@mygirl zoneinfo]$ rm -Rf *dat
[oracle@mygirl zoneinfo]$ ll
total 13308
drwxr-xr-x. 2 oracle oinstall     4096 May  4 23:47 big_bak
drwxr-xr-x. 2 oracle oinstall     4096 May  4 23:47 little_bak
-rw-r--r--. 1 oracle oinstall     6068 Jun  7  2010 readme.txt
-rw-r--r--. 1 oracle oinstall    31525 Jun  7  2010 timezdif.csv
-rw-r--r--. 1 oracle oinstall 13578240 Jul  4 19:19 timezone.tar




[oracle@mygirl zoneinfo]$ sqlplus user_dead/system
ERROR:
ORA-01804: failure to initialize timezone information




SP2-0152: ORACLE may not be functioning properly






[oracle@mygirl zoneinfo]$ sqlplus '/as sysdba'
ERROR:
ORA-01804: failure to initialize timezone information




SP2-0152: ORACLE may not be functioning properly




10,可見只要$ORACLE_HOME/oracore/zoneinfo的時區檔案不存在,則資料庫會無法登陸
[oracle@mygirl zoneinfo]$ ll
total 13308
drwxr-xr-x. 2 oracle oinstall     4096 May  4 23:47 big_bak
drwxr-xr-x. 2 oracle oinstall     4096 May  4 23:47 little_bak
-rw-r--r--. 1 oracle oinstall     6068 Jun  7  2010 readme.txt
-rw-r--r--. 1 oracle oinstall    31525 Jun  7  2010 timezdif.csv
-rw-r--r--. 1 oracle oinstall 13578240 Jul  4 19:19 timezone.tar
[oracle@mygirl zoneinfo]$ tar -xvf timezone.tar 
timezlrg_10.dat
timezlrg_11.dat
timezlrg_12.dat
中間略
timezone_5.dat
timezone_6.dat
timezone_7.dat
timezone_8.dat
timezone_9.dat
[oracle@mygirl zoneinfo]$ ll
total 26600
drwxr-xr-x. 2 oracle oinstall     4096 May  4 23:47 big_bak
drwxr-xr-x. 2 oracle oinstall     4096 May  4 23:47 little_bak
-rw-r--r--. 1 oracle oinstall     6068 Jun  7  2010 readme.txt
-rw-r--r--. 1 oracle oinstall    31525 Jun  7  2010 timezdif.csv
-rw-r--r--. 1 oracle oinstall   792894 Jul 16  2013 timezlrg_10.dat
-rw-r--r--. 1 oracle oinstall   787272 Jul 16  2013 timezlrg_11.dat
中間略
-rw-r--r--. 1 oracle oinstall   286217 Jul 16  2013 timezone_6.dat
-rw-r--r--. 1 oracle oinstall   286815 Jul 16  2013 timezone_7.dat
-rw-r--r--. 1 oracle oinstall   302100 Jul 16  2013 timezone_8.dat
-rw-r--r--. 1 oracle oinstall   351525 Jul 16  2013 timezone_9.dat
-rw-r--r--. 1 oracle oinstall 13578240 Jul  4 19:19 timezone.tar
[oracle@mygirl zoneinfo]$




[oracle@mygirl zoneinfo]$ sqlplus '/as sysdba'


SQL*Plus: Release 11.2.0.4.0 Production on Tue Jul 4 19:25:14 2017


Copyright (c) 1982, 2013, Oracle.  All rights reserved.




Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> 




[oracle@mygirl zoneinfo]$ mv -f big_bak/ big


[oracle@mygirl zoneinfo]$ mv -f little_bak/ little


[oracle@mygirl zoneinfo]$ rm -rf *dat
[oracle@mygirl zoneinfo]$


[oracle@mygirl zoneinfo]$ ll
total 13308
drwxr-xr-x. 2 oracle oinstall     4096 May  4 23:47 big
drwxr-xr-x. 2 oracle oinstall     4096 May  4 23:47 little
-rw-r--r--. 1 oracle oinstall     6068 Jun  7  2010 readme.txt
-rw-r--r--. 1 oracle oinstall    31525 Jun  7  2010 timezdif.csv
-rw-r--r--. 1 oracle oinstall 13578240 Jul  4 19:19 timezone.tar


[oracle@mygirl zoneinfo]$ sqlplus '/as sysdba'
ERROR:
ORA-01804: failure to initialize timezone information




SP2-0152: ORACLE may not be functioning properly




11,可見只要把資料庫當前所使用的時區檔案重新命名,資料庫仍會重定位到重新命名的時區檔案
[oracle@mygirl zoneinfo]$ tar -xvf timezone.tar 
timezlrg_10.dat
timezlrg_11.dat
timezlrg_12.dat
timezlrg_13.dat
timezlrg_14.dat
timezlrg_1.dat
timezlrg_2.dat
timezlrg_3.dat
timezlrg_4.dat
timezlrg_5.dat
timezlrg_6.dat
timezlrg_7.dat
timezlrg_8.dat
timezlrg_9.dat
timezone_10.dat
timezone_11.dat
timezone_12.dat
timezone_13.dat
timezone_14.dat
timezone_1.dat
timezone_2.dat
timezone_3.dat
timezone_4.dat
timezone_5.dat
timezone_6.dat
timezone_7.dat
timezone_8.dat
timezone_9.dat




[oracle@mygirl zoneinfo]$ sqlplus '/as sysdba'


SQL*Plus: Release 11.2.0.4.0 Production on Tue Jul 4 19:31:25 2017


Copyright (c) 1982, 2013, Oracle.  All rights reserved.




Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> select filename,version from v$timezone_file;


FILENAME                VERSION
-------------------- ----------
timezlrg_14.dat              14




[oracle@mygirl zoneinfo]$ pwd
/oracle/product/11.2.0/db_1/oracore/zoneinfo
[oracle@mygirl zoneinfo]$ ll -l timezlrg_1
timezlrg_10.dat  timezlrg_11.dat  timezlrg_12.dat  timezlrg_13.dat  timezlrg_14.dat  timezlrg_1.dat   
[oracle@mygirl zoneinfo]$ ll -l timezlrg_14.dat
-rw-r--r--. 1 oracle oinstall 791430 Jul 16  2013 timezlrg_14.dat
[oracle@mygirl zoneinfo]$ mv timezlrg_14.dat timezlrg_14.dat.bak


[oracle@mygirl zoneinfo]$ sqlplus user_dead/system


SQL*Plus: Release 11.2.0.4.0 Production on Tue Jul 4 19:32:29 2017


Copyright (c) 1982, 2013, Oracle.  All rights reserved.




Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> 


SQL> select filename,version from v$timezone_file;


FILENAME                VERSION
-------------------- ----------
timezlrg_14.dat.bak          14


12,如果刪除了資料庫當前使用的時區檔案,資料庫仍可以正常登陸,但是v$timezone_file無記錄顯示,且查詢與時區相關的表仍可以正常顯示,
   且DML操作時區相關的表,也是正常
[oracle@mygirl zoneinfo]$ ll *14*bak
-rw-r--r--. 1 oracle oinstall 791430 Jul 16  2013 timezlrg_14.dat.bak




[oracle@mygirl zoneinfo]$ mkdir -p temp_dir
[oracle@mygirl zoneinfo]$ mv timezlrg_14.dat.bak temp_dir/
[oracle@mygirl zoneinfo]$


[oracle@mygirl zoneinfo]$ pwd
/oracle/product/11.2.0/db_1/oracore/zoneinfo
[oracle@mygirl zoneinfo]$ ll *14*
-rw-r--r--. 1 oracle oinstall 344448 Jul 16  2013 timezone_14.dat




[oracle@mygirl zoneinfo]$ sqlplus '/as sysdba'


SQL*Plus: Release 11.2.0.4.0 Production on Tue Jul 4 19:35:18 2017


Copyright (c) 1982, 2013, Oracle.  All rights reserved.




Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> select filename,version from v$timezone_file;


no rows selected


SQL> conn user_dead/system
Connected.
SQL> select * from t_timezone;


A
---------------------------------------------------------------------------
04-JUL-17 07.14.33.896489 PM


SQL> insert into t_timezone values(systimestamp);    


1 row created.


SQL> commit;


Commit complete.


SQL> select * from t_timezone;


A
---------------------------------------------------------------------------
04-JUL-17 07.14.33.896489 PM
04-JUL-17 07.37.41.144110 PM




SQL> conn /as sysdba
Connected.
SQL> select filename,version from v$timezone_file;


no rows selected


13,如果刪除了資料庫當前使用的時區檔案,關閉資料庫後且重啟資料庫會報錯ora-600
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.


Total System Global Area 2137886720 bytes
Fixed Size                  2254952 bytes
Variable Size            2080376728 bytes
Database Buffers           50331648 bytes
Redo Buffers                4923392 bytes
Database mounted.
ORA-00600: internal error code, arguments: [opiodr: call 2], [], [], [], [],
[], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [qcisSetPlsqlCtx:tzi init], [], [],
[], [], [], [], [], [], [], [], []




[oracle@mygirl zoneinfo]$ mv temp_dir/timezlrg_14.dat.bak  .
[oracle@mygirl zoneinfo]$ pwd
/oracle/product/11.2.0/db_1/oracore/zoneinfo
[oracle@mygirl zoneinfo]$ ll -l *bak
-rw-r--r--. 1 oracle oinstall 791430 Jul 16  2013 timezlrg_14.dat.bak




[oracle@mygirl zoneinfo]$ mv timezlrg_14.dat.bak timezlrg_14.dat
[oracle@mygirl zoneinfo]$ 


[oracle@mygirl zoneinfo]$ sqlplus '/as sysdba'


SQL*Plus: Release 11.2.0.4.0 Production on Tue Jul 4 19:44:29 2017


Copyright (c) 1982, 2013, Oracle.  All rights reserved.




Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> select open_mode from v$database;


OPEN_MODE
--------------------
READ WRITE


SQL> 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-2141599/,如需轉載,請註明出處,否則將追究法律責任。

相關文章