第四章(backup and recovery 筆記)

to_be_Dba發表於2013-02-20

第四章   啟動和與rman客戶端的互動

啟動的幾種方式:
% rman TARGET / # operating system authentication
% rman TARGET SYS@prod NOCATALOG # RMAN prompts for SYS password
% rman TARGET / CATALOG rco@catdb # RMAN prompts for rco password


將返回結果放入檔案:% rman LOG /tmp/rman.log
回顯的同時放入檔案:% rman | tee rman.log


如果在unmount狀態下啟動了rman,會自動為其設定預設字符集us7ascii,如果mount資料庫後,字符集不相容,就會報

錯。
可以提前設定nls_lang\nls_data_formate來避免。

 

執行rman命令可以直接執行或者通過指令碼來實現
指令碼實現有兩種型別:
% rman TARGET / @cmdfile1  登入、執行指令碼用同一條命令實現

RMAN> @cmdfile1  登入後再執行命令
執行完成後提示:
RMAN> **end-of-file**


指令碼執行時,可以通過形式引數佔位,呼叫時再賦值的方式執行。


rman語句的語法檢查:
如果只想檢查語法,而不實際執行,可以執行checksyntax命令。
如果語法不正確,會返回rman-00558錯誤。

[oracle@localhost trace]$ rman checksyntax  這樣根本沒有連線資料庫,不可能實際執行的

Recovery Manager: Release 11.2.0.1.0 - Production on Sun Jan 27 10:12:00 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

RMAN> run [backup database;]

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01006: error signaled during parse
RMAN-02001: unrecognized punctuation symbol "["

RMAN> run {backup database;}

The command has no syntax errors


檢查指令碼檔案的語法,可以使用:
rman CHECKSYNTAX @filename
如果檔案中包含引數需要確定,rman還會提示輸入引數。


使用rman可以連線目標資料庫(target關鍵字)、恢復目錄資料庫(catalog關鍵字)、auxiliary instance or

database(auxiliary關鍵字,即物理備庫或備份資料庫、報告資料庫、基於時間點的表空間恢復等)。


rman的登入認證:
rman連線資料庫的認證方式與sql*plus相似,不同點在於rman連線目標資料庫或輔助資料庫需要sysdba許可權,連線時隱

式說明。
而連線恢復目錄時不需要sysdba許可權,但需要recovery_catalog_owner角色。

如果要使用作業系統認證方式,可以首先宣告:
export oracle_sid=xxxxxx;


登入方式舉例:
% rman TARGET / NOCATALOG  作業系統認證方式登入,nocatalog指定在會話中不適用恢復目錄

% rman TARGET SYS@prod NOCATALOG  使用oracle net認證,需要按提示輸入密碼(prod換成例項名)

% rman TARGET SYS@prod CATALOG rco@catdb  使用catalog關鍵字指定用oracle net認證方式連線到目標資料庫和恢

複目錄。都需要密碼(prod換成例項名、catdb換成恢復目錄例項名、rco是恢復目錄使用者名稱)

不指定catalog、nocatalog時,預設是nocatolog模式。

連線輔助資料庫:
RMAN> CONNECT AUXILIARY SYS@aux  只是將target換為auxiliary就可以了


使用命令檔案連線rman資料庫:
檔案內容為:
cat > listbkup.rman << EOF
CONNECT TARGET /
LIST BACKUP;
EOF
執行命令% rman @listbkup.rman
結果為:
RMAN> CONNECT TARGET *
2> LIST BACKUP;
3>
connected to target database: RDBMS (DBID=771530996)
using target database control file instead of recovery catalog
List of Backup Sets
===================
…………


當連線發生問題時,可以藉助sql*plus命令驗證一下。


rman還提供了管道命令,用於使用dbms_pipe包獲得和傳送命令。
rman pipe abc target /
rman將會在目標資料庫開啟ORA$RMAN_ABC_IN、ORA$RMAN_ABC_OUT兩個管道,用於接收和傳送命令,型別都是varchar2.
如果管道未初始化,rman將其作為私有管道。如果想將命令放到管道中執行,需要首先呼叫dbms_pipe.create_pipe。

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

相關文章