这个是经理给的一份复制备份计划,只需要利用rman智能管理复制,无需手工操作。关键字是auxiliary,在rman中使用到,其实不是什么技术名称。操作过程整理及错误收集如下。

1 在主库上备份数据库

RMAN> backup database plus archivelog;

2 把备份片scp到目标库,路径同原库一样

scp /home/oracle/rmanbk/VICDB_1711386261_15_1_20141023.bkp 10.1.1.2:/home/oracle/rmanbk/   --包含数据文件的bkpscp /home/oracle/rmanbk/VICDB_1711386261_16_1_20141023.bkp 10.1.1.2:/home/oracle/rmanbk/    --包含控制文件的bkpscp /home/oracle/rmanbk/VICDB_1711386261_20_1_20141023.bkp 10.1.1.2:/home/oracle/rmanbk/    --包含了归档

3、编辑参数文件,使得数据库启动到nomount状态,sid与主库一致

vi initvicdb.ora
db_name='vicdb'SQL> startup nomount pfile='oradata/vicl/initvicl.ora'

4、在目标数据库上创建密码文件(用于远程连接)

orapwd file=orapwvicdb password=oracle  

5、配置网络

5.1 在原库和目标库上配置listener

在原库和目标库上配置listener,需要使用静态注册(原因是目标库上的数据库库只能启动到nomount状态,如果使用动态注册,那么listener的状态为blocked状态,block状态表示只能在本机进行连接是收到限制的连接)

LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.2)(PORT=1521))))
SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=vicdb)(ORACLE_HOME=/oracle/app/db)(SID_NAME=vicdb)))

5.2 配置tnsnames

配置tns(rman可以在任何机器上发起连接,但是需要有tns,如目前准备在10.1.1.11上使用rman发起连接,那么就需要在10.1.1.11上配置去目标库和原库的tns)

to_2 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.2)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = vicdb)))to_11 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.11)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = vicdb)))

测试连接

rman target sys/oracle@to_2
connected to target database: VICDB (not mounted)rman target sys/oracle@to_11
connected to target database: VICDB (DBID=1711386261)

6、开始做数据库复制

rman target sys/oracle@to_11 auxiliary sys/oracle@to_2     --此处的target database为10.1.1.11,auxiliary为10.1.1.2,表示要把10.1.1.11复制到10.1.1.2上)RMAN> duplicate target database to orcl nofilenamecheck;

常见问题

现象:
RMAN-04006: error from auxiliary database: ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory原因:目标数据库没有启动到nomount状态解决:启动目标数据库到nomount状态
现象:
RMAN-03002: failure of Duplicate Db command at 10/23/2014 23:08:42
RMAN-05520: database name mismatch, auxiliary instance has VCDB, command specified VICDB原因:目标库参数文件中的db_name和原库的db_name不一致导致解决:在目标库上修改参数文件的db_name
现象:
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of archived log for thread 1 with sequence 39 and starting SCN of 2144142 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 38 and starting SCN of 2144139 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 37 and starting SCN of 2142826 found to restore原因:数据库需要恢复到原库当前log的first_change# 处,目前只有sequence#为36的归档被cp到了目标库,缺少37 38 39,故报错
解决:
方法一:
在sqlplus中执行不完全恢复
recover database using backup controlfile until cancel
cancel;
方法2   将需要的归档cp到对应目录
原库上执行
[oracle@vicdb arc]$ scp * 10.1.1.2:/home/oracle/arc/
目标库上执行:
alter system set log_archive_dest_1='location=/home/oracle/arc/' ;  (原因:由于log_archive_dest_1没设置,恢复的时候回去/oracle/app/db/dbs/中寻找归档文件,肯定是找不到的,故我们可以把归档路径设置为和原库一样,这样就可以找到了)
SQL> recover database using backup controlfile ;
ORA-00279: change 2142775 generated at 10/23/2014 22:46:17 needed for thread 1
ORA-00289: suggestion : /home/oracle/arc/1_36_861363552.dbf
ORA-00280: change 2142775 for thread 1 is in sequence #36
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
SQL> recover database using backup controlfile until cancel

RMAN利用auxiliary复制数据库相关推荐

  1. 使用RMAN传输数据_复制数据库

    本章介绍如何使用DUPLICATE命令创建独立运行的数据库副本. 1.RMAN数据库复制概述 数据库复制使用DUPLICATE命令拷贝源数据库中的所有数据或数据子集.复制数据库(拷贝的数据库)完全独立 ...

  2. rman本机复制数据库

    1.启动监听 [oracle@odd201 ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 28-JA ...

  3. rman的duplicate复制数据库

    duplicate 最近公司准备迁移数据库,迁移的办法有很多,由于考虑到生产系统的安全性和停机时间等其他因素,选择的方案有很多,这里我们谈一下rman的duplicate: 11g的rman dupl ...

  4. 使用rman异机复制数据库

    源端数据库:192.168.1.210 sid:orcl hostname:Nagiostest ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/or ...

  5. RMAN异机复制数据库(相同路径)

    有完整的备份,新的数据库datafile.controfile.logfile所在目录结构和原数据库一样. 创建好adump.bdump.cdump.udump等目录. 1.恢复参数文件. 设置环境变 ...

  6. RMAN异机复制数据库(不同路径)

    1.恢复参数文件 设置环境变量: export ORACLE_SID=hncdfhq 登录RMAN: rman target / 在RMAN里把数据库起到nomount状态: startup nomo ...

  7. Oracle 11gR2 使用RMAN Duplicate复制数据库

    Oracle 11gR2 使用RMAN Duplicate复制数据库 整体步骤 构建辅助数据库目录结构配置辅助数据库相关参数 安装软件并创建数据库 开启归档 配置静态监听 启动数据库到nomount状 ...

  8. oracle 11g rman catalog,Oracle 11g RMAN复制数据库的测试

    RMAN支持两种类型复制:活动数据库复制和基于备份的复制,主要用来建立测试库.分别进行测试 我们把要复制的数据库称为源数据库(SOURCE DB=orcl),复制后的数据库成为目标数据库(TARGET ...

  9. 使用rman本机复制新数据库

    使用rman复制数据库 原数据库sid orcl  复制新的数据库sid为 nylg 1.创建复制备份数据库的参数文件 在原数据库创建pfile create pfile from spfile; 然 ...

最新文章

  1. 基于VLC的播放器开发
  2. 商务之路有多远,贿赂就有多远吗? 续一
  3. 给定2个字符串,如何计算变化(插入、删除、替换)?【levenshtein distance 算法】
  4. malloc 背后的系统知识(虚拟内存地址)
  5. 安装jrebel热部署插件,并激活
  6. matlab中的类标转换程序
  7. How to fix the bug “Expected required, optional, or repeated.”?
  8. 让source insight更好的支持中文
  9. linux基础知识——exec函数
  10. python温度转换
  11. Qt 加载翻译文件基本方法
  12. 我的团长我的团第十七集
  13. 惠普微型计算机主机拆卸,HP 惠普 Pavilion Wave 台式主机 拆机
  14. 纯css饼图,使用css3画饼图
  15. java毕业生设计租车系统计算机源码+系统+mysql+调试部署+lw
  16. BeanUtils.populate()用法
  17. [OC学习笔记]自动引用计数
  18. [转]那些著名或非著名的iOS面试题(上)
  19. VS无法打开项目文件“Web.csproj” -此安装不支持该项目类型问题解决方案
  20. 《C专家编程》学习总结2

热门文章

  1. 文档:mooc综评.note
  2. c++关键字goto
  3. 中国电子学会2023年05月份青少年软件编程Scratch图形化等级考试试卷二级真题(含答案)
  4. 透明效果(六)--透明测试
  5. MySQL没卸载干净
  6. UBIFS根文件系统制作
  7. SAP中MIRO发票校验多采购订单选择应用
  8. Docker本地仓库
  9. 2021年山东省安全员C证考试内容及山东省安全员C证操作证考试
  10. 第0次作业 阅邹欣老师博客有感