RMAN環境變數的設定

yangtingkun發表於2007-07-09

RMAN和SQLPLUS一樣,都可以獲取在作業系統上定義的環境變數。


RMAN而言,最常用的環境變數莫過於ORACLE_SID和ORACLE_HOME了。除了這兩個變數,還經常需要設定NLS_LANG和NLS_DATE_FORMAT變數。

NLS_LANG用語設定語言和字符集資訊。

NLS_DATE_FORMAT則設定RMAN輸入、輸出日期型別的變數時,使用的預設格式。

比如,查詢一個備份的開始時間:

RMAN> list backupset 23;


備份集列表
===================

BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
23 Full 1M DISK 00:00:01 08-7月 -07
BP 關鍵字: 22 狀態: AVAILABLE 標記:
段名:F:ORACLEBACKUPC-974710760-20070708-00
控制檔案包括: Ckp SCN: 58880369 Ckp 時間:08-7月 -07

預設情況下NLS_DATE_FORMAT的設定是DD-MON-YYYY,但是有的時候需要看到具體的時間點,或者在進行不完全恢復的時候,要恢復到具體的某個時間點,這個時候就需要設定一個包含時間的日期格式。

對於UNIX和LINUX環境,直接設定NLS_DATE_FORMAT=’YYYY-MM-DD HH24:MI:SS’即可:

bash-2.03$ export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
bash-2.03$ rman target /

恢復管理器: Release 10.2.0.3.0 - Production on 星期二 7月 10 00:11:01 2007

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

連線到目標資料庫: TESTRAC (DBID=4291216984)

RMAN> list backupset 722;

使用目標資料庫控制檔案替代恢復目錄

備份集列表
===================

BS 關鍵字 大小 裝置型別佔用時間 完成時間
------- ---------- ----------- ------------ -------------------
722 12.05M DISK 00:00:01 2007-06-27 10:00:42
BP 關鍵字: 932 狀態: AVAILABLE 已壓縮: NO 標記: TAG20070627T100026段名:+DISK/testrac/backupset/2007_06_27/annnf0_tag20070627t100026_0.377.626349643

備份集 722 中的已存檔日誌列表
Thrd Seq 低 SCN 時間下限 下一個 SCN 下一次
---- ------- ---------- ------------------- ---------- ---------
2 281 5216784957 2007-06-25 20:21:55 5216910352 2007-06-26 17:54:27

而對於WINDOWS環境,如果也向上面的方式進行測試,會導致錯誤:

F:>SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'

F:>rman target /@test1

恢復管理器: 版本9.2.0.4.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database:
ORA-00604: 遞迴 SQL 層 1 出現錯誤
ORA-02248: 無效的 ALTER SESSION 選項

如果根據METALINK上相應文件中的描述,改為雙引號,雖然不會出現錯誤,但是並沒有按照要求進行時間格式的轉換:

F:>SET NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

F:>rman target /@test1

恢復管理器: 版本9.2.0.4.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

連線到目標資料庫: TEST1 (DBID=974710760)

RMAN> list backupset 23;

正在使用目標資料庫控制檔案替代恢復目錄

備份集列表
===================

BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ---------------------
23 Full 1M DISK 00:00:01 YYYY-MM-DD HH24:MI:SS
BP 關鍵字: 22 狀態: AVAILABLE 標記:
段名:F:ORACLEBACKUPC-974710760-20070708-00
控制檔案包括: Ckp SCN: 58880369 Ckp 時間:YYYY-MM-DD HH24:MI:SS

正確的引數設定方法居然是不見任何的引號:

F:>SET NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS

F:>rman target /@test1

恢復管理器: 版本9.2.0.4.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

連線到目標資料庫: TEST1 (DBID=974710760)

RMAN> list backupset 23;

正在使用目標資料庫控制檔案替代恢復目錄

備份集列表
===================

BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ -------------------
23 Full 1M DISK 00:00:01 2007-07-08 23:57:48
BP 關鍵字: 22 狀態: AVAILABLE 標記:
段名:F:ORACLEBACKUPC-974710760-20070708-00
控制檔案包括: Ckp SCN: 58880369 Ckp 時間:2007-07-08 23:57:47

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

相關文章