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

RMAN 核心命令大全:啟動關閉、SQL 執行、配置管理與備份維護

     編輯:關於SqlServer

資料庫啟動與關閉

RMAN 內建命令與 SQL*Plus 完全一致,支援完整生命週期控制:

RMAN> STARTUP MOUNT;
RMAN> ALTER DATABASE OPEN;
RMAN> SHUTDOWN IMMEDIATE;

適用於備份前置/後續操作(如一致性備份需 MOUNT 狀態)。

執行作業系統命令

RMAN> HOST;           -- 進入 OS Shell
$ ls -l /backup
$ exit              -- 返回 RMAN
RMAN> HOST 'ls -l'; -- 單條命令直跑

便於腳本中呼叫外部工具(壓縮、傳輸、通知)。

執行 SQL 語句

RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';

限制: 無法執行 SELECT(不返回結果集)。需查詢時請 HOST sqlplus ...。

配置管理

RMAN 持久配置儲存於控制檔/恢復目錄,跨會話生效:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

查看當前配置

SHOW ALL;           -- 全部
SHOW RETENTION POLICY;
SHOW DEVICE TYPE;
SHOW CHANNEL;

備份資訊查詢

LIST BACKUP OF DATABASE;
LIST COPY OF TABLESPACE SYSTEM;
LIST BACKUP OF DATAFILE '/u01/app/oracle/oradata/users01.dbf';
LIST BACKUP SUMMARY;

備份刪除與清理

命令用途
DELETE OBSOLETE;依保留策略刪除過期備份
DELETE EXPIRED BACKUP;刪除實體遺失(CROSSCHECK 標記 EXPIRED)的備份記錄
DELETE BACKUPSET 123;刪除指定備份集
DELETE BACKUPPIECE '/backup/xxx';刪除指定備份片段
DELETE ARCHIVELOG ALL DELETE INPUT;備份歸檔並刪除原始輸入

RUN 區塊進階用法

RUN {
    SET UNTIL TIME 'SYSDATE-1';       -- 時間點恢復
    SET NEWNAME FOR DATAFILE 1 TO '/new/path/system01.dbf'; -- 重定位
    ALLOCATE CHANNEL CH1 DEVICE TYPE DISK;
    ALLOCATE CHANNEL CH2 DEVICE TYPE DISK;
    RESTORE DATABASE;
    RECOVER DATABASE;
    ALTER DATABASE OPEN RESETLOGS;
}

關鍵特性: RUN 內命令為原子單元,任一失敗整體回滾;支援 SET 臨時覆蓋持久配置。

最佳實踐建議

  • 所有生產操作(備份/恢復/維護)均封裝於 .rman 腳本,納入版控
  • 使用 msglog 記錄完整輸出,配合監控系統告警失敗作業
  • 定期 CROSSCHECK + DELETE EXPIRED/OBSOLETE 保持目錄乾淨
  • 熟練掌握 LIST/REPORT 以滿足稽核與容量規劃需求
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved