单机对单机dataguard安装配置

###########2016年1月25日续写22日,因有事未完成的文章#############
2016年1月22日上午感冒了,9点上班打卡,睡到了8.40,距离上班地铁加走路得50分钟。于是果断打了车,堵车还是迟到了~哈哈。上午调了调sql,下午这边有套单机库要做个DG,头还是昏昏的。由于刚用博客记录我的DBA日常生活,特此将安装步骤记录在这里。下面是具体:

搭建DG的思路:
一.配主备库的网络保证DG里的任何一个机器可以sqlplus 远程登录
二.配参数
三.复制数据库做备库
四、由于需求没有要切换主备库测试(读写分离)这里仅给命令详解,不在生产操作了

具体详细步骤:
安装oracle软件,略。

一、配置网络
1.主备库tnsnames.ora文件一样:
MPOS =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.x.x)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = mpos)
    )
  )


MPOSDG =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.x.x)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = mposdg)
    )
  )
2)备库监听设置为静态监听:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.x.x)(PORT = 1521))
    )
  )


ADR_BASE_LISTENER = /data/app/oracle


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = mposdg)
      (ORACLE_HOME = /data/oracle/app/oracle/product/11.2/db_1)
      (SID_NAME = mposdg)
    )
  )

lsnrctl status
.......................
............................
Services Summary...
Service "mposdg" has 1 instance(s).
  Instance "mposdg", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
二、配置参数
1.主库配置DG参数
*.audit_file_dest='/u01/app/oracle/admin/mpos/adump'                                
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/data/oracle/mpos/control01.ctl','/data/oracle/rec/mpos/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_file_name_convert='/data/mposdg/','/data/oracle/mpos/'                        --主备库数据文件位置不一致的话需要此参数(format=primary,standby)
*.db_name='mpos'
*.db_recovery_file_dest='/data/oracle/rec'
*.db_recovery_file_dest_size=10737418240
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=mposXDB)'
*.fal_client='MPOS'                                            --理解成断点续传
*.fal_server='MPOSDG'                                        --理解传断点续传
*.log_archive_config='DG_CONFIG=(mpos,mposdg)'                        --方便管理
*.log_archive_dest_1='LOCATION=/data/oracle/arc valid_for=(all_logfiles,all_roles) db_unique_name=mpos'        --归档传输到本地用 LOCATION
*.log_archive_dest_2='service=mposdg lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=mposdg'--归档传输到备库,通过网络tns名传,数据库唯一名标示
*.log_archive_format='%t_%s_%r.dbf'
*.log_file_name_convert='/data/mposdg/','/data/oracle/mpos/'                        -- -主备库数据文件位置不一致的话需要此参数(format=primary,standby )
*.memory_max_target=25769803776
*.memory_target=25769803776
*.open_cursors=300
*.processes=1000
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=1536
*.standby_file_management='AUTO'                                            --自动同步表空间
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'

2.创建创建standby库的日志文件(对备库有效)
alter database add standby logfile '/data/oracle/mpos/redo01_sty.log' size 500m;
alter database add standby logfile '/data/oracle/mpos/redo02_sty.log' size 500m;
alter database add standby logfile '/data/oracle/mpos/redo03_sty.log' size 500m;
alter database add standby logfile '/data/oracle/mpos/redo04_sty.log' size 500m;

3.创建standby参数文件:
*.audit_file_dest='/data/oracle/app/oracle/admin/mposdg/adump'                                --手工创建此目录
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/data/mposdg/control01.ctl','/data/mposdg/control02.ctl'                    --根据你备库存放的位置来改
*.db_block_size=8192
*.db_domain=''
*.db_file_name_convert='/data/oracle/mpos/','/data/mposdg/'                                    --和主库相反
*.db_name='mpos'
*.db_unique_name='mposdg'
*.diagnostic_dest='/data/oracle/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=mposXDB)'
*.fal_client='MPOSDG'                    --和主库相反
*.fal_server='MPOS'                        --和主库相反
*.instance_name='mposdg'
*.log_archive_config='DG_CONFIG=(mpos,mposdg)'        --不变
*.log_archive_dest_1='LOCATION=/data/arch/ valid_for=(all_logfiles,all_roles) db_unique_name=mposdg'        --填写本地的归档目录
*.log_archive_dest_2='service=mpos lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=mpos' --填写远程的
*.log_archive_format='%t_%s_%r.dbf'
*.log_file_name_convert='/data/oracle/mpos/','/data/mposdg/'            --和主库相反
*.memory_max_target=25769803776
*.memory_target=25769803776
*.open_cursors=300
*.processes=1000
*.remote_login_passwordfile='EXCLUSIVE'
*.service_names='mpos'
*.sessions=1536
*.standby_file_management='AUTO'                        --不变
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'

