RMAN之客戶端互動(一)

老牛的田發表於2024-10-30

本文件是學習19c的backup and recovery文件的筆記。具體的詳細內容請參考官方文件。
https://docs.oracle.com/en/database

關於 RMAN 資料庫連線型別

資料庫連線型別 關鍵詞 描述
目標資料庫 TARGET 要透過 RMAN 備份或恢復的資料庫
恢復目錄資料庫 CATALOG 除控制檔案之外,還為 RMAN 儲存庫提供可選備份儲存的資料庫。
輔助例項或輔助資料庫 AUXILIARY 物理備用資料庫,或者為執行特定任務(例如建立重複資料庫、傳輸表空間或執行表空間時間點恢復 (TSPITR))而建立的資料庫例項。對於許多使用輔助資料庫的任務,RMAN 會建立一個自動輔助例項供任務期間使用,連線到該例項,執行任務,然後在任務完成後銷燬它。您無需發出任何顯式命令來連線到自動輔助例項。

資料庫連線的身份驗證

使用 RMAN 連線到目標或輔助資料庫的使用者需要SYSDBA或SYSBACKUP系統許可權。
連線到恢復目錄時不需要這些許可權。您必須將RECOVERY_CATALOG_OWNER角色授予目錄架構所有者。使用者還可以使用恢復目錄所有者建立的 VPC 憑證連線到恢復目錄。

RMAN 提供與 SQL*Plus 相同的身份驗證選項。使用目標資料庫和輔助資料庫進行身份驗證的最常見方式是:

  • 作業系統身份驗證
    使用作業系統身份驗證進行連線,需要先設定ORACLE_SID,您必須是 OSDBA 作業系統組的成員才能使用該SYSDBA許可權進行連線,或者必須是 OSBACKUPDBA 作業系統組的成員才能使用該SYSBACKUP許可權進行連線。
    在 UNIX 和 Linux 上,OSDBA 組通常名為dba,OSBACKUPDBA 組通常名為backupdba。這些名稱是在資料庫安裝期間分配的。

  • 密碼檔案認證
    SYSDBA當您向使用者授予或許可權時,資料庫會在密碼檔案中建立一個條目SYSBACKUP。然後,即使資料庫未開啟,您也可以以此使用者身份連線到目標資料庫或輔助資料庫。
    為了支援透過具有許可權的密碼檔案進行連線,必須以 Oracle Database 12 cSYSBACKUP Release 1 (12.1) 或更高版本的格式建立或升級密碼檔案。
    如果連線字串中既未指定AS SYSBACKUP也未AS SYSDBA指定,則預設使用AS SYSDBA。在這種情況下,不需要用引號引起來。

這兩種方法都不需要開啟資料庫。作業系統身份驗證僅用於本地連線。密碼檔案身份驗證可用於本地或遠端連線。

##顯式
% rman target '"sbu@prod1 as sysbackup"' 
target database Password: password
connected to target database: PROD1 (DBID=39525561)
##隱式
% rman target sbu@prod1
target database Password: password
connected to target database: PROD1 (DBID=39525561)
##non-cdb資料庫的隱式連線
RMAN> connect target /
##non-cdb資料庫的顯式連線,包含系統許可權時,需要使用引號(單引號或雙引號)。
RMAN> connect target "/ as sysdba"
##Connecting to Target and a Recovery Catalog
##目標連線使用作業系統身份驗證,恢復目錄資料庫連線使用網路服務名稱和密碼檔案身份驗證。恢復目錄所有者是使用者rco。
RMAN> connect target /
RMAN> connect catalog rco@catdb
recovery catalog database Password: password
connected to recovery catalog database
##NOCATALOG是預設的,不指定就用預設的。
% rman TARGET / NOCATALOG
connected to target database: PROD (DBID=39525561)
using target database control file instead of recovery catalog

建立與 CDB 和 PDB 的 RMAN 連線

對CDB備份要連線到根,要備份PDB,可以連線到根,也可以連線到PDB但是有限制。
從 Oracle Database 19c 開始,資料恢復顧問 (DRA) 功能已被棄用。LIST FAILURE, ADVISE FAILURE, REPAIR FAILURE, and CHANGE FAILURE.無法訪問這些命令。

  • 連線到根(Root)
    有三種方式:
##用具有SYSBDA許可權的使用者SYS再本地連線
rman target sys
##使用作業系統身份驗證進行連線
rman target /
##使用網路服務名連線到根
rman target c##bkuser@sales
##connect user:c##bkuser具有SYSBACKUP許可權
  • 作為目標連線到 PDB
    You want to perform RMAN operations on a PDB named hrpdb.
    The net service name hrpdb resolves to a database service for the hrpdb PDB.
    The local user hrbkup was created in the hrpdb PDB and granted the SYSDBA privilege.
rman target hrbkup@hrpdb

用指令碼連線RMAN

cat > listbkup.rman << EOF
CONNECT TARGET /
LIST BACKUP;
EOF
##得到執行指令碼
% rman @listbkup.rman
##執行

但是對於對該檔案有讀取許可權的使用者都可以得到密碼。不推薦。

將 RMAN 連線到輔助資料庫

某些任務(例如資料庫複製和表空間時間點恢復(TSPITR))需要連線到輔助資料庫。

% rman target / auxiliary sbu@aux
auxiliary database Password: password
connected to auxiliary database: AUX (DBID=30472568)

RMAN 的輸出重定向到日誌檔案

% rman LOG /tmp/rman.log在顯示終端就沒有顯示了,但日誌沒有命令,只有執行命令的結果。
% rman | tee rman.log這個命令可以同時在命令列和日誌檔案顯示結果。但日誌沒有命令,只有執行命令的結果。

為 RMAN 設定全球化支援環境變數

參看Database Globalization Support Guide
https://docs.oracle.com/en/database/oracle/oracle-database/19/nlspg/setting-up-globalization-support-environment.html#GUID-D5C74C82-8622-46F4-8760-0F8ABA28A816

相關文章