Heim  >  Artikel  >  Datenbank  >  RMAN 创建恢复目录

RMAN 创建恢复目录

WBOY
WBOYOriginal
2016-06-07 17:18:50968Durchsuche

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;
}

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn