完整的oraclerman備份恢復的例子(轉)
完整的oraclerman備份恢復的例子(轉)[@more@] 1、 建rman庫作為repository $more createrman_db1.sh set echo on spool makedb1.log create database rman datafile '/export/home/oracle/oradata/rman_data/system.dbf' size 50m autoextend on next 640K logfile '/export/home/oracle/oradata/rman_data/redo0101.log' SIZE 10M, '/export/home/oracle/oradata/rman_data/redo0201.log' SIZE 10M maxdatafiles 30 maxinstances 8 maxlogfiles 64 character set US7ASCII national character set US7ASCII ; disconnect spool off exit @/export/home/oracle/8.1.6/rdbms/admin/catalog.sql; REM ********** ALTER SYSTEM TABLESPACE ********* ALTER TABLESPACE SYSTEM DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCR EASE 50); ALTER TABLESPACE SYSTEM MINIMUM EXTENT 64K; REM ********** TABLESPACE FOR ROLLBACK ********** CREATE TABLESPACE RBS DATAFILE '/export/home/oracle/oradata/rman_data/rbs.dbf' s ize 50m AUTOEXTEND ON NEXT 512K MINIMUM EXTENT 512K DEFAULT STORAGE ( INITIAL 512K NEXT 512K MINEXTENTS 10 MAXEXTENTS UNLIMITED PC TINCREASE 0 ); REM ********** TABLESPACE FOR TEMPORARY ********** CREATE TABLESPACE TEMP DATAFILE '/export/home/oracle/oradata/rman_data/temp.dbf' size 50m AUTOEXTEND ON NEXT 64K MINIMUM EXTENT 64K DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCR EASE 0) TEMPORARY; REM **** Creating four rollback segments **************** CREATE PUBLIC ROLLBACK SEGMENT RBS_0 TABLESPACE RBS STORAGE ( OPTIMAL 64000K ); ALTER ROLLBACK SEGMENT "RBS_0" ONLINE; REM **** SYS and SYSTEM users **************** alter user sys temporary tablespace TEMP; alter user system temporary tablespace TEMP; disconnect spool off exit $more createrman_db3.sh spool crdb3.log @/export/home/oracle/8.1.6/rdbms/admin/catproc.sql @/export/home/oracle/8.1.6/rdbms/admin/caths.sql @/export/home/oracle/8.1.6/rdbms/admin/otrcsvr.sql connect system/manager @/export/home/oracle/8.1.6/sqlplus/admin/pupbld.sql disconnect spool off exit 2、建repository存放的表空間和rman使用者 $more createrman_db4.sh connect internal create tablespace rman_ts datafile '/export/home/oracle/oradata/rman_data/rman_ts.dbf' size 20M default storage (initial 100K next 100K pctincrease 0); create user rman_hainan identified by rman_hainan temporary tablespace TEMP default tablespace rman_ts quota unlimited on rman_ts; grant recovery_catalog_owner to rman_hainan; grant connect ,resource to rman_hainan; 3、建catalog,註冊目標資料庫 $more createrman_db5.sh rman catalog rman_hainan/rman_hainan@rman msglog=rman.log create catalog ; exit; rman target sys/oracle@db1 connect catalog rman_hainan/rman_hainan@rman register database; exit; 4、可以開始做備份了。 5、做全備 $more rmanshell . /export/home/oracle/.profile rman rcvcat rman_hainan/rman_hainan@rman target / cmdfile /export/home/oracle/ba ckup_level0.rcv log /export/home/oracle/backup.log $more backup_level0.rcv resync catalog; run { allocate channel t1 type disk; backup incremental level 0 skip inaccessible tag hot_db_bk_level0 filesperset 3 format '/export/home/oracle/bk_%s_%p_%t.bk' (database); sql 'alter system archive log current'; backup filesperset 10 format '/export/home/oracle/a1_%s_%p_%t.ac' (archivelog all delete input); backup format '/export/home/oracle/df_t%t_s%s_p%p.ct' current controlfile ; } 6、做增備 $more rmanshell1 rman rcvcat rman_hainan/rman_hainan@rman target / cmdfile backup_level1.rcv log backup.log $more backup_level1.rcv resync catalog; run { allocate channel t1 type disk; backup incremental level 1 skip inaccessible tag hot_db_bk_level1 filesperset 3 format 'bk_%s_%p_%t.bk1' (database); sql 'alter system archive log current'; backup filesperset 10 format 'a1_%s_%p_%t.ac1' (archivelog all delete input); backup current controlfile; } 1、 刪除舊的全備 $rman rcvcat rman_hainan/rman_hainan@rman target / Recovery Manager: Release 8.1.6.0.0 - Production RMAN-06005: connected to target database: TEST (DBID=1692992254) RMAN-06008: connected to recovery catalog database RMAN> list backupset; RMAN-03022: compiling command: list List of Backup Sets Key Recid Stamp LV Set Stamp Set Count Completion Time ------- ---------- ---------- -- ---------- ---------- ---------------------- 38 145 399987408 0 399987406 153 11-JUN-00 根據key來刪除舊的備份。 RMAN> allocate channel for maintenance type disk; RMAN> change backupset 169 delete; ----------THIS IS THE COMMAND TO REMOVE THE ENTRY & OS FILE 做完後可以看到list backupset和作業系統的檔案都沒有了。 2、 恢復 (1) 將資料庫啟動到nomount狀態: $svrmgrl Oracle Server Manager Release 3.1.6.0.0 - Production Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved. Oracle8i Enterprise Edition Release 8.1.6.0.0 - 64bit Production With the Partitioning option JServer Release 8.1.6.0.0 - Production SVRMGR> connect internal Connected. SVRMGR> startup nomount; ORACLE instance started. Total System Global Area 339275684 bytes Fixed Size 94116 bytes Variable Size 318685184 bytes Database Buffers 16384000 bytes Redo Buffers 4112384 bytes SVRMGR> exit Server Manager complete. (2) 恢復控制檔案: $rman rcvcat rman_hainan/rman_hainan@rman target / Recovery Manager: Release 8.1.6.0.0 - Production RMAN-06006: connected to target database: test (not mounted) RMAN-06008: connected to recovery catalog database RMAN> run { 2> allocate channel d1 type disk; 3> restore controlfile; 4> release channel d1; 5> } (3) 恢復資料檔案 RMAN> run { 2> allocate channel d1 type disk; 3> sql "alter database mount"; 4> restore datafile 1; 5> restore datafile 2; 6> restore datafile 3; 7> restore datafile 4; 8> release channel d1; 9> } (4) 恢復日誌檔案 RMAN> run { 2> set archivelog destination to '/export/home/oracle/admin/test/arch'; 3> allocate channel d1 type disk; 4> restore archivelog all; 5> release channel d1; 6> } 會把所有的日誌檔案恢復。 (5) 根據日誌做recover $svrmgrl Oracle Server Manager Release 3.1.6.0.0 - Production Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved. Oracle8i Enterprise Edition Release 8.1.6.0.0 - 64bit Production With the Partitioning option JServer Release 8.1.6.0.0 - Production SVRMGR> connect internal Connected. SVRMGR> recover database using backup controlfile until cancel; ORA-00279: change 51054 generated at 06/11/2000 11:38:37 needed for thread 1 ORA-00289: suggestion : /export/home/oracle/admin/test
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-956975/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle rman備份恢復的例子Oracle
- 備份與恢復--利用備份的控制檔案恢復
- ORACLE備份&恢復案例(轉)Oracle
- Oracle備份與恢復(轉)Oracle
- 玩轉裸裝置的備份恢復
- 備份與恢復系列 十一 控制檔案的備份與恢復
- 【備份恢復】從備份恢復資料庫資料庫
- 【管理篇備份恢復】備份恢復基礎
- Oracle備份恢復之熱備份恢復及異機恢復Oracle
- Mysql的備份與恢復MySql
- 揭密備份恢復的原理
- Oracle資料庫的備份與恢復(轉)Oracle資料庫
- 【轉載】SCN 備份與恢復的關係
- Oracle 資料庫的備份與恢復(轉)Oracle資料庫
- ORACLE備份&恢復案例三(轉)Oracle
- ORACLE備份&恢復案例二(轉)Oracle
- 備份&恢復之四:非歸檔模式下的備份與恢復模式
- Oracle資料庫的熱備份與完整恢復測試 (2)Oracle資料庫
- Oracle資料庫的熱備份與完整恢復測試 (1)Oracle資料庫
- 三種OracleRMAN備份加密策略(上)Oracle加密
- 備份與恢復系列 十 引數檔案spfile的備份與恢復
- 備份與恢復--從備份的歸檔日誌中恢復資料
- Backup And Recovery User's Guide-備份和恢復概覽-備份和恢復介紹-備份和恢復的目的GUIIDE
- RMAN備份恢復——備份到帶庫的效能
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- Windows故障轉移群集(WSFC)的備份和恢復Windows
- 【轉】 RMAN備份與恢復實踐
- Oracle備份與恢復總結[轉]Oracle
- mysql簇備份與恢復(轉載)MySql
- redis備份和恢復的方式Redis
- NBU之oracle的備份恢復Oracle
- Oracle OCR的備份與恢復Oracle
- 備份恢復原理的實踐
- oracle備份恢復的大致原理!Oracle
- Mysql備份恢復MySql
- Postgresql 備份恢復SQL
- redis備份恢復Redis
- mysql 備份恢復MySql