在dg中建立oracle,Oracle Dg配置过程

Oracle Dg配置过程

发布时间:2020-03-02 23:51:19

来源:51CTO

阅读:834

作者:小陈子057

第一章:Dg理论讲述

Data Guard(简称:Dg)是oracle高可用性体系中的一种工具。Dg通过冗余数据来提供数据保护,Dg通过日志同步机制保证冗余数据和主数据之前的同步,这种同步可以是实时、延时、同步、异步多种形式。Dg常用于异地容灾和小企业的高可用性方案中。Dg可以在standby机器上执行只读查询,从而分散primary数据库的性能压力。

在Dg环境中,至少有两个数据库,一个处于open状态对外提供服务,这个数据库叫做primary database。第二个处于恢复状态,叫做standby database。运行时primary database 对外提供服务,用户在primary database上进行操作,操作被记录在联机日志和归档日志中,这些日志通过网络传递给standby database。这个日志会在standby database上重演,从而实现primary database和standby database的数据同步。

第二章:Dg架构

Dg架构可以按功能分成3个部分:

1) 日志发送(redo send)

2) 日志接收(redo receive)

3) 日志应用(redo apply)

1、 日志发送:

Primary database运行过程中,会源源不断产生redo日志,这些日志需要发送到standby database。这个发送动作可以由primary database的LGWR或ARCH进程完成,不同的归档目的地可以使用不同的方法,但是对于一个目的地,只能选用一种方法。选择哪个进程对数据库保护能力和系统可用性有很大区别

1) 使用ARCH进程:

Primary database 不断产生redo log,这些日志被LGWR进程写到联机日志;

当一组联机日志被写满之后,会发生日志切换,并且会触发本地归档;

完成本地归档后,联机日志就可以被覆盖重用;

ARCH进程通过net把归档日志发送给standby database的RFS进程;

Standby database端的RFS进程把接收的日志写入归档日志;

Standby database端的MRP进程或LSP进程在standby database上应用这些日志,进而同步数据。

2) 使用LGWR进程:

Primary database产生的日志同时写到日志文件和网络。也就是说LGWR进程把日志写到本地日志文件的同时还要发送给本地的LNSn进程,再由LNSn进程把日志通过网络发送到远程的目的地;

LGWR必须等待写入到本地日志文件操作和通过LNSn进程的网络传送成功,primary database上的事务才能提交;

Standby database的日志切换也会触发standby database上的日志切换,及standby database对standby redo_log的归档,然后触发standby database的MRP或LSP进程恢复归档日志。

2、 日志接收:

Standby database的RFS进程接收到日志后,就把日志写到standby redo log或archived log文件中,具体写入哪个文件,取决于primary的日志传送方式和standby database的位置。如果写到standby redo log文件中,则当primary database发生日志切换时,也会触发standby database上的standby redo log的日志切换,并把这个standby redo log归档。如果写到archived log,那么这个动作本身也可以看做是个归档操作。

3、 日志应用:

日志应用服务,就是在standby database上重演primary database日志,从而实现两个数据库的数据同步。

第三章:Dg配置过程

1、首先将源库设置为强制归档模式:

通过sqlplus / as sysdba进入数据库

fecf5b14953279ebc1d41acade3adb69.png

2、源库设置成归档模式,目前建立数据库实例的时候已经设置完成。

839659e3448cfbde11e89156acd3c723.png

3、源库中添加如下与dg关联参数,添加完成后重启所有数据库实例:

04711e8e31cd1e78a04811ac4a4bef8b.png

8827243389e31d6928b7383027e56303.png

20cc493509f50be21ccaebd3047e3b45.png

9f9a10407421fc2e64584b1cd952d6b3.png

6c0676fd3f15637aa84e45733d20c00a.png

6bdf35a94443d18c3623b1cf90e17f6d.png

f48c2ef79ee590b7365684feeaf946b4.png

c82c7f46d6b17cd3b23e3da6713e9cbf.png

db758c25263191950bb95b9d1b4b6e56.png

0a6090351b9d13fbda2dacdf418c5425.png

4、查看logfile(每个为500M)和创建standby_logfile

d8ef8b20e867cf55061fb1ba4bca111b.png

7e875bdbf18a843a5e79030b5f9b36fb.png

53e46162911369fdf7f842ee7c4fa277.png

9e1d270877e444121ad5e99a45b2011d.png

170aed14ff07f491d64688c922d9f78e.png

daf14ff61fee6b1f50cecea43c7c3212.png

5、Rman备份整个源库,备份完成后将备份文件复制到源库对应目录

d0a697652323a673560e17d4f0ef0669.png

c31ea82b195a45112c769f27d60592b4.png

6、创建standby库的pfile,(该过程从源库中备份过去并进行相关的修改)

4f90b95bdb9f09cce5722176f1b1ecee.png

b65dc7f7f541993f4d19dec0d3d25c5b.png

7、修改后的参数如下:

e12f526da0e4042554260b279ecc9a97.png

9a589a248e4b3e7b758dc98de30d48ab.png

8、修改源库的tnsname.ora,同时复制到目标库对应位置。

c120ef19152d55e90ea124abfaa4dcfe.png

9、dg服务器上创建所需的目录:

oracle下:

mkdir -p /u01/app/oracle/admin/easdb_dg/adump

mkdir -p /oradata/easdb_dg/controlfile/

mkdir -p /oradata/easdb_dg/standbylog/

mkdir -p /oradata/easdb_dg/onlinelog/

mkdir -p /u01/app/oracle/diag/rdbms/easdb_dg/oem/trace/cdump

root下:

mkdir /backup

chown oracle:oinstall /backup

8f3cb5c6ebcf6f05fea4ca1bca8078a5.png

0dbe890296af81d1ec8c668ebf20379b.png

7d5436f2809d7e714e5f78054939eec2.png

10、统一源和目标库的密码:

a94823973cbb2baf3dfe408236cacfbe.png

5a097eb5f12d661211b10461e04e0d1c.png

11、Dg库nomount启动

20e829e24e22733d7c2c7f07b79091f4.png

12、源库端:rman建立dataguard数据库

rman target / auxiliary sys/kingdee123@easdb_dg

DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK;

02f349948734deb2a57ec6a7755b6d2d.png

13、恢复完成后,将目标库当前用的pfile文件创建为当前的spfile,然后启动数据库到mount模式

73d3a0e2b606ad383b9f4328a9a28331.png

14、目标库设置为日志恢复模式

7ab4590a41304a8afe7bc476a5a48806.png

大功告成!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值