Oracle RMAN工具工作环境一共有三个数据库源对象:target、catalog和auxiliary。
target就是进行备份操作的源数据库,我们进行备份还原的对象都是在这个库上进行。默认情况下,备份集合信息是保存在controlfile,catalog是一个可选数据库,备份元数据可以单独放在catalog数据库中保存。auxiliary是作为辅助操作进行的,一些与备份还原相关的操作,都可以利用auxiliary上完成。
1、环境介绍
我们选择Oracle 10gR2进行测试,Linux环境主机。
SQL> select * from v$version;
BANNER
---------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 – Production
2、Target数据库备份
当前数据库没有选择catalog,采用controlfile进行备份文件。数据库实例名称为oratest,作为数据源。此时备份信息如下:
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
13 Full 595.90M DISK 00:00:30 05-MAR-14
BP Key: 13 Status: AVAILABLE Compressed: NO Tag: TAG20140305T111526
Piece Name: /u01/app/oracle/flash_recovery_area/ORATEST/backupset/2014_03_05/o1_mf_nnndf_TAG20140305T111526_9kf5pgf2_.bkp
(篇幅原因,有省略……)
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
15 15.07M DISK 00:00:02 05-MAR-14
BP Key: 15 Status: AVAILABLE Compressed: NO Tag: TAG20140305T112405
Piece Name: /u01/app/oracle/flash_recovery_area/ORATEST/backupset/2014_03_05/o1_mf_annnn_TAG20140305T112405_9kf66ppv_.bkp
List of Archived Logs in backup set 15
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 2 576174 04-MAR-14 578638 05-MAR-14
1 3 578638 05-MAR-14 578643 05-MAR-14
1 4 578643 05-MAR-14 578677 05-MAR-14
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
16 Full 6.80M DISK 00:00:01 05-MAR-14
BP Key: 16 Status: AVAILABLE Compressed: NO Tag: TAG20140305T112407
Piece Name: /u01/app/oracle/flash_recovery_area/ORATEST/autobackup/2014_03_05/o1_mf_s_841404247_9kf66qvs_.bkp
Control File Included: Ckp SCN: 578684 Ckp time: 05-MAR-14
SPFILE Included: Modification time: 05-MAR-14
注意:在备份过程中,一定要有一个单独的backup archivelog all的过程,将归档日志作为单独备份集合保存。如果不进行这个操作,在进行duplicate过程中会出现错误。
RMAN> backup archivelog all;
Starting backup at 05-MAR-14
(篇幅原因,有省略……)
Starting Control File and SPFILE Autobackup at 05-MAR-14
piece handle=/u01/app/oracle/flash_recovery_area/ORATEST/autobackup/2014_03_05/o1_mf_s_841404247_9kf66qvs_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 05-MAR-14
在进行duplicate操作过程中,target数据库最好维持mount状态!
3、网络配置
无论是在本机还是异地进行duplicate构建,保证target和auxiliary互联是重要的。所以在TNS连接方面,要进行配置过程。
Oracle Net配置三个文件,listener.ora、tnsnames.ora和sqlnet.ora。起码要保证tnsnames.ora的互联配置。
[oracle@SimpleLinuxUp admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORATEST = --target
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oratest)
)
)
ORAAUX = --目标auxiliary
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oraaux)
)
)
一些文献(包括官方MOS文章)都推荐额外进行listener.ora的配置,将两个服务作为静态注册注册进监听程序listener。这样做的基础是这样的:在进行duplicate过程中,如果我们是从target端进行操作,就需要通过auxiliary端的监听器访问auxiliary。而此时auxiliary只有一个实例对象,虽然可以动态注册,但是注册状态是blocked。
Service "oraaux" has 1 instance(s).
Instance "oraaux", status BLOCKED, has 1 handler(s) for this service...
从9i到11g,Blocked状态是不允许进行远程连入的。当我们试图通过监听器连入的时候,是会报错。
MAN> connect auxiliary sys/oracle@oraaux
RMAN-00571: =============================
RMAN-00569: ========= ERROR MESSAGE STACK FOLLOWS =====
RMAN-00571: ============================
RMAN-04006: error from auxiliary database: ORA-12528: TNS:listener: all appropriate instances are blocking new connections
解决方法有两个:一个就是放弃使用动态注册方法,就需要手工修改listener.ora文件。也就是为什么很多网络同仁文章中推荐这个步骤。另一种方法就是从auxiliary端进行duplicate操作,这样使用/匿名登录是没有问题的。第二种方法的缺点是一些时候需要将备份集合传递到auxiliary所在服务器目录中。
笔者本次就选取第二种方法进行实验。
- 大小: 44.2 KB
分享到:
相关推荐
Oracle 11gR2 中使用 RMAN duplicate from active database 复制数据库是一种高效的数据库复制方法。这种方法可以直接从活动数据库复制,省去了备份和传输备份文件的步骤,极大地提高了数据库复制的效率。 RMAN ...
rman duplicate 搭建dg 一步步向你展示如何不停机搭建dg
使用RMAN工具跨平台迁移数据库
Oracle RMAN DUPLICATE教程
使用RMAN DUPLICATE...FROM ACTIVE DATABASE 创建物理备库 简化standby创建过程,提高效率
RMAN高级应用之Duplicate复制数据库 1.基本概述 2.创建辅助实例 3.不同环境下的复制流程 4.实战 5.附录
教你学会如何使用rman方法,备份oracle数据库
详细、完整的介绍使用RMAN对数据库进行备份及恢复
RMAN高级应用之Duplicate复制数据库
RMAN高级应用之Duplicate复制数据库
实验103:使用老的控制文件进行数据库恢复 187 实验104:系统表空间损坏的恢复 187 实验105:非系统表空间损坏的恢复 188 实验106:索引表空间损坏的恢复 193 实验107:临时表空间损坏的恢复 195 实验108:无备份表...
教程名称:傻瓜式实战Oracle RMAN数据库备份和恢复视频课程目录:【】数据库备份和恢复系列].ITBOBA_RMAN_1【】数据库备份和恢复系列].ITBOBA_RMAN_10【】数据库备份和恢复系列].ITBOBA_RMAN_2【】数据库备份和恢复...
基于Rman和TSM的Oracle数据库备份方法研究.pdf
搭建单实例文件系统ORACLE DG,分为2种情况: 1. 利用rman duplicate 在线搭建备库 2. 利用主库备份,离线方式搭建备库
Oracle Rman Active Database Duplicate 迁移方案V1.1.pdf
[三思笔记]RMAN管理ORACLE_RAC数据库的备份与恢复
RMAN管理ORACLE_RAC数据库的备份与恢复
Oracle数据库在windows上的复制方法。