RMAN 數據庫備份 特色: 1、 跳過未使用的數據塊 2、 備份壓縮 3、 執行增量備份 4、 塊級別的恢復 組件: 1、 RMAN命令執行器(RMAN Executable) 2、 目標數據庫(Traget Database) 3、 RMAN恢復目錄 (RMAN Recover Catelog) 4、 RMAN資料檔案庫(RMAN Respository) 5、 恢復目錄數據庫庫 (Recover Catelog Database) 建立恢復目錄 --使用dba登錄 Sqlplus sys/change_on_install AS SYSDBA; --查看數據庫模式 ARCHIVE LOG LIST; --建立一個表空間 CREATE TABLESPACE recovery_tbs DATAFILE ‘E:\recovery_tbs.dbf’ SIZE 10M AUTOEXTEND ON NEXT 5M MAXSIZE 100M; --建立一個用戶 CREATE USER rman_admin IDENTIFIED BY admin123 DEFAULT TABLESPACE recovery_tbs; --爲用戶建立權限 GTANT CONNECT, RESOURCE, RECOVERY_CATALOG_OWNER TO rman_admin; --建立恢復目錄 --新建一個cmd窗口 RMAN CONNECT CATALOG rman_admin/admin123 --建立rman恢復目錄 CREATE CATALOG --鏈接目標數據庫:是指創建RMAN和目標數據庫之間的鏈接。 --無恢復目錄 --使用RMAN TARGET語句 --使用RMAN NOCATALOG語句 --使用RMAN TARGET … NOCATALOG語句 --有恢復目錄 --使用RMAN TARGET … CATALOG … --取消目標數據庫的註冊 --使用 UNREGISTER 命令 --使用存儲過程 --鏈接到數據庫 RMAN TARGET system/manager CATALOG rman_admin/admin123 --註冊數據庫 REGISTER DATABASE; --執行命令,進行目錄同步 RESYNC CATALOG --若是須要取消註冊 --方法一:使用存儲過程 --從新打開一個命令窗口,使用system用戶登陸 Sqlplus system/manager CONN rman_admin/admin123; --ID: 爲目標數據庫的dbid,可從rman命令行當中查找 SELECT * FROM DB WHERE DB_ID = DBID; Exec DBMS_RCVCAT.UNREGISTERDATABASE(1,DBID) --方法二:使用UNREGISTER DABADASE UNREGISTER DATABASE; --RMAN命令 --@ --STARTUP:啓動數據庫 --RUN: --SET:爲rman會話過程設置配置信息 --SHOW:顯示全部的或者單個rman配置 --SHUTDOWN:關閉目標數據庫 --SQL: --ADVISE FAILURE: --BACKUP: --CATALOG: --DELETE:刪除備份文件或者副本 --FLASHBACK:執行閃回數據庫操做 --LIST:顯示在目標數據庫控制文件或存儲庫中記錄的有關備份集和映像副本的信息 --RECOVER:對數據文件、表空間或者整個數據庫執行恢復 --REGISTER DATABASE:在RMAN存儲庫中註冊目標數據庫 --REPORT:對RMAN存儲庫進行詳盡的分析 --RESTORE:一般在存儲介質失效後,將文件從映像副本或者備份集恢復到磁盤上 --TRANSPORT TABLESPACE:爲一個或者多個表空間的備份建立可一直的表空間集 --VALIDATE:檢查備份集並報告她的數據是否發生變化。 --與RMAN數據字典: --Rc_* --V$rman_status: --V$rman_output: --V$session_lognops: --V$database_block_corruption: --V$recovery_file_dest: --V$rman_configuration:數據庫採用的非默認值的RMAN配置參數 --RMAN操做目標數據庫 --啓動數據庫 --STARTUP:以正常方式啓動數據庫實例,加載數據庫文件,而且打開數據庫 --STARTUP FORCE:使用強制方式打開時數據庫 --STARTUP MOUNT:表示啓動數據庫實例,並且加載數據庫文件,可是不打開數據庫,主要在切換數據庫運行模式或者進行恢復時使用。 --STARTUP NOMOUNT:只啓動數據庫實例,不加載數據庫文件,不打開數據庫。 --關於數據庫 --SHUTDOWN NORMAL:正常關於數據庫,在使用這種方式中,數據庫須要等待全部客戶端從Oracle中正常退出,而後才能關閉。 --SHUTDOWN IMMEDIATE:當即關閉數據庫,使用這種方式,系統將接連到服務器的全部未提交的事務所有回退,並中斷鏈接,而後關閉數據庫。 --SHUTDOWN ABORT:異常關閉數據庫,使用這種方式,系統李傑將數據庫關於,對鏈接到服務器的客戶事務不作任何處理。 --SHUTDOWN TRANSACTIONAL:計劃關閉數據庫,運行該命令後,任何新的鏈接和事務都是不容許的。在已經執行的全部事務完成後,數據庫將和SHUTDOWN IMMEDIATE一樣的方式關閉數據庫。 --修改數據庫的日誌模式 --使用dba帳戶登陸數據庫 CONNECT sys/change_on_install AS SYSDBA; --查看系統日誌模式 ARCHIVE LOG LIST --使用shutdown命令關閉數據庫 SHUTDOWN --使用startup mount 啓動數據庫,不打開數據庫 STARTUP MOUNT --修改數據庫存檔模式 ALTER DATABASE NOARCHIVELOG; --開啓數據庫 ALTER DATABASE OPEN; --RMANBACKUP命令 --BACKUP[FULL|INCREMENTAL LEVEL[=]N](backup_type option) --FULL:表示徹底備份 --INCREMENTAL 表示增量備份 --LEVELS:是增量備份的級別,取值爲0-4(表示0、一、二、三、4級增量),0級增量備份至關於徹底備份 --LEVEL[=]n中的等號無關緊要,LEVEL=0或者LEVEL 0都是正確的。 --Backup_type是備份對象: --DATABASE:表示備份所有數據庫,包含全部數據文件和控制文件 --TABLESPACE:備份表空間, --DATAFILE:備份數據文件 --ARCHIVELOG[ALL]:表示備份歸檔日誌文件 --CURRENT CONTROLFILE:備份控制文件 --DATAFAILECOPY[TAG]:使用COPY命令備份數據文件 --CONTROLFILECOPY:使用COPY命令備份的控制文件 --BACKUPSET[ALL]:使用BACKUP命令備份全部文件 --Option --TAG:制定一個標記 --FORMAT:表示文件存儲格式 --INCLUDE CURRENT CONTROLFILE:表示備份控制文件 --FILESPERSET:表示備份集所包含的文件 --CHANNEL:制定備份通道 --DELETE[ALL]INPUT:備份結束後刪除歸檔日誌 --MAXSETSIZE:制定備份集的最大尺寸 --SKIP[OFFLINE|READONLY|INACCESSIBLE]:能夠選擇的備份條件 --RMAN備份 --徹底備份 RUN{ #BACKUP THE COMPLETE DATABASE ALLOCATE CHANNEL CH TYEP DISK; BACKUP FULL TAG full_db_backup FORMAT 「E:\DB_t%t_s%s_p%p」 (database) RELEASE CHANNEL CH; } --在執行list命令,查看創建的備份集與備份段信息 LIST BACKUP OF DATABASE; --備份表空間 RUN{ ALLOCATE CHANNEL CH TYPE DISK; BACKUP TAG tbs_users_read_only FORMAT 「E:\ tbs_users_t%t_s%s」 (TABLESPACE users) RELEASE CHANNEL CH; } --在執行list命令,查看創建的備份集與備份段信息 LIST BACKUP OF TABLESPACE ‘USERS’;