在部署完active data guard後,不但可以將唯讀查詢交給備庫執行,還可以把日常的Database Backup工作放在備庫上執行,從而減輕主庫的壓力,充分的發揮伺服器資源,下面示範下利用備庫備份來還原主庫資料的過程!
一:主庫上建立資料表空間,並在資料表空間上建表,插入測試資料,同時檢查備庫的同步情況
- SQL> create tablespace test01 datafile '/u01/app/Oracle/oradata/db1/test01.dbf' size 10M;
Tablespace created.
- SQL> create table rman tablespace test01 as select object_id,object_name from dba_objects;
- Table created.
-
- SQL> select count(*) from rman;
-
- COUNT(*)
- ----------
- 76379
-
- [oracle@db2 db1]$ sqlplus /nolog
- SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 29 11:37:38 2012
- Copyright (c) 1982, 2011, Oracle. All rights reserved.
-
- SQL> conn /as sysdba
- Connected.
- SQL> select count(*) from rman;
-
- COUNT(*)
- ----------
- 76379
二:在備庫上使用rman對建立的資料表空間test01進行備份
- [oracle@db2 db1]$ rman target /
- Recovery Manager: Release 11.2.0.3.0 - Production on Mon Oct 29 11:38:01 2012
- Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
- connected to target database: DB1 (DBID=1387827106)
-
- RMAN> report schema;
-
- RMAN> backup tablespace test01 format '/home/oracle/test01_%U';
-
- Starting backup at 2012-10-29-11:38:50
- allocated channel: ORA_DISK_1
- channel ORA_DISK_1: SID=1 device type=DISK
- channel ORA_DISK_1: starting full datafile backup set
- channel ORA_DISK_1: specifying datafile(s) in backup set
- input datafile file number=00034 name=/u01/app/oracle/oradata/db1/test01.dbf
- channel ORA_DISK_1: starting piece 1 at 2012-10-29-11:38:51
- channel ORA_DISK_1: finished piece 1 at 2012-10-29-11:38:52
- piece handle=/home/oracle/test01_03novc2b_1_1 tag=TAG20121029T113851 comment=NONE
- channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
- Finished backup at 2012-10-29-11:38:52
三:關閉主庫後刪除資料表空間資料檔案,類比資料丟失情境
- [oracle@db1 ~]$ sqlplus /nolog
- SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 29 11:39:49 2012
- Copyright (c) 1982, 2011, Oracle. All rights reserved.
-
- SQL> conn /as sysdba
- Connected.
- SQL> shutdown immediate
- Database closed.
- Database dismounted.
- ORACLE instance shut down.
- SQL> exit
-
- [oracle@db1 ~]$ rm -rf /u01/app/oracle/oradata/db1/test01.dbf
四:重新啟動主庫,只能啟動到mount狀態
- [oracle@db1 ~]$ sqlplus /nolog
- SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 29 11:41:42 2012
- Copyright (c) 1982, 2011, Oracle. All rights reserved.
- SQL> conn /as sysdba
- Connected to an idle instance.
- SQL> startup
- ORACLE instance started.
-
- Total System Global Area 1536602112 bytes
- Fixed Size 2228624 bytes
- Variable Size 1174408816 bytes
- Database Buffers 352321536 bytes
- Redo Buffers 7643136 bytes
- Database mounted.
- ORA-01157: cannot identify/lock data file 34 - see DBWR trace file
- ORA-01110: data file 34: '/u01/app/oracle/oradata/db1/test01.dbf'
-
- SQL> select open_mode,database_role from v$database;
-
- OPEN_MODE DATABASE_ROLE
- -------------------- ----------------
- MOUNTED PRIMARY