RMAN利用auxiliary复制数据库
这个是经理给的一份复制备份计划,只需要利用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复制数据库相关推荐
- 使用RMAN传输数据_复制数据库
本章介绍如何使用DUPLICATE命令创建独立运行的数据库副本. 1.RMAN数据库复制概述 数据库复制使用DUPLICATE命令拷贝源数据库中的所有数据或数据子集.复制数据库(拷贝的数据库)完全独立 ...
- rman本机复制数据库
1.启动监听 [oracle@odd201 ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 28-JA ...
- rman的duplicate复制数据库
duplicate 最近公司准备迁移数据库,迁移的办法有很多,由于考虑到生产系统的安全性和停机时间等其他因素,选择的方案有很多,这里我们谈一下rman的duplicate: 11g的rman dupl ...
- 使用rman异机复制数据库
源端数据库:192.168.1.210 sid:orcl hostname:Nagiostest ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/or ...
- RMAN异机复制数据库(相同路径)
有完整的备份,新的数据库datafile.controfile.logfile所在目录结构和原数据库一样. 创建好adump.bdump.cdump.udump等目录. 1.恢复参数文件. 设置环境变 ...
- RMAN异机复制数据库(不同路径)
1.恢复参数文件 设置环境变量: export ORACLE_SID=hncdfhq 登录RMAN: rman target / 在RMAN里把数据库起到nomount状态: startup nomo ...
- Oracle 11gR2 使用RMAN Duplicate复制数据库
Oracle 11gR2 使用RMAN Duplicate复制数据库 整体步骤 构建辅助数据库目录结构配置辅助数据库相关参数 安装软件并创建数据库 开启归档 配置静态监听 启动数据库到nomount状 ...
- oracle 11g rman catalog,Oracle 11g RMAN复制数据库的测试
RMAN支持两种类型复制:活动数据库复制和基于备份的复制,主要用来建立测试库.分别进行测试 我们把要复制的数据库称为源数据库(SOURCE DB=orcl),复制后的数据库成为目标数据库(TARGET ...
- 使用rman本机复制新数据库
使用rman复制数据库 原数据库sid orcl 复制新的数据库sid为 nylg 1.创建复制备份数据库的参数文件 在原数据库创建pfile create pfile from spfile; 然 ...
最新文章
- 基于VLC的播放器开发
- 商务之路有多远,贿赂就有多远吗? 续一
- 给定2个字符串,如何计算变化(插入、删除、替换)?【levenshtein distance 算法】
- malloc 背后的系统知识(虚拟内存地址)
- 安装jrebel热部署插件,并激活
- matlab中的类标转换程序
- How to fix the bug “Expected required, optional, or repeated.”?
- 让source insight更好的支持中文
- linux基础知识——exec函数
- python温度转换
- Qt 加载翻译文件基本方法
- 我的团长我的团第十七集
- 惠普微型计算机主机拆卸,HP 惠普 Pavilion Wave 台式主机 拆机
- 纯css饼图,使用css3画饼图
- java毕业生设计租车系统计算机源码+系统+mysql+调试部署+lw
- BeanUtils.populate()用法
- [OC学习笔记]自动引用计数
- [转]那些著名或非著名的iOS面试题(上)
- VS无法打开项目文件“Web.csproj” -此安装不支持该项目类型问题解决方案
- 《C专家编程》学习总结2