创建DG《大话 Oracle Grid》(duplicate)

本文整理自张晓明的《大话Oracle Grid》
环境准备:

主库:10.107.173.11
备库:10.107.173.12

系统初始化略,主库安装Oracle软件和实例,备库只安装Oracle软件略,可以参考我的文章Centos7.x静默安装11gR2

备库配置好静态监听,主库备库写好tns文件,主库密码文件scp到备库
主备库tns文件如下:

tnspri=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.107.173.11)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pridb)
    )
  )

tnsstd=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.107.173.12)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = stddb)
    )
  )

主库:

alter system set db_unique_name = 'pridb' scope=spfile;
shu immediate;
startup;
show parameter name;
db_unique_name                       string      pridb

主备都执行(测试):

sqlplus sys/oracle@tnspri as sysdba
sqlplus sys/oracle@tnsstd as sysdba

配置Primary数据库到Standby数据库的归档

--主库要是归档模式,如果是AVAILABILITY或者PROTECTION模式的话log_archive_dest_2中就需要是LGWR SYNC AFFIRM
alter database force logging;
alter system set log_archive_dest_2='service=tnsstd LGWR ASYNC valid_for=(online_logfiles,primary_role) db_unique_name=stddb' scope=both;
alter system set log_archive_config='dg_config=(pridb,stddb)' scope=both;
alter system set standby_file_management=auto scope=both;
alter system set fal_client=tnspri scope=both;
alter system set fal_server=tnsstd scope=both;

--检查是否生效
SQL> set linesize 500 pages 0
SQL> col value for a90
SQL> col name for a50
SQL> select name, value from v$parameter where name in ('db_name','db_unique_name','log_archive_config', 'log_archive_dest_1','log_archive_dest_2','log_archive_dest_state_1','log_archive_dest_state_2','remote_login_passwordfile','log_archive_format','log_archive_max_processes','fal_server','db_file_name_convert', 'log_file_name_convert', 'standby_file_management');

主库:

create pfile from spfile;

备库创建主库参数文件中的目录路径
Standby准备参数文件

db_name='prod'
db_unique_name='stddb'

备库:

startup nomount;
rman target sys/oracle@tnspri auxiliary sys/oracle@tnsstd
run {
duplicate target database
for standby
from active database nofilenamecheck
下面几乎可以指定所有参数
spfile
 set 'db_unique_name'='stddb'
 set log_archive_dest_2='service=tnspri LGWR ASYNC valid_for=(online_logfiles,primary_role) db_unique_name=pridb'
 set fal_client='tnsstd'
 set fal_server='tnspri'
 --指定数据文件的位置
 set db_file_name_convert='主库原路径','备库新路径'
 --指定redo日志文件的位置
 set log_file_name_convert='主库原路径','备库新路径'
 ;
 }

Standby进入恢复状态

alter database recover managed standby database disconnect from session;

进入只读状态

alter database recover managed standby database cancel;
alter database open;
SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ ONLY
alter database recover managed standby database disconnect from session;
SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ ONLY WITH APPLY

这个时候不是实时应用的,因为备库没有standby redo日志

alter database add standby logfile
group 4 ('/u01/app/redo/styredo04.log') size 100m, 
group 5 ('/u01/app/redo/styredo05.log') size 100m,
group 6 ('/u01/app/redo/styredo06.log') size 100m,
group 7 ('/u01/app/redo/styredo07.log') size 100m;

alter database recover managed standby database using current logfile disconnect from session;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值