玩轉恢復目錄資料庫(一)

anycall2010發表於2008-09-04

關於oracle的恢復目錄的概念和規劃,以後再逐步總結。如何建立資料庫的恢復目錄?應該分為兩種情況,一種是資料庫同時目標資料庫,又是目錄資料庫;另一種是目標資料庫和目錄資料庫分離。

《一》目標和目錄資料庫為同一臺資料庫的建立思路:

1.在資料庫中建立一個表空間和使用者:

SQL> create tablespace rman datafile '/opt/test/rman.dbf' size 50M;

表空間已建立。


SQL> create user rman identified by rman temporary tablespace temp default table
space rman quota unlimited on rman;

使用者已建立。

2.給使用者授權,我害怕許可權不夠,給RMAN又多賦DBA許可權:

SQL> grant dba to rman;

授權成功。

SQL> grant RECOVERY_CATALOG_OWNER to rman;

授權成功。

3.建立恢復目錄:

D:\>rman target sys/oracle@orcl

恢復管理器: Release 10.2.0.1.0 - Production on 星期四 9月 4 05:40:19 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

連線到目標資料庫: ORCL (DBID=1191850099)

RMAN> connect catalog rman/rman@orcl

連線到恢復目錄資料庫

RMAN> create catalog;

恢復目錄已建立

4.將資料庫重新啟動。

5.啟動目標資料庫:

C:\Documents and Settings\Administrator>rman target sys/oracle@orcl

恢復管理器: Release 10.2.0.1.0 - Production on 星期四 9月 4 06:36:30 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

連線到目標資料庫: ORCL (DBID=1191850099)

RMAN> startup mount;

資料庫已經啟動

6.啟動恢復目錄資料庫,並將目錄資料庫和目標資料庫同步:

D:\>rman catalog rman/rman@orcl

恢復管理器: Release 10.2.0.1.0 - Production on 星期四 9月 4 06:37:03 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

連線到恢復目錄資料庫

RMAN> register database ;

註冊在恢復目錄中的資料庫
正在啟動全部恢復目錄的 resync
完成全部 resync

7.察看結果

RMAN> report schema;

資料庫方案報表

永久資料檔案列表
===========================
檔案大小 (MB) 表空間           回退段資料檔名稱
---- -------- -------------------- ------- ------------------------
1    490      SYSTEM               YES     /opt/app/oracle/oradata/orcl/system01
.dbf
2    80       UNDOTBS1             YES     /opt/app/oracle/oradata/orcl/undotbs0
1.dbf
3    250      SYSAUX               NO      /opt/app/oracle/oradata/orcl/sysaux01
.dbf
4    5        USERS                NO      /opt/app/oracle/oradata/orcl/users01.
dbf
5    100      EXAMPLE              NO      /opt/app/oracle/oradata/orcl/example0
1.dbf
6    500      PHOTO_INFO           NO      /opt/test/PHOTO_INFO.dbf
7    300      XCKY_INFO            NO      /opt/test/XCKY_INFO.dbf
8    100      BUNCH_INFO           NO      /opt/test/BUNCH_INFO.dbf
9    300      TRANSFER_INFO        NO      /opt/test/TRANSFER_INFO.dbf
10   200      OTHER_INFO           NO      /opt/test/OTHER_INFO.dbf
11   100      BULLETIN_INFO        NO      /opt/test/BULLETIN_INFO.dbf
12   100      SYSTEM_INFO          NO      /opt/test/SYSTEM_INFO.dbf
13   100      TEST                 NO      /opt/app/oracle/product/10.2.0/db_1/d
bs/C:ORACLEPRODUCT10.2.0ORADATAORCLTEST.DBF
14   100      TEST1                NO      /opt/app/oracle/product/10.2.0/db_1/d
bs/C:ORACLEPRODUCT10.2.0ORADATAORCLTEST1.DBF
15   50       RMAN                 NO      /opt/test/rman.dbf

臨時檔案列表
=======================
檔案大小 (MB) 表空間           最大大小 (MB) 臨時檔名稱
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /opt/app/oracle/oradata/orcl/temp
01.dbf
2    200      XCKYTMP              32767       /opt/test/XCKYTMP.dbf

8、在恢復目錄裡建立建立全域性指令碼:

RMAN> create global script. global_full_backup
2> {
3>  backup database plus archivelog;
4> }

已建立的全域性指令碼 global_full_backup

9、在恢復目錄裡執行指令碼:

RMAN> run
2> {
3> execute script. global_full_backup
4> }

正在執行全域性指令碼: global_full_backup

。。。。。。。。。。

段控制程式碼=/opt/app/oracle/flash_recovery_area/ORCL/backupset/2008_08_30/o1_mf_annnn
_TAG20080830T163859_4cl1s4h9_.bkp 標記=TAG20080830T163859 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:02
完成 backup 於 04-9月 -08

備註:

1.遇到“RMAN-06171: not connected to target database”錯誤時:重新刪除使用者,然後,重新表空間就可以解決。

2.目標資料庫不能使用指令碼,否則報錯:

MAN-00571: ===========================================================
MAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
MAN-00571: ===========================================================
MAN-03002: create script. 命令 (在 09/04/2008 23:32:09 上) 失敗
MAN-06002: 在沒有連線至恢復目錄時不允許使用命令

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8334342/viewspace-441763/,如需轉載,請註明出處,否則將追究法律責任。

相關文章