欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

RMAN 创建恢复目录

程序员文章站 2024-01-17 17:00:16
...

RMAN 创建恢复目录,启动RMAN,使用target参数连接目标数据库,并使用catalog参数连接恢复目录数据库。然后在RMAN中执行create c

1、恢复目录数据库配置建议:
表空间 大小需求
SYSTEM 90MB
TEMP 5MB
UNDO 5MB
RECOVERY_CATALOG_SCHEMA 每个主城的数据库15MB
ONLINE REDO LOGS 每个联机重做日志文件1MB

2、创建用户
create tablespace ctlg datafile '$Oracle_BASE/oradata/$ORACLE_SID/ctlg.dbf' size 100M autoextend on next 10M maxsize 2G;
create user ctlg identified by ctlg default tablespace ctlg temporary tablespace temp;
grant connect,resource,recovery_catalog_owner to ctlg;
注:恢复目录用户账户在某种程度上也算是一个特许的数据库账户,尽可能像保护系统用户那样保护好这个账户。

3、创建恢复目录Schema对象
启动RMAN,使用target参数连接目标数据库,并使用catalog参数连接恢复目录数据库。然后在RMAN中执行create catalog命令,此时可以选择使用tablespace参数来定义在其中创建RMAN的Schema对象的表空间。
[oracle@zhs10g ~]$ rman target='BACKUP/BACKUP@UTF10G' catalog=ctlg/ctlg@bcatalog
Recovery Manager: Release 10.2.0.4.0 - Production on Tue Aug 21 17:41:24 2012

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

connected to target database: UTF10G (DBID=1585746538)
connected to recovery catalog database

RMAN> create catalog tablespace ctlg;

recovery catalog created

RMAN>

4、在恢复目录中主城数据库
使用RMAN,同时连接目标数据库和恢复目录,然后在恢复目录中注册数据库:
rman target='BACKUP/BACKUP@UTF10G' catalog=ctlg/ctlg@bcatalog
register database;
当连接目标数据库时,可以在RMAN中执行report schema命令来验证注册数据库是否成功:
RMAN> report schema;

Report of database schema

List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 500 SYSTEM YES /soft/oracle/oradata/utf10g/system01.dbf
2 235 UNDOTBS1 YES /soft/oracle/oradata/utf10g/undotbs01.dbf
3 480 SYSAUX NO /soft/oracle/oradata/utf10g/sysaux01.dbf
4 5 USERS NO /soft/oracle/oradata/utf10g/users01.dbf
5 100 STRMADMIN NO /soft/oracle/oradata/utf10g/strmadmin01.dbf
6 100 SRCB NO /soft/oracle/oradata/utf10g/srcb01.dbf


List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 29 TEMP 32767 /soft/oracle/oradata/utf10g/temp01.dbf

5、删除恢复目录
如果不需要使用恢复目录了,则可以删除恢复目录模式。注意:删除恢复目录模式前应该考虑备份恢复目录数据库。
删除命令为:
RMAN> drop catalog;

recovery catalog owner is CTLG
enter DROP CATALOG command again to confirm catalog removal
RMAN> drop catalog;

recovery catalog dropped

注:该命令需要执行两次,第一次是让你确认的。

6、在恢复目录中天剑RMAN备份
如果已经在没有恢复目录的情况下执行了RMAN备份,并且希望以后将这些备份信息添加至恢复目录,则可以使用catalog命令。该命令可以讲数据文件副本、备份集片、归档日志备份、甚至整个备份目录天剑到恢复目录中,如:
RMAN> catalog datafilecopy '/backup/rman/system01.dbf';
RMAN> catalog archivelog '/backup/rman/log_database_1.arc','/backup/rman/log_database_2.arc';
RMAN> catalog backuppiece '/backup/rman/backup_0808.bkp';
RMAN> catalog start with '/backup/rman/database/';
注:要谨慎使用catalog start with命令。必须在目录路径结尾加上斜杠。如果使用/backup/rman/database,则Oracle将遍历:/backup/rman/database中所有可能的database目录组合。这可能包括如下目录:/backup/rman/database、/backup/rman/database-123,或者/backup/rman/database-xx等等。使用斜杠后缀则表示只要找/backup/rman/database/。
注:在window中为反斜杠\

7、在恢复目录中取消数据库注册
同样是使用RMAN根据登录目标数据库和Catalog数据库,,然后执行如下命令,需要回答yes:
[oracle@zhs10g ~]$ rman target='BACKUP/BACKUP@UTF10G' catalog=ctlg/ctlg@bcatalog
RMAN> unregister database;

database name is "UTF10G" and DBID is 1585746538

Do you really want to unregister the database (enter YES or NO)? yes
database unregistered from the recovery catalog


如果目标数据库已经删除,并且希望从恢复目录中彻底删除该数据库,则在大多数情况下只需要知道希望取消注册的数据库的名称。如,希望取消注册utf10g数据库,则可以在连接到恢复目录中执行如下命令:
[oracle@zhs10g ~]$ rman catalog=ctlg/ctlg@bcatalog


Recovery Manager: Release 10.2.0.4.0 - Production on Fri Aug 24 01:58:16 2012


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


connected to recovery catalog database


RMAN> unregister database utf10g;


database name is "utf10g" and DBID is 1585746538


Do you really want to unregister the database (enter YES or NO)? yes
database unregistered from the recovery catalog

RMAN>

如果恢复目录中有多个已相同名称注册的数据库时,就需要知道希望取消注册的数据库的DBID。然后在run代码块中运行unregister database命令,同时使用set dbid命令。如:
run
{
set dbid 1585746538;
unregister database UTF10G NOPROMPT;
}

RMAN 创建恢复目录