使用 RMAN 將資料庫備份至物件儲存
本文將說明如何使用復原管理程式 (RMAN) 管理資料庫系統資料庫備份至您自己的物件儲存。
若要備份至服務,您需要為備份建立物件儲存的儲存桶、產生服務的密碼、安裝 Oracle Database Cloud Backup 模組,然後設定 RMAN 將備份傳送至服務。備份模組是與 RMAN 緊密整合之磁帶 (SBT) 介面的系統備份,因此您可以使用熟悉的 RMAN 命令來執行備份和復原作業。
您會注意到主控台和服務的端點 URL 中所提及的 Swift 。這是因為備份模組通常用來備份至 Oracle Database Backup Cloud Service,這是 OpenStack Swift 物件存放區。
提示:在資料庫系統上,您可以使用 DBCLI 備份至物件儲存。這是安裝備份模組及使用 RMAN 進行備份的替代方式。如需詳細資訊,請參閱 Objectstoreswift Commands 。
先決條件
您需要下列項目:
- 要備份的資料庫系統和資料庫。
-
資料庫系統的雲端網路 (VCN) 必須設定為存取物件儲存:
- 對於與資料庫系統位於相同區域的物件儲存存取:Oracle 建議使用服務閘道。
- 在與資料庫系統不同的區域存取物件儲存:使用網際網路閘道。請注意,資料庫系統與物件儲存之間的網路流量不會離開雲端,也不會到達公用網際網路。
如需詳細資訊,請參閱 VCN 和子網路。
-
將用作備份目的地的現有 Object Storage 貯體。您可以使用主控台或物件儲存 API 建立儲存桶。
如需更多資訊,請參閱管理儲存桶。
-
OCI 產生的認證權杖。您可以使用主控台或 IAM API 產生密碼。
如需詳細資訊,請參閱管理使用者證明資料中的使用認證權杖。
-
使用者名稱 (安裝及使用備份模組時指定) 必須具備物件儲存的租用戶層級存取權。若要這樣做,簡單的方法是將使用者名稱新增至「管理員」群組。不過,這允許存取所有雲端服務。管理員應改為建立類似以下的原則,限制只有物件儲存中必要資源的存取權,才能備份和回復資料庫:
Allow group <group_name> to manage objects in compartment <compartment_name> where target.bucket.name = '<bucket_name>' Allow group <group_name> to read buckets in compartment <compartment_name>
在資料庫系統上安裝備份模組
-
將 SSH 連線至資料庫系統。
ssh -i <SSH_key_used_when_launching_the_DB_system> opc@<DB_system_IP_address_or_hostname> -
以
opc使用者身分登入。login as: opc -
sudo--oracle使用者。sudo su - oracle -
將備份模組
opc_install.jar檔案變更為包含目錄。cd /opt/oracle/oak/pkgrepos/oss/odbcs -
請使用下列命令語法來安裝備份模組。
java -jar opc_install.jar -opcId <user_id> -opcPass '<auth_token>' -container <bucket_name> -walletDir ~/hsbtwallet/ -libDir ~/lib/ -configfile ~/config -host https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>參數包括:
參數 說明 -opcIdOracle Cloud Infrastructure 使用者帳戶的使用者名稱,例如: -opcId <username>@<example>.com。
這是您用來登入主控台的使用者名稱。
使用者名稱必須是 Administrators 群組的成員,如先決條件小節中所述。
您也可以使用單引號來指定使用者名稱。如果名稱包含特殊字元,則可能需要這麼做,例如:-opcId 'j~smith@<example>.com'
請務必使用直線單引號,而不是斜線的單引號。-opcPass使用主控台或 IAM API 產生的認證權杖 (單引號),例如: -opcPass <password>
請務必使用直接單引號,不要使用斜線單引號。
如需詳細資訊,請參閱管理使用者證明資料。
這不是 Oracle Cloud Infrastructure 使用者的密碼。-container物件儲存中作為備份目的地的現有儲存桶名稱,例如: -container DBBackups-walletDir安裝工具將建立 Oracle Wallet 的目錄,其中包含 Oracle Cloud Infrastructure 使用者名稱和認證權杖。 -walletDir ~/hsbtwallet會在目前的使用者 (oracle) 本位目錄中建立公事包。-libDir儲存 SBT 程式庫的目錄。執行指令前,該目錄必須已存在。此參數會下載最新的 SBT 程式庫。 -libDir ~/lib/會將libopc.so檔案下載至目前使用者的主目錄,例如/home/oracle/lib/libopc.so。-configfile將由安裝工具建立的初始化參數檔名稱。您的 RMAN 工作將會參照此檔案。 -configfile ~/config會在目前使用者的本位目錄中建立該檔案,例如/home/oracle/config。-host要傳送備份的端點 URL: https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
其中object_storage_namespace是您租用戶的物件儲存命名空間。如需詳細資訊,請參閱瞭解物件儲存命名空間。
請勿在「物件儲存」命名空間之後新增斜線。
若要查詢區域名稱,請參閱區域與可用性網域。
設定 RMAN
本主題描述如何設定 RMAN 使用儲存桶作為預設備份目的地。以下假設您仍已登入資料庫系統。
-
在資料庫系統上,使用
oraenv公用程式設定ORACLE_HOME和ORACLE_SID環境變數。. oraenv -
使用 RMAN 連線至資料庫。
rman target / -
設定 RMAN 使用 SBT 裝置並指向安裝備份模組時所建立的
config檔案。此處顯示版本 12 資料庫的命令範例。CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)'; -
依照預設,將 RMAN 設定為使用 SBT_TAPE。下列範例啟用 SBT_TAPE 的控制檔與 spfile 自動備份,並設定加密。您安裝的其他設定值包括壓縮、使用的備份與復原通道數目、備份保留原則、存檔日誌刪除原則等等。如需有關選擇適當設定值的詳細資訊,請參閱您 Oracle 版本的 Oracle Backup and Recovery 文件。
CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE; CONFIGURE BACKUP OPTIMIZATION ON; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; CONFIGURE ENCRYPTION FOR DATABASE ON;
注意:備份必須加密。執行備份時,請指定加密。備份若未加密,將會發生錯誤。
RMAN 組態完成後,您可以使用定期用於磁帶備份的相同 RMAN 命令。
備份 Database
本主題提供常用備份命令的範例。
-
設定資料庫加密:
SET ENCRYPTION IDENTIFIED BY "password" ONLY;請注意,此設定不是永久的;您必須為每個新的 RMAN 階段作業設定它。
-
備份資料庫和存檔日誌。下面是一些範例指令。如需有關選擇符合您需求之備份程序的詳細資訊,請參閱您 Oracle 版本的 Oracle Backup and Recovery 文件。請務必定期備份以盡可能減少潛在的資料遺失,並且一律包含 spfile 和控制檔的複本。請注意,下面的範例使用多區段增量備份,這是 12c 導入的功能。使用 11g 時,請省略
section size子句。BACKUP INCREMENTAL LEVEL 0 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;BACKUP INCREMENTAL LEVEL 1 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SECTION SIZE 512M DATABASE PLUS ARCHIVELOG; -
經常備份存檔日誌以將潛在的資料遺失減至最低,並保留多個備份複本以防萬一。
BACKUP ARCHIVELOG ALL NOT BACKED UP 2 TIMES;
備份工作完成後,您可以選取物件儲存,在儲存頁面的主控台中顯示您儲存桶中的備份檔案。