Data guard 简单搭建过程

Data guard

感谢《Oracle11gR2下搭建DataGuard主备同步详解》与《手把手教你安装Data Guard 》 我是按照这两篇文章成功搭建的!

 

一、        基本信息

备库只安装软件

IP地址:192.168.10.101

主机名:rac1

oracle_sid:milan01

db_name:milan01

db_unique_name:zk

service_name:zk

global_name:zk

监听名,端口:listener,1521

 

 

IP地址:192.168.10.102

主机名:test.com

oracle_sid:milan01

db_name:milan01

db_unique_name:bk

service_name:bk

global_name: bk

监听名,端口:listener,1521

二、        配置host文件

192.168.10.101 ora1

192.168.10.102test.com

三、        主备都开启监听

四、        查看归档状态

SQL>archive log list

Database logmode           Archive Mode

Automaticarchival          Enabled

Archivedestination          /u01/arch

Oldest onlinelog sequence     45

Next logsequence to archive   47

Current logsequence        47

主库执行  SQL>alter database force logging;

五、     传输密码文件到备库

六、     主备库监听及tns配置

1     主库监听配置

SID_LIST_LISTENER=

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = zk)

      (ORACLE_HOME = /u01/app/oracle)

      (SID_NAME = milan01)

    )

  )

 

LISTENER =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST =ora1)(PORT = 1521))

  )

 

ADR_BASE_LISTENER = /u01/app

2     主库tns配置

ZK =

 (DESCRIPTION =

   (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST =ora1)(PORT = 1521))

   )

   (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = zk)

   )

 )

 

BK =

 (DESCRIPTION =

   (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST =test.com)(PORT = 1521))

   )

   (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = bk)

   )

  )

3      备库监听及tns配置参考主库

七、      更改Pfile参数

*.db_file_name_convert='/u01/app/oradata/bk','/u01/app/oradata/zk'

*.DB_UNIQUE_NAME='zk'

*.fal_client='zk'

*.fal_server='bk'

*.log_archive_config='DG_CONFIG=(zk,bk)'

*.log_archive_dest_1='LOCATION=/u01/archLGWR VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=zk'

*.log_archive_dest_2='SERVICE=bkASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=bk'

*.log_archive_dest_state_1='ENABLE'

*.log_archive_dest_state_2='ENABLE'

*.log_file_name_convert='/u01/app/oradata/bk','/u01/app/oradata/zk'

*.standby_file_management='AUTO'

保存后复制到备库,然后做相应更改

八、      备库创建pfile文件中没有的目录

在Oracle用户下创建mkdir -p /u01/app/oraclebackup/{controlfile,datafile}

创建一个存放rman所备份的数据库文件的目录,controlfile存放控制文件备份,datafile存放数据文件(表空间等等)

mkdir -p${ORACLE_BASE}/flash_recovery_area/BK /archivelog

创建实例存放归档日志的目录,同时也接收主库传递过来的归档日志

九、      主库配置

在Oracle用户下创建mkdir -p /u01/app/oraclebackup/{controlfile,datafile}

进入rman

RMAN>configure controlfile autobackup on;

RMAN>configure controlfile autobackup format for devicetype disk to '/0u1/app/oraclebackup/controlfile/%F'

RMAN>backup device type disk format'/u01/app/oraclebackup/datafile/%U' database plus archivelog;

在系统下scp/u01/app/oraclebackup/datafile/*   test.com:/u01/app/oraclebackup/datafile/

scp/u01/app/oraclebackup/controlfile/*   test.com:/u01/app/oraclebackup/controlfile/

十、      备库

exportORACLE_SID=milan01

sqlplus / assysdba

startup nomount

十一、        主库

exportORACLE_SID=milan01

rman target /

connectauxiliary sys/syspassword@BK

duplicatetarget database for standby;(如果报错可执行duplicate target database for standby nofilenamecheck;)

十二、     备库执行以下语句

SQL> alter database recover managedstandby database disconnect from session;

SQL>SELECTSEQUENCE#, REGISTRAR, FIRST_TIME, NEXT_TIME, APPLIED FROM V$ARCHIVED_LOG ORDERBY SEQUENCE#;

十三、        备库添加日志文件

SQL>ALTERDATABASE ADD STANDBY LOGFILE '/u01/app/oradata/bk/redo01_dg1.log' size 512M;
SQL>ALTER DATABASE ADDSTANDBY LOGFILE '/u01/app/oradata/bk/redo02_dg1.log' size 512M;

SQL>ALTERDATABASE ADD STANDBY LOGFILE '/u01/app/oradata/bk/redo02_dg1.log' size 512M;

十四、        主库添加日志文件

SQL>ALTERDATABASE ADD STANDBY LOGFILE '/u01/app/oradata/zk/redo01_dg1.log' size 512M;
SQL>ALTER DATABASE ADDSTANDBY LOGFILE '/u01/app/oradata/zk/redo02_dg1.log' size 512M;

SQL>ALTERDATABASE ADD STANDBY LOGFILE '/u01/app/oradata/zk/redo02_dg1.log' size 512M;

十五、        备库执行

SQL> alterdatabase recover managed standby database disconnect from session;

SQL> alterdatabase recover managed standby database cancel;

SQL> alterdatabase open read only;

十六、        在主库做测试,如果备库没有同步则执行

SQL>alterdatabase recover managed standby database using current logfile disconnect fromsession;

假如上一步主库在插入数据等对表中数据进行更改的操作中没有执行commit提交操作,则备库会查找不到同步数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值