10gocm->session3->數據備份與恢復
這個實驗考查我們當數據庫出現問題宕機、數據丟失的情況下怎樣挽回我們的損失,怎樣在最短時間內恢復我們的數據庫服務。
host | target庫 | catalog庫 |
ocm01 | ocmdb | |
ocm02 | ocmdb02 |
一 模擬Control File 丟失故障處理(實例)
我們模擬控制文件丟失故障並進行高速恢復
強行停止數據庫
select open_mode,log_mode from v$database;
1.shutdown abort
rm命令刪除控制文件
rm control01.ctl
startup 啟動數據庫時就會發現報錯信息
我們檢查alert日誌獲知控制文件丟失
shutdown immediate 停掉數據庫
2.使用完善的控制文件恢復丟失的控制文件
cp control02.ctl ../disk1/control01.ctl
重新啟動數據庫
startup
二 創建CATALOG庫保存RMAN備份信息
1.catalog庫統一管理RMAN備份信息即元數據信息,假設沒有catalog庫,就把RMAN備份信息寫入控制文件
2.目標數據庫必須註冊到catalog庫中才幹使用
官方文檔:Backup and Recovery Reference -> CREATE CATALOG和REGISTER
Backup and Recovery Advanced User’s Guide -> 10 Managing the Recovery Catalog -> Creating a Recovery Catalog
註:ocmdb是目標數據庫
ocmdb02是CATALOG數據庫
1.創建表空間 這個表空間存放catalog庫內容
sqlplus [email protected]
create tablespace catalog_tbs datafile ‘/u01/oracle/oradata/ocmdb02/catalog_tbs01.dbf‘ size 100m autoextend on;
2.創建catalog庫管理用戶catalog_admin默認表空間catalog_tbs
create user catalog_admin identified by catalog_admin default tablespace catalog_tbs;
3.將recovery_catalog角色授予給catalog_admin用戶才幹備份和恢復
註:有的同學會問,我直接授予DBA角色不就能夠了嗎。事實上DBA角色不是萬能的,它不包含上述角色因此我們須要單獨設置
select * from dba_roles where role like ‘%RECOVER%‘; 有沒有這個角色
select * from role_sys_privs where role=‘RECOVERY_CATALOG_OWNER‘; 這個角色包括哪些權限
grant connect,resource,recovery_catalog_owner to catalog_admin; 僅僅需這三個角色就可以
4.登錄RMAN創建CATALOG庫
rman catalog [email protected]