本文整理 Oracle 9i RMAN 常用備份/恢復操作步驟,旨在提供快速參考,促進同好交流學習。
sqlplus /nolog
SQL> CONN / AS SYSDBA
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
SQL> ALTER SYSTEM ARCHIVE LOG START;
rman target=rman/rman@mydb
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;
RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/backup1/backup_%U';
RMAN> CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/backup2/backup_%U';
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup1/ctl_%F';
RMAN> SHOW ALL; -- 檢視所有設定
RMAN> REPORT SCHEMA; -- 檢視資料庫結構報表
BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;BACKUP TABLESPACE SYSTEM PLUS ARCHIVELOG DELETE INPUT;BACKUP ARCHIVELOG ALL DELETE INPUT;COPY DATAFILE 1 TO '/oracle/dbs/system.copy';RMAN> LIST BACKUP;
RMAN> VALIDATE BACKUPSET 3;
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE SPFILE TO PFILE '/backup1/mydb.ora' FROM AUTOBACKUP;
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE CONTROLFILE TO '/backup1' FROM AUTOBACKUP;
# 1. 模擬資料檔遺失
MV /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak
MV /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak
...
# 2. RMAN 恢復
rman target=rman/rman@mydb
RMAN> STARTUP PFILE=/oracle/admin/mydb/pfile/initmydb.ora;
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN;
RMAN> SQL 'ALTER TABLESPACE USERS OFFLINE IMMEDIATE';
RMAN> EXIT
# OS 層重命名資料檔模擬損壞
MV /oracle/dbs/users01.dbf /oracle/dbs/users01.bak
rman target=rman/rman@mydb
RMAN> RESTORE TABLESPACE USERS;
RMAN> RECOVER TABLESPACE USERS;
RMAN> SQL 'ALTER TABLESPACE USERS ONLINE';
| 天數 | 備份層級 | 命令 |
|---|---|---|
| Day 1 | Level 0 (基礎) | BACKUP INCREMENTAL LEVEL=0 DATABASE PLUS ARCHIVELOG DELETE INPUT; |
| Day 2-3 | Level 2 (差異) | BACKUP INCREMENTAL LEVEL=2 DATABASE PLUS ARCHIVELOG DELETE INPUT; |
| Day 4 | Level 1 (累積) | BACKUP INCREMENTAL LEVEL=1 DATABASE PLUS ARCHIVELOG DELETE INPUT; |
| Day 5-6 | Level 2 (差異) | BACKUP INCREMENTAL LEVEL=2 DATABASE PLUS ARCHIVELOG DELETE INPUT; |
| Day 7 | Level 0 (新基礎) | BACKUP INCREMENTAL LEVEL=0 DATABASE PLUS ARCHIVELOG DELETE INPUT; |
恢復時同完整恢復流程:RESTORE DATABASE; RECOVER DATABASE; RMAN 會自動套用所需增量備份集。
熟練掌握 RMAN 配置、備份類型、驗證與分級恢復流程,是 DBA 確保資料可恢復性的核心技能。建議定期演練各類恢復場景,並善用 CONFIGURE 持久化設定簡化日常操作。