4.启动standby到nomount状态
5.主库(要完全顺利的登录 ,额外输入用户和密码,表示你监听应该配的有问题):
sqlplus sys/xxx@mpos as sysdba
sqlplus sys/xxx@mposdg as sysdba
6.备库(要完全顺利的登录,额外输入用户和密码,表示你监听应该配的有问题):
sqlplus sys/xxx@mpos as sysdba
sqlplus sys/xxx@mposdg as sysdba

三、复制主库做备库(standby logfile 已经在主库创建了,复制的时候也一并过来,所以不需要单独创建,除非出问题,比如说备库日志没法写入到standby logfile)
rman target sys/123@mpos auxiliary sys/123@mposdg nocatalog;
duplicate target database for standby from active database nofilenamecheck;
等待完成即可。
四、打开数据库到open状态(duplicate做的直接startup即可,或者alter database open)

五、开启实时应用(tail -f 观察备库的alterSID.log日志)
recover managed standby database using current logfile disconnect from session;

六、测试
创用户、表空间、表、

七、主备切换测试
1)主备库先查看switchover_status状态
select switchover_status from v$database;

主库先操作:
alter database commit to switchover to physical standby with session shutdown;        --切换数据库成物理备库并且关闭会话,11g数据库这时候已经关闭了,10g的话,需要进行下面红色字体的步骤
select switchover_status from v$database;                                                            --查看 switchover_status 状态
shutdown immediate;
startup nomount; 
alter database mount standby database; 
alter database open read only;
recover managed standby database using current logfile disconnect from session;        --开启实时应用mrp进程


备库后操作:
alter database commit to switchover to primary;                                                       --修改数据库切换为主库
shutdown immediate;                                                                                          --关库
startup                                                                                                              --开库

以上就是物理备库,主备切换命令了
2)切换主备观察下switchover_stats状态,11g主库状态应该是“TO STANDBY”,备库:“NOT ALLOWED”,如果是‘3)’里提到的问题的话,查看主备库的警告日志和tns网络哪些
主备库查看数据库:
set linesize 200
select SWITCHOVER_STATUS,open_mode,DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;
select SWITCHOVER_STATUS from v$database;

3)
常见问题处理:
to primary 可以正常切
to standby 可以正常切
not allowed 备库的话是正常的11g,主库to standby,的时候备库to primary ,只要主库起来,备库就是not allowed。 
RESOLVABLE GAP 主备库数据不一致,要么等待,要么备库mrp进程开启下
FAILED DESTINATION 可能监听问题,如果数据库重启了,注意监听!看日志确定,不定。复杂

4)如果切完之后归档没有应用过来的话,手工的拷贝过来,然后导备库注册下,重启mrp进程即可。
(1)ALTER DATABASE REGISTER LOGFILE 'e:\ora10g\jsspdg\xxxx.arc';
(2)重启redo应用即可




总结:
1.以上简单的单机对单机的DG搭建。
2.如果是一主多备的话,考虑归档参数、tns网络、数据文件位置、断点续传功能那的参数即可。
3.如果是双节点的rac对单机的DG的话,记得rac两节点上都配上tns,和一些细节的地方注意下。
4.以上是我学习DG和使用过程中的一些步骤吧,可能有的地方说的不是那么详细或者是有误,如有错误,欢迎指正修改。本人邮箱:jijyoracle@163.com





来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30536096/viewspace-1981941/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30536096/viewspace-1981941/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值