Oracle 11gR2使用RMAN duplicate复制数据库
11g的RMAN duplicate 个人感觉比10g的先进了很多,10g需在rman备份的基础上进行复制,使用RMAN duplicate创建一个数据完全相同但DBID不同的数据库。而11g的RMAN duplicate 可通过Active database duplicate和Backup-based duplicate两种方法实现。
Active database duplicate方式不需要先把目标数据库进行rman备份,只要目标数据库处于归档模式下即可直接通过网络对数据库进行copy,且copy完成后自动open数据库。这对于大数据特别是T级别的数据库来说优点非常明显,复制前不需要进行备份,减少了备份和传送备份的时间,同时节省备份空间。
案例一:RMAN duplicate的Active database duplicate方式
1、环境(同机测试,异机区别不大)
target DB(ip:192.168.1.1;hostname:oradba;oraclesid:prod)
auxiliary DB(ip:192.168.1.1;hostname:oradba;oraclesid:stby)
2、创建auxiliary DB参数文件,启动实例到nomount状态
可根据target DB参数文件进行修改使用,内容略,但需注意如下:
db_file_name_convert=('/u01/app/oracle/oradata/prod/','/u01/app/oracle/oradata/stby/')
log_file_name_convert=('/u01/app/oracle/oradata/prod/','/u01/app/oracle/oradata/stby/')
为同一机器不同实例,参数文件中必须添加如上内容,否则复制时会报无法创建数据文件,如果异机复制 ,且两实例数据目录完全一致,这两参数可省略,另因同机,参数文件中的db_name不能一样,如果是异机复制,db_name完全可以一样。
3、创建参数文件中相关目录并修改权限
mkdir /u01/app/oracle/oradata/stby/ -pv
mkdir /u01/app/oracle/fast_recovery_area/stby/ -pv
chown oracle:oinstall /u01 -R
4、启动实例到nomount状态
SQL> startup nomount pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initstby.ora';
5、创建密码文件,必须保持target DB和auxiliary DB的密码一致
此处选择复制target DB的密码文件:cp orapwprod orapwstby
6、配置网络
# cat ../network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME =prod)
)
(SID_DESC =
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME =stby)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradba)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
# cat ../network/admin/tnsnames.ora
prod =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradba)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = prod)
))
stby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradba)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = stby)
))
7、开始复制,复制时需注意是否使用nofilenamecheck参数,如果两个实例相关数据目录结构完全相同,则需要指定,否则会报错。这里不需使用。
$ export ORACLE_SID=stby --------异机操作可省略此步操作
$rman target sys/oracle@prod auxiliary sys/oracle@stby
/*RMAN> duplicate target database to stby from active database nofilenamecheck;*/
RMAN> duplicate target database to stby from active database;
8、检查结果
select name from v$datafile;
select status from v$instance;
show parameter name
show parameter pfile
数据库已经open,各项参数正常,且已创建spfile并使用!整个复制过程完成!
案例二:RMAN duplicate的Backup-based duplicate方式
需求:将使用文件系统存储的数据库修改为ASM方式的存储。
需求实现:可通过RMAN的backup as copy tablespace xx format '+DATA'等多种方式实现,这里使用duplicate方式。
本次为实验测试,打算在单机实现,即先创建文件系统的prod数据库,rman备份后,删除文件系统方式的prod数据库,再创建ASM存储的prod数据库,再通过duplicate复制数据库。注意,不能在生产库上实施。大致步骤如下:
1)DBCA创建文件系统存储的数据库prod
2)rman方式备份文件系统存储的数据库prod
3)备份pfile,导出控制文件到trace文件
4)删除文件系统存储的数据库prod
5)创建ASM实例,创建ASM磁盘组
6)创建ASM存储方式的prod数据的所需目录
7)创建ASM存储方式的prod数据库的监听
8)使用文件系统prod数据库的全备duplicate复制数据库
操作步骤如下:
1、查看文件系统方式的prod数据库
select name from v$datafile;
select name from v$tempfile;
select member from v$logfile;
2、文件系统方式prod数据库创建pfile
create pfile='/home/oracle/pfile' from spfile;
修改pfile将控制文件路径修改为ASM磁盘组+DATA和+FRA上,修改快速恢复区路径为+FRA
##*.control_files='/u01/oradata/PROD/control01.ctl','/u01/fast_recovery_area/PROD/control02.ctl'
*.control_files='+DATA/PROD/controlfile/control01.ctl','+FRA/PROD/controlfile/control02.ctl'
##*.db_recovery_file_dest='/u01/fast_recovery_area'
*.db_recovery_file_dest='+FRA'
3、文件系统方式prod数据库执行一次全备,保存路径为/home/oracle
run{
allocate channel c1 device type disk;
backup tag 'prod_db' as compressed backupset format '/home/oracle/full_%U.bak' database
include current controlfile;
backup tag 'prod_arch' archivelog all format '/home/oracle/arch_%U.bak';
release channel c1;
}
4、DBCA方式删除数据库,即文件系统方式的prod数据库不存在了,可以创建ASM方式的prod数据库了。
5、创建ASM方式的prod数据库的所需目录
mkdir -p $ORACLE_BASE/admin/PROD/adump
6、创建ASM方式的prod数据库(即auxiliary数据库)密码文件
$ orapwd file=$ORACLE_HOME/dbs/orapwPROD password=oracle entries=5
7、在grid用户下为auxiliary数据库添加静态监听连接
$ vi /grid/app/11.2.0/grid/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = single)(PORT = 1521))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=PROD)
(ORACLE_HOME=/u01/oracle)
(GLOBAL_DBNAME=PROD)))
ADR_BASE_LISTENER = /grid
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
8、auxiliary数据库使用修改过的pfile启动数据库到nomount状态
startup nomount pfile=/home/oracle/pfile;
9、使用rman登录auxiliary数据库
[oracle@single ~]$ rman auxiliary /
10、使用RMAN执行duplicate复制灾备数据库
在这一步需要从删除前的文件系统方式的prod数据库通过alter database backup controlfile to trace导出脚本,在使用select value from v$diag_info找到该trace的路径。将生成控制文件脚本中的数据库文件路径进行参考来写入set newname for datafile n,因为之前的数据库为文件系统,现在打算创建ASM方式的数据库。所以需要set newname来修改路径
run{
allocate auxiliary channel dup1 type disk;
set newname for datafile 1 to '+DATA';
set newname for datafile 2 to '+DATA';
set newname for datafile 3 to '+DATA';
set newname for datafile 4 to '+DATA';
set newname for tempfile 1 to '+DATA';
duplicate target database to PROD backup location '/home/oracle'
logfile
group 1('+DATA') size 50m reuse,
group 2('+DATA') size 50m reuse,
group 3('+DATA') size 50m reuse;
}
11、验证auxiliary数据库的复制结果,对比之前的文件系统目标库
select name from v$datafile;
select name from v$tempfile;
select member from v$logfile;
show parameter control_file;
select name,open_mode from v$database;
12、auxiliary数据库从内存中创建参数文件到ASM磁盘组+DATA/PROD
create spfile='+DATA/PROD/spfilePROD.ora' from memory;
13、创建auxiliary的pfile文件,指定spfile所在路径.红色字体内容是需要添加的。
$ vi $ORACLE_HOME/dbs/initPROD.ora
SPFILE='+DATA/PROD/spfilePROD.ora’
14、使用新创建的initPROD.ora来启动auxiliary数据库
shutdown immediate;
startup;
show parameter spfile;
Oracle 11gR2使用RMAN duplicate复制数据库的更多相关文章
- Oracle 11gR2 使用RMAN Duplicate复制数据库
Oracle 11gR2 使用RMAN Duplicate复制数据库 前言: 上周刚做完一个项目,用户要求RAC的数据库可以自己主动备份到另外一个单节点上,单节点可以正常拿起来就能用. ...
- 11g 使用rman duplicate复制数据库,创建辅助实例
一,创建所需目录 1)创建审计文件目录 PROD1@dbrac1 /dsg/oracle11$ cd $ORACLE_BASE/admin PROD1@dbrac1 /u01/app/oracle/a ...
- Oracle Study之--Oracle 11gR2通过RMAN克隆数据库
Oracle Study之--Oracle 11gR2通过RMAN克隆数据库 Purpose of Database Duplication A duplicate database is usefu ...
- 使用RMAN创建复制数据库
我的实验环境: - 源数据库A机: RHEL6.4 + Oracle 11.2.0.4 IP地址:192.168.99.159 db_name=oradb 数据库已正常运行 - 复制数据库B机: RH ...
- Duplicate复制数据库并创建物理StandBy(spfile+不同实例名+不同路径)
过程和Duplicate复制数据库并创建物理StandBy类似,只是不需要重启数据库. 目的:创建standby,不重启源数据库 1设定环境如下: Primary数据库 IP 172.17.22.16 ...
- Duplicate复制数据库并创建物理StandBy(spfile+不同实例名)
过程和Duplicate复制数据库并创建物理StandBy类似,只是不需要重启数据库. 目的:创建standby,不重启源数据库 1设定环境如下: Primary数据库 IP 172.17.22.16 ...
- Duplicate复制数据库并创建物理StandBy(spfile版本)
过程和Duplicate复制数据库并创建物理StandBy类似,只是不需要重启数据库. 目的:创建standby,不重启源数据库 1设定环境如下: Primary数据库 IP 172.17.22.16 ...
- 使用rman中的duplicate复制数据库
目标库和复制库环境: OS: Linux Red Hat AS 4 DB Version: 10.2.0.1 1.目标库和复制库信息 Rman 中的目标库(target database)指的是被 ...
- 【Oracle】RMAN duplicate复制库
基础环境: 172.17.4.60 操作系统:Linux 6.4 数据库:Oracle11gR2 (源数据库) 172.17.4.61 操作系统:Linux 6.4 数据库:Oracle11gR2 ( ...
随机推荐
- 前后端分离demo 旅馆管理系统
模型设计 旅馆管理系统,主要涉及到登记入住,退房以及客房和客人信息管理:经过分析抽像出涉及到的实体以及各实体之间的关系: 可以看出整个业务以客房为中心,入住,退房,定价,收费都是以客房为基本单 ...
- Linux-485收发切换延迟的解决方法
[前言] 本文引用各种资料甚多,而引用出处标明并不详细,若有侵权,请联系删除. 转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10381616.html ...
- mvc导出excel记录
前言: 记录这篇使用记录,是为了方便以后学习查阅和让没有使用过的人了解一下,其中不足还请见谅.不是很全的文章,大神请绕行.在项目中我们或多或少的会遇到数据导出到excel表格以便线下查看或者记录一些需 ...
- Linux常用基本命令:三剑客命令之-awk内置变量与自定义变量
AWK中,变量分为两种:内置变量与自定义变量. 常见的内置变量有: FS:输入字段分隔符, 默认为空白字符 OFS:输出字段分隔符, 默认为空白字符 RS:输入记录分隔符(输入换行符), 指定输入时的 ...
- 读《阿里Java开发手册》总结(1)
一·命名约定 类名使用大驼峰式命名(领域模式相关命名除外:如DAO\VO\DO等). 常量必须全部大写,单词中间用“_”隔开(如MAX_COUNT). 抽象类命名使用Abstract或Base开头.异 ...
- Archlinux/Manjaro使用笔记-使用makepkg安装软件 报错:未找到strip分割所需的二进制文件 的解决方法
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 使用archlinux或manjaro安装aurman时遇到如下报错 错误:未找到strip分割所需的二进制文件 原因:未安装g ...
- 微信小程序实现验证码倒计时效果
效果图 wxml <input class='input-pwd' placeholder="新密码" placeholder-style='color: #000' pas ...
- 洛谷P3346 [ZJOI2015]诸神眷顾的幻想乡(广义后缀自动机)
题意 题目链接 Sol 广义SAM的板子题. 首先叶子节点不超过20,那么可以直接对每个叶子节点为根的子树插入到广义SAM中. 因为所有合法的答案一定是某个叶子节点为根的树上的一条链,因此这样可以统计 ...
- 【20190123】JavaScript-轮播图特效中出现的问题
使用纯html和JavaScript实现焦点轮播图特效,本来之前用setInterval()函数写的一个简单的循环轮播图,但是出现了两个问题: 1. 当网页被切换时,也就是网页失去焦点时,计时器函 ...
- SD从零开始65 框架协议(Outline Agreement)
SD从零开始65 框架协议(Outline Agreement) 合同-销售凭证类型Contracts-Sales Document Types 框架协议在几乎所有的业务处理中都扮演重要的角色:客户和 ...