注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Oracle专业打杂

定会重回巅峰……

 
 
 

日志

 
 

【转】 使用oracle 11g rman新特性 duplicate target database for standby from active database 创建物理dataguard并开启Real  

2016-03-16 08:06:47|  分类: Oracle高级 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
11g之前,对于大数据库的dataguard创建,最烦的就是搞备份,因为rman无法远程备份阿,因此要么必须在本地搞个NAS存备份,要么用远程NFS,有时候明明standby端和主库的网络很好但还是要浪费这传输备份的时间,11g开发出了duplicate target database for standby from active database 这个新功能,使得dataguard创建时,如同创建stream时可以利用impdp/expdp的network_link功能一样,不需要创建备份而直接生成dataguard环境。下面就是单机上创建dataguard并且开启11g dataguard另外一大特性:Real-time query的大概流程。Real-time query支持dataguard在open read only的情况下apply主库的log。并且可以做到一致读,达成了物理standby的稳定+逻辑standby的报表查询,实在是非常强大。。。。。[@more@]

Oracle版本:11.1.0.6 for Linux x86_64

首先dcba创建了2个库,一个prdb,一个pstdb,这样省去创建standby数据库文件夹和密码文件的步骤。这当中还碰到个小问题,创建完数据库迟迟看不到监听注册2个实例。于是一看listener.log,只发现了一些Subscription for node down event still pending信息,这个是老毛病了,在listener.ora里加上SUBSCRIBE_FOR_NODE_DOWN_EVENT_=OFF就ok了,继续看,发现了- -hosts文件里的主机名和现在的hostname不匹配,好像IDC刚集体改过hostname。修正问题,监听注册上了,配了下tnsnames,让2个实例可以用sys互相连接。
接下来开始修改主库归档模式和一些参数,发现了11g中STANDBY_ARCHIVE_DEST参数已经被废弃。其实10g的时候随着unique_db_name和log_config等参数加入就觉得这个参数估计活不长了- -果然现在被拿掉了。
alter system set log_archive_dest_1='location=/u02/arch/prdb valid_for=(all_logfiles,all_roles) db_unique_name=prdb' scope=both;
alter system set fal_client='prdb' scope=both;
alter system set fal_server='pstdb' scope=both;
alter system set db_file_name_convert='pstdb','prdb' scope=spfile;
alter system set log_file_name_convert='pstdb','prdb' scope=spfile;
alter system set standby_file_management=auto scope=both;
alter system set db_unique_name='prdb' scope=spfile; 
alter system set log_archive_dest_2='service=pstdb reopen=120 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=prdb' scope=both;

修改完重启主库

备库么直接startup nomount就可以了
这里有一个问题:duplicate target database for standby from active database是需要使用net service name连接的,如果使用SID连接会报下面的错误:
ORACLE_SID=pstdb
rman target sys/xxx@prdb auxiliary /
RMAN-06217: not connected to auxiliary database with a net service name
但问题是,instance在mount/nomount阶段,net service name是blocked的,直接使用net service name连接又会发生别的错误:
rman target sys/xxx@prdb auxiliary sys/xxx@pstdb
RMAN-04006: error from auxiliary database
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
那么如何解决呢,其实只要修改监听的配置文件listener.ora,加一个静态注册就可以了:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = pstdb)
(ORACLE_HOME = /u01/app/product/11g/db_1)
(SID_NAME = pstdb)
)
)
另外tnsname.ora里修改成:
pstdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = pstdb)(UR=A)
)
)
也可以连接mount状态的instance,包括ASM的实例哦

做好这些工作以后,接下来的工作很方便了
在standby端:
rman target sys/nyqs8ap@prdb auxiliary sys/nyqs8ap@pstdb
连接后运行下面的脚本,RMAN会自动完成建立控制文件,参数文件,拷贝数据文件的工作。
run {
allocate channel prmy1 type disk;
allocate auxiliary channel stby type disk;
duplicate target database for standby from active database
spfile
parameter_value_convert 'prdb','pstdb'
set db_unique_name='pstdb'
set db_file_name_convert='/prdb/','/pstdb/'
set log_file_name_convert='/prdb/','/pstdb/'
set control_files='/u02/oradata/pstdb/control01.ctl'
set fal_client='pstdb'
set fal_server='prdb'
set standby_file_management='AUTO'
set log_archive_dest_1='location=/u02/arch/pstdb valid_for=(all_logfiles,all_roles) db_unique_name=prdb'
set log_archive_dest_2='service=prdb ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=prdb'
;
}

执行完毕后,添加Real-time query需要的standby redo log:

alter database add standby logfile '/u02/oradata/pstdb/stdbyredo01.log' size 50m;
alter database add standby logfile '/u02/oradata/pstdb/stdbyredo02.log' size 50m;
alter database add standby logfile '/u02/oradata/pstdb/stdbyredo03.log' size 50m;

alter database recover managed standby database disconnect from session;
alter database recover managed standby database cancel;
ALTER DATABASE OPEN;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

dataguard就开始Real-time Apply了,验证数据就自己来吧


(本文转自:http://blog.itpub.net/79686/viewspace-1016486/)

  评论这张
 
阅读(92)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017