首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 9i RMAN 備份與恢復操作手冊:從基礎配置到增量恢復實戰

     編輯:Oracle 資料庫基礎

前言

本文整理 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 連線與基礎配置

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;

從自動備份恢復 SPFILE 與控制檔

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 1Level 0 (基礎)BACKUP INCREMENTAL LEVEL=0 DATABASE PLUS ARCHIVELOG DELETE INPUT;
Day 2-3Level 2 (差異)BACKUP INCREMENTAL LEVEL=2 DATABASE PLUS ARCHIVELOG DELETE INPUT;
Day 4Level 1 (累積)BACKUP INCREMENTAL LEVEL=1 DATABASE PLUS ARCHIVELOG DELETE INPUT;
Day 5-6Level 2 (差異)BACKUP INCREMENTAL LEVEL=2 DATABASE PLUS ARCHIVELOG DELETE INPUT;
Day 7Level 0 (新基礎)BACKUP INCREMENTAL LEVEL=0 DATABASE PLUS ARCHIVELOG DELETE INPUT;

恢復時同完整恢復流程:RESTORE DATABASE; RECOVER DATABASE; RMAN 會自動套用所需增量備份集。

總結

熟練掌握 RMAN 配置、備份類型、驗證與分級恢復流程,是 DBA 確保資料可恢復性的核心技能。建議定期演練各類恢復場景,並善用 CONFIGURE 持久化設定簡化日常操作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved