oracle12c复制bdf,Oracle 备份与恢复学习笔记(12)

第十二章: Catalog Database 目录库

1、catalog database 的功能

1)集中存放rman的资料库(备份的元数据),并且可以和target database 的controlfile同步

2)存放rman的备份脚本

2、catalog database 的配置

1)需要建立一个单独的database

02:43:21 SQL> show parameter name

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_file_name_convert                 string

db_name                              string      catdb

db_unique_name                       string      catdb

global_names                         boolean     FALSE

instance_name                        string      catdb

lock_name_space                      string

log_file_name_convert                string

service_names                        string      catdb

02:43:30 SQL>

2)建立存放rman 元数据的tablespace

02:44:12 SQL> create tablespace cattbs

02:44:24   2   datafile '/u01/app/oracle/oradata/catdb/cattbs01.dbf' size 100m;

Tablespace created.

3)建立user,用于管理rman,并授权

02:45:10 SQL> create user rman identified by rman default tablespace cattbs;

User created.

02:45:33 SQL> grant connect ,resource ,recovery_catalog_owner to rman;

Grant succeeded.

4)启动listener ,链接catalog database

[oracle@work admin]$ lsnrctl status

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 19-AUG-2011 02:48:01

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=work)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production

Start Date                19-AUG-2011 02:47:31

Uptime                    0 days 0 hr. 0 min. 29 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=work)(PORT=1521)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service "prod" has 1 instance(s).

Instance "prod", status READY, has 1 handler(s) for this service...

Service "prodXDB" has 1 instance(s).

Instance "prod", status READY, has 1 handler(s) for this service...

Service "prod_XPT" has 1 instance(s).

Instance "prod", status READY, has 1 handler(s) for this service...

The command completed successfully

[oracle@work admin]$ rman catalog rman/rman@catdb

Recovery Manager: Release 10.2.0.1.0 - Production on Fri Aug 19 02:49:05 2011

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

connected to recovery catalog database

RMAN> create catalog;           // 建立catalog 的对象

recovery catalog created

RMAN>

--------建立以下对象,存储rman 元数据

02:45:54 SQL> conn rman/rman

Connected.

02:50:16 SQL>

02:50:16 SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

NODE                           TABLE

DB                             TABLE

CONF                           TABLE

DBINC                          TABLE

CKP                            TABLE

TS                             TABLE

TSATT                          TABLE

DF                             TABLE

DFATT                          TABLE

TF                             TABLE

TFATT                          TABLE

OFFR                           TABLE

RR                             TABLE

RT                             TABLE

ORL                            TABLE

RLH                            TABLE

AL                             TABLE

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

BS                             TABLE

BP                             TABLE

BCF                            TABLE

CCF                            TABLE

XCF                            TABLE

BSF                            TABLE

BDF                            TABLE

CDF                            TABLE

XDF                            TABLE

BRL                            TABLE

BCB                            TABLE

CCB                            TABLE

SCR                            TABLE

SCRL                           TABLE

CONFIG                         TABLE

XAL                            TABLE

RSR                            TABLE

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

FB                             TABLE

RC_DATABASE                    VIEW

RC_DATABASE_INCARNATION        VIEW

RC_RESYNC                      VIEW

RC_CHECKPOINT                  VIEW

RC_TABLESPACE                  VIEW

RC_DATAFILE                    VIEW

RC_TEMPFILE                    VIEW

RC_REDO_THREAD                 VIEW

RC_REDO_LOG                    VIEW

RC_LOG_HISTORY                 VIEW

RC_ARCHIVED_LOG                VIEW

RC_BACKUP_SET                  VIEW

RC_BACKUP_PIECE                VIEW

RC_BACKUP_DATAFILE             VIEW

RC_BACKUP_CONTROLFILE          VIEW

RC_BACKUP_SPFILE               VIEW

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

RC_DATAFILE_COPY               VIEW

RC_CONTROLFILE_COPY            VIEW

RC_BACKUP_REDOLOG              VIEW

RC_BACKUP_CORRUPTION           VIEW

RC_COPY_CORRUPTION             VIEW

RC_OFFLINE_RANGE               VIEW

RC_STORED_SCRIPT               VIEW

RC_STORED_SCRIPT_LINE          VIEW

RC_PROXY_DATAFILE              VIEW

RC_PROXY_CONTROLFILE           VIEW

RC_RMAN_CONFIGURATION          VIEW

RC_DATABASE_BLOCK_CORRUPTION   VIEW

RC_PROXY_ARCHIVEDLOG           VIEW

RC_RMAN_STATUS                 VIEW

ROUT                           TABLE

RC_RMAN_OUTPUT                 VIEW

RCVER                          TABLE

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

RC_BACKUP_FILES                VIEW

RC_RMAN_BACKUP_SUBJOB_DETAILS  VIEW

RC_RMAN_BACKUP_JOB_DETAILS     VIEW

RC_BACKUP_SET_DETAILS          VIEW

RC_BACKUP_PIECE_DETAILS        VIEW

RC_BACKUP_COPY_DETAILS         VIEW

RC_PROXY_COPY_DETAILS          VIEW

RC_PROXY_ARCHIVELOG_DETAILS    VIEW

RC_BACKUP_DATAFILE_DETAILS     VIEW

RC_BACKUP_CONTROLFILE_DETAILS  VIEW

RC_BACKUP_ARCHIVELOG_DETAILS   VIEW

RC_BACKUP_SPFILE_DETAILS       VIEW

RC_BACKUP_SET_SUMMARY          VIEW

RC_BACKUP_DATAFILE_SUMMARY     VIEW

RC_BACKUP_CONTROLFILE_SUMMARY  VIEW

RC_BACKUP_ARCHIVELOG_SUMMARY   VIEW

RC_BACKUP_SPFILE_SUMMARY       VIEW

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

RC_BACKUP_COPY_SUMMARY         VIEW

RC_PROXY_COPY_SUMMARY          VIEW

RC_PROXY_ARCHIVELOG_SUMMARY    VIEW

RC_UNUSABLE_BACKUPFILE_DETAILS VIEW

RC_RMAN_BACKUP_TYPE            VIEW

90 rows selected.

02:50:19 SQL>

--------注册目标库(将目标库controlfile的rman 元数据 同步到 catalog database)

[oracle@work admin]$ rman target / catalog rman/rman@catdb

Recovery Manager: Release 10.2.0.1.0 - Production on Fri Aug 19 02:52:19 2011

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

connected to target database: PROD (DBID=170319990)

connected to recovery catalog database

RMAN> register database;

database registered in recovery catalog

starting full resync of recovery catalog

full resync complete

---------------查看注册信息

02:50:19 SQL> desc rc_database;

Name                                                              Null?    Type

----------------------------------------------------------------- -------- --------------------------------------------

DB_KEY                                                            NOT NULL NUMBER

DBINC_KEY                                                                  NUMBER

DBID                                                              NOT NULL NUMBER

NAME                                                              NOT NULL VARCHAR2(8)

RESETLOGS_CHANGE#                                                 NOT NULL NUMBER

RESETLOGS_TIME                                                    NOT NULL DATE

02:54:28 SQL> select * from rc_database;

DB_KEY  DBINC_KEY       DBID NAME     RESETLOGS_CHANGE# RESETLOGS

---------- ---------- ---------- -------- ----------------- ---------

1          2  170319990 PROD               1452590 19-AUG-11

02:54:34 SQL>

----------利用catalog database存放rman 脚本

1)创建脚本(replace 是修改已经存在的脚本)

RMAN> create script users_bak {

2> backup datafile '/u01/app/oracle/oradata/prod/users01.dbf' format '/disk1/rman/prod/users_%s.bak';

3> }

created script users_bak

2)查看脚本信息

RMAN> print script users_bak;

printing stored script: users_bak

{backup datafile '/u01/app/oracle/oradata/prod/users01.dbf' format '/disk1/rman/prod/users_%s.bak';

}

------通过catalog database 查看

03:02:45 SQL> col SCRIPT_NAME for a30

03:02:54 SQL> col SCRIPT_COMMENT for a50

03:03:01 SQL>

1* select * from RC_STORED_SCRIPT

DB_KEY DB_NAME  SCRIPT_NAME                    SCRIPT_COMMENT

---------- -------- ------------------------------ --------------------------------------------------

1 PROD     users_bak

03:03:23 SQL> col text for a50

03:03:30 SQL>

1* select * from RC_STORED_SCRIPT_LINE

DB_KEY SCRIPT_NAME                          LINE TEXT

---------- ------------------------------ ---------- --------------------------------------------------

1 users_bak                               1  {backup datafile '/u01/app/oracle/oradata/prod/us

ers01.dbf' format '/disk1/rman/prod/users_%s.bak';

1 users_bak                               2 }

3)运行脚本

RMAN> run { execute script users_bak;}

4) 删除脚本

RMAN> delete script users_bak;

deleted script: users_bak

验证catalog的恢复功能:

1、建立catalog库,并注册target database和同步catalog db

-----建立数据库的备份

[oracle@rh4 ~]$ rman target / catalog rman/rman@catdb

Recovery Manager: Release 10.2.0.1.0 - Production on Sun Feb 19 11:43:13 2012

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

connected to target database: PROD (DBID=187338998)

connected to recovery catalog database

RMAN> backup database format '/disk1/rman/prod/cold_bak/%d_%s.bak';

Starting backup at 19-FEB-12

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=159 devtype=DISK

channel ORA_DISK_1: starting full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00001 name=/u01/app/oracle/oradata/prod/system01.dbf

input datafile fno=00003 name=/u01/app/oracle/oradata/prod/sysaux01.dbf

input datafile fno=00005 name=/u01/app/oracle/oradata/prod/example01.dbf

input datafile fno=00006 name=/u01/app/oracle/oradata/prod/lxtbs1.dbf

input datafile fno=00002 name=/u01/app/oracle/oradata/prod/undotbs01.dbf

input datafile fno=00004 name=/u01/app/oracle/oradata/prod/users01.dbf

channel ORA_DISK_1: starting piece 1 at 19-FEB-12

channel ORA_DISK_1: finished piece 1 at 19-FEB-12

piece handle=/disk1/rman/prod/cold_bak/PROD_71.bak tag=TAG20120219T114346 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:01:05

Finished backup at 19-FEB-12

Starting Control File and SPFILE Autobackup at 19-FEB-12

piece handle=/u01/app/oracle/flash_recovery_area/PROD/autobackup/2012_02_19/o1_mf_s_775655094_7n0w1qr5_.bkp comment=NONE

Finished Control File and SPFILE Autobackup at 19-FEB-12

RMAN> list backup;

List of Backup Sets

===================

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

------- ---- -- ---------- ----------- ------------ ---------------

389     Full    597.17M    DISK        00:01:01     19-FEB-12

BP Key: 390   Status: AVAILABLE  Compressed: NO  Tag: TAG20120219T114346

Piece Name: /disk1/rman/prod/cold_bak/PROD_71.bak

List of Datafiles in backup set 389

File LV Type Ckp SCN    Ckp Time  Name

---- -- ---- ---------- --------- ----

1       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/system01.dbf

2       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/undotbs01.dbf

3       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/sysaux01.dbf

4       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/users01.dbf

5       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/example01.dbf

6       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/lxtbs1.dbf

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

------- ---- -- ---------- ----------- ------------ ---------------

405     Full    7.27M      DISK        00:00:02     19-FEB-12

BP Key: 412   Status: AVAILABLE  Compressed: NO  Tag: TAG20120219T114454

Piece Name: /u01/app/oracle/flash_recovery_area/PROD/autobackup/2012_02_19/o1_mf_s_775655094_7n0w1qr5_.bkp

Control File Included: Ckp SCN: 634074       Ckp time: 19-FEB-12

SPFILE Included: Modification time: 19-FEB-12

RMAN> exit

Recovery Manager complete.

2、模拟target database 被破坏,所有的controlfile丢失,重建控制文件

10:53:47 SQL> select name from v$controlfile;

NAME

------------------------------------------------------------------------------------------------------------------------------------------------------

/u01/app/oracle/oradata/prod/control01.ctl

/u01/app/oracle/oradata/prod/control02.ctl

/u01/app/oracle/oradata/prod/control03.ctl

11:47:36 SQL> alter database backup controlfile to trace;

Database altered.

11:47:52 SQL> !

[oracle@rh4 ~]$ ls -lt /u01/app/oracle/admin/prod/udump/

total 556

-rw-r-----  1 oracle oinstall  7759 Feb 19 11:47 prod_ora_7588.trc

-rw-r-----  1 oracle oinstall   736 Feb 19 11:44 prod_ora_12464.trc

-rw-r-----  1 oracle oinstall   708 Feb 19 11:31 prod_ora_12034.trc

-rw-r-----  1 oracle oinstall   737 Feb 19 11:28 prod_ora_11849.trc

-rw-r-----  1 oracle oinstall 17460 Feb 19 10:53 prod_ora_7566.trc

-rw-r-----  1 oracle oinstall   714 Feb 19 10:51 prod_ora_7563.trc

[oracle@rh4 ~]$ more /u01/app/oracle/admin/prod/udump/prod_ora_7588.trc

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "PROD" NORESETLOGS  ARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 '/u01/app/oracle/oradata/prod/redo01.log'  SIZE 50M,

GROUP 2 '/u01/app/oracle/oradata/prod/redo02.log'  SIZE 50M,

GROUP 3 '/u01/app/oracle/oradata/prod/redo03.log'  SIZE 50M

-- STANDBY LOGFILE

DATAFILE

'/u01/app/oracle/oradata/prod/system01.dbf',

'/u01/app/oracle/oradata/prod/undotbs01.dbf',

'/u01/app/oracle/oradata/prod/sysaux01.dbf',

'/u01/app/oracle/oradata/prod/users01.dbf',

'/u01/app/oracle/oradata/prod/example01.dbf',

'/u01/app/oracle/oradata/prod/lxtbs1.dbf'

CHARACTER SET ZHS16GBK

;

sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Feb 19 11:49:23 2012

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

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

11:49:23 SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

11:50:01 SQL> !

[oracle@rh4 ~]$ rm /u01/app/oracle/oradata/prod/*.ctl

[oracle@rh4 ~]$ !sql

sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Feb 19 11:50:26 2012

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

Connected to an idle instance.

11:50:26 SQL> startup

ORACLE instance started.

Total System Global Area  184549376 bytes

Fixed Size                  1218412 bytes

Variable Size              71305364 bytes

Database Buffers          109051904 bytes

Redo Buffers                2973696 bytes

ORA-00205: error in identifying control file, check alert log for more info

CREATE CONTROLFILE REUSE DATABASE "PROD" NORESETLOGS  ARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

GROUP 1 '/u01/app/oracle/oradata/prod/redo01.log'  SIZE 50M,

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 '/u01/app/oracle/oradata/prod/redo01.log'  SIZE 50M,

GROUP 2 '/u01/app/oracle/oradata/prod/redo02.log'  SIZE 50M,

GROUP 3 '/u01/app/oracle/oradata/prod/redo03.log'  SIZE 50M

-- STANDBY LOGFILE

DATAFILE

'/u01/app/oracle/oradata/prod/system01.dbf',

'/u01/app/oracle/oradata/prod/undotbs01.dbf',

'/u01/app/oracle/oradata/prod/sysaux01.dbf',

'/u01/app/oracle/oradata/prod/users01.dbf',

'/u01/app/oracle/oradata/prod/example01.dbf',

'/u01/app/oracle/oradata/prod/lxtbs1.dbf'

CHARACTER SET ZHS16GBK

11:50:57  20  ;

Control file created.

11:50:59 SQL> select status from v$instance;

STATUS

------------

MOUNTED

11:51:20 SQL> alter database open;

Database altered.

11:51:32 SQL> select name from v$datafile;

NAME

------------------------------------------------------------------------------------------------------------------------------------------------------

/u01/app/oracle/oradata/prod/system01.dbf

/u01/app/oracle/oradata/prod/undotbs01.dbf

/u01/app/oracle/oradata/prod/sysaux01.dbf

/u01/app/oracle/oradata/prod/users01.dbf

/u01/app/oracle/oradata/prod/example01.dbf

/u01/app/oracle/oradata/prod/lxtbs1.dbf

6 rows selected.

11:51:43 SQL>

3、新的控制文件中的rman 备份的元数据丢失,无法查看到备份信息

[oracle@rh4 ~]$ rman target /

Recovery Manager: Release 10.2.0.1.0 - Production on Sun Feb 19 11:51:53 2012

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

connected to target database: PROD (DBID=187338998)

RMAN> list backup;

using target database control file instead of recovery catalog

RMAN> exit

Recovery Manager complete.

4、连接到catalog db 库,恢复rman的元数据

[oracle@rh4 ~]$ rman target / catalog rman/rman@catdb

Recovery Manager: Release 10.2.0.1.0 - Production on Sun Feb 19 11:52:06 2012

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

connected to target database: PROD (DBID=187338998)

connected to recovery catalog database

RMAN> list backup;

starting full resync of recovery catalog

full resync complete

List of Backup Sets

===================

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

------- ---- -- ---------- ----------- ------------ ---------------

389     Full    597.17M    DISK        00:01:01     19-FEB-12

BP Key: 390   Status: AVAILABLE  Compressed: NO  Tag: TAG20120219T114346

Piece Name: /disk1/rman/prod/cold_bak/PROD_71.bak

List of Datafiles in backup set 389

File LV Type Ckp SCN    Ckp Time  Name

---- -- ---- ---------- --------- ----

1       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/system01.dbf

2       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/undotbs01.dbf

3       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/sysaux01.dbf

4       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/users01.dbf

5       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/example01.dbf

6       Full 634042     19-FEB-12 /u01/app/oracle/oradata/prod/lxtbs1.dbf

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

------- ---- -- ---------- ----------- ------------ ---------------

405     Full    7.27M      DISK        00:00:02     19-FEB-12

BP Key: 412   Status: AVAILABLE  Compressed: NO  Tag: TAG20120219T114454

Piece Name: /u01/app/oracle/flash_recovery_area/PROD/autobackup/2012_02_19/o1_mf_s_775655094_7n0w1qr5_.bkp

Control File Included: Ckp SCN: 634074       Ckp time: 19-FEB-12

SPFILE Included: Modification time: 19-FEB-12

starting full resync of recovery catalog

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值