Oracle数据库管理每周一例-第十七期 ADG
Oracle数据库管理每周一例(12.2,18c,19c) 2020-10-16
- 第十七期 ADG
- 1.概念
- 2.环境说明
- 3.搭建流程-主库处理
- 1.配置静态监听
- 2.配置本地命名
- 3.数据库参数配置
- 4.生成pfile和密码文件
- 4.搭建流程-备库处理
- 1.创建目录并上传密码文件
- 2.配置静态监听
- 3.添加数据库服务
- 4.修改参数文件
- 5.搭建流程-创建DG/ADG
- 1.复制数据库并正确启动备库
- 2.创建dg broker配置
- 3.配置ADG
- 下期预告:
第十七期 ADG
中秋+国庆假期算是停更了两周,嘿嘿。结果祖国母亲生日+中秋那天我这边某机房断电了,虽然没有影响我手上的机器,但是作为整个中心稀有的DBA还是帮助其他业务线处理了下断电后数据库的相关问题,算是假期中的一个小插曲
1.概念
首先,DG,Data Guard,简单来说就是两套Oracle数据库保持数据同步的一种容灾技术。目前主要分为物理备库(Physical Standby)和逻辑备库(Logical Standby)两种DG方式,一般采用物理备库这种方式(逻辑备库本身有一些小问题)。
而ADG(Active - Data Guard)是11g引入的一个新特性,本来的物理备库,备端数据库是处于mount状态,只有在switchover或者failover后才能open可用。而ADG可以让备库处于OPEN - READ ONLY WITH APPLY,备库与主库实时同步且可读。ADG也提供了一种读写分离架构。
下面讲解一下ADG的构建,这里主要是针对使用ASM存储,开启OMF,单节点对单节点的搭建方式,适用于单实例ADG搭建也适合RAC使用VIP进行搭建。由于DG是基于CDB级别的,所以多租户环境和普通环境搭建过程没有差异。
下面搭建过程讲解基于12.2版本,主要是针对成功案例修改后的命令展示,没有啥截图哈。
2.环境说明
3.搭建流程-主库处理
1.配置静态监听
添加一个名称为lsnr2,端口为1524的静态监听用于DG
su - grid
srvctl add listener -l lsnr2 -o $ORACLE_HOME -p 1524
cd /u01/app/12.2.0/grid/network/admin
vim listener.ora
SID_LIST_LSNR2 =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = prod)(ORACLE_HOME = /u01/app/oracle/product/12.2.0/dbhome_1)(SID_NAME = prod))(SID_DESC =(GLOBAL_DBNAME = prod_DGMGRL)(ORACLE_HOME = /u01/app/oracle/product/12.2.0/dbhome_1)(SID_NAME = prod))(SID_DESC =(program = extproc)(ORACLE_HOME = /u01/app/oracle/product/12.2.0/dbhome_1)(SID_NAME = plsextproc)))#RAC中每个实例都要创建对应实例的静态监听
srvctl start listener -l lsnr2
2.配置本地命名
主库本地命名为prod,备库本地命名为sbdb
su - oracle
cd /u01/app/oracle/product/12.2.0/dbhome_1/network/admin
vim tnsnames.ora
PROD =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.11)(PORT = 1524))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = prod)))SBDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.111)(PORT = 1524))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = sbdb)))
3.数据库参数配置
su - oracle
sqlplus / as sysdba
shutdown immediate
startup mount
alter database archivelog;
alter database force logging;
#开启归档并开启强制日志alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(prod,sbdb)' sid='*';
alter system set fal_client='prod' sid='*';
alter system set FAL_SERVER='sbdb' sid='*';
alter system set dg_broker_config_file1='+DATA/dr1prod.dat' sid='*';
alter system set dg_broker_config_file2='+FRA/dr2prod.dat' sid='*';
alter system set standby_file_management=AUTO scope=both sid='*';
#调整DG相关配置alter database add standby logfile group 30 ('+DATA') size 2G;
alter database add standby logfile group 31 ('+DATA') size 2G;
alter database add standby logfile group 32 ('+DATA') size 2G;
alter database add standby logfile group 33 ('+DATA') size 2G;
alter database add standby logfile group 34 ('+DATA') size 2G;
#添加standby日志组,这里需要注意一点,standby日志文件组大小必须于redo日志组大小一致,数量比实例日志组数量多1-3组,需要预先规划好;如果是RAC环境,logfile后还需要添加thread X关键字,每个实例都需要配置单独thread的standby日志组
4.生成pfile和密码文件
su - oracle
sqlplus / as sysdba
create pfile='/home/oracle/initsbdb.ora' from spfile;
scp initsbdb.ora 10.10.10.111:~
su - grid
asmcmd
asmcmd> pwcopy +DATA/PROD/PASSWORD/pwdprod.xxxx.xxxxxxx /home/grid/pwdsbdb
asmcmd> exit
scp pwdsprodcdb 10.10.10.111:~
4.搭建流程-备库处理
1.创建目录并上传密码文件
su - oracle
mkdir -p /u01/app/oracle/audit/sbdb/
mkdir -p /u01/app/oracle/admin/sbdb/adump
#RAC环境每个实例都要创建对应目录su - grid
asmcmd
#创建ASM磁盘组中对应目录(略)
asmcmd> pwcopy /home/grid/pwdsbdb +DATA/SBDB/PASSWORD/pwdsbdb
2.配置静态监听
添加一个名称为lsnr2,端口为1524的静态监听用于DG
su - grid
srvctl add listener -l lsnr2 -o $ORACLE_HOME -p 1524
cd /u01/app/12.2.0/grid/network/admin
vim listener.ora
SID_LIST_LSNR2 =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = sbdb)(ORACLE_HOME = /u01/app/oracle/product/12.2.0/dbhome_1)(SID_NAME = sbdb))(SID_DESC =(GLOBAL_DBNAME = sbdb_DGMGRL)(ORACLE_HOME = /u01/app/oracle/product/12.2.0/dbhome_1)(SID_NAME = sbdb))(SID_DESC =(program = extproc)(ORACLE_HOME = /u01/app/oracle/product/12.2.0/dbhome_1)(SID_NAME = plsextproc)))#RAC中每个实例都要创建对应实例的静态监听
srvctl start listener -l lsnr2
3.添加数据库服务
su - oracle
单实例:
srvctl add database -db sbdb -oraclehome $ORACLE_HOME spfile +DATA/SBDB/PARAMETERFILE/spfilesbdb.ora -role PHYSICAL_STANDBY -startoption MOUNT -stopoption IMMEDIATE -dbname prod -diskgroup DATA,FRA RAC:
srvctl add database -db sbdb -oraclehome $ORACLE_HOME -dbtype RAC -spfile +DATA/SBDB/PARAMETERFILE/spfilewgdbdg.ora -role PHYSICAL_STANDBY -startoption MOUNT -stopoption IMMEDIATE -dbname prod -diskgroup DATA,FRA
srvctl add instance -db sbdb -i sbdbg1 -n hostname1
srvctl add instance -db sbdb -i sbdb2 -n hostname2
srvctl add instance -db sbdb -i sbdb3 -n hostname3
...srvctl modify database -d sbdb -pwfile +DATA/SBDB/PASSWORD/pwdsbdb
4.修改参数文件
su - oracle
vim initsbdb.ora
#修改
LOG_ARCHIVE_CONFIG='DG_CONFIG=(sbdb,prod)'
fal_client='sbdb'
FAL_SERVER='prod'
dg_broker_config_file1='+DATA/dr1sbdb.dat'
dg_broker_config_file2='+FRA/dr2sbdb.dat'
#添加
db_unique_name='sbdb'
sqlplus / as sysdba
create spfile from pfile='/home/oracle/initsbdb.ora'
startup nomount
5.搭建流程-创建DG/ADG
1.复制数据库并正确启动备库
su - oracle
rman target sys/...@prod auxiliary sys/...@sbdb
rman> duplicate target database for standby nofilenamecheck from active database;备库:
su - oracle
sqlplus / as sysdba
shut immediate
srvctl start database -db sbdb
主备库均执行以下SQL:
alter system set dg_broker_start=true;
2.创建dg broker配置
dgmgrl sys/...@prod
dgmgrl> create configuration testdg as primary database is prod connect identifier is prod;
dgmgrl> add database sbdb as connect identifier is sbdb;
dgmgrl> enable configuration;
dgmgrl> show configuration;
#此时DG已搭建完成
3.配置ADG
备库:
su - oracle
sqlplus / as sysdba
alter database open;
alter database recover managed standby database using current logfile disconnect;
alter pluggable database all open;
dgmgrl sys/...@wgdbaass
dgmgrl>edit database prod set property logxptmode='sync';edit database sbdb set property logxptmode='sync';disable configuration;enable configuration;show configuration;show database prod;show database sbdb;
RAC环境备库还需要将其他实例启动到open状态,主备库数据实时同步且备库可查询。
下面为生产环境马赛克后的截图,仅供参考:
下期预告:
待定
Oracle数据库管理每周一例-第十七期 ADG相关推荐
- Oracle数据库管理每周一例-第十四期 19c需要调整的参数及操作
Oracle数据库管理每周一例(12.2,18c,19c) 2020-09-13 第十四期 19c需要调整的参数及操作 1.说明 2.需要调整的参数 3.补丁 下期预告: 第十四期 19c需要调整的参 ...
- Oracle数据库管理每周一例-第十五期 一些工具和小技巧
Oracle数据库管理每周一例(12.2,18c,19c) 2020-09-20 第十五期 一些工具和小技巧 1.EMCC 2.MOS 3.其他一些工具和技巧 下期预告: 第十五期 一些工具和小技巧 ...
- 肺结节圆形边界光滑_【每周一例】32期讨论实录 肺部这光滑结节,是PSP吗?
曹志勇: 边缘锐利,规整,软组织结节,渐进性强化,考虑Psp 玫: 右肺门类圆形肿块影,边缘光滑清晰,血管贴边,增强扫描均匀性强化,考虑PSP,鉴别错构瘤 宇宙星空: 右肺门类圆形占位性病灶,边缘平直 ...
- 《Oracle数据库管理与维护实战》——2.11 Oracle数据字典
本节书摘来自异步社区出版社<Oracle数据库管理与维护实战>一书中的第2章,第2.11节,作者: 何伟娜 , 常建功,更多章节内容可以访问云栖社区"异步社区"公众号查 ...
- Oracle数据库管理与开发pdf
下载地址:网盘下载 基本介绍 编辑 内容简介 Oracle是一个适合于大中型企事业的数据库管理系统,在银行.电信.移动通信.航空.保险.金融.气象.铁路.跨国公司和电子商务等诸多领域得到了广泛的应用. ...
- 大型EAI项目中的ORACLE 数据库管理(ZT)
数据库在大型EAI(企业应用集成)项目中扮演着至关重要的角色.目前许多企业都迫切需要将其自身传统的管理与运作模式转化为先进.高效的信息化管理与运作模式.在实施企业信息化的过程中,怎样将该企业原有大量数 ...
- 开发者论坛一周精粹(第十七期) :【漏洞预警】Windows再被爆SMB服务0day漏洞,阿里云提示您关注并修复...
第十七期(2017年7月31日-2017年8月6日 ) 在美国拉斯维加斯举行的2017年度DEF CON黑客大会上,安全研究人员公布了Windows系统上的一个长达20年没有发现的漏洞,该漏洞名为&q ...
- oracle管理 题库,Oracle数据库管理与开发习题集
第1章 简单查询.限制性查询和数据的排序 练习题和解答 补充练习题和解答 第2章 常用的SQL*Plus命令和环境变量 练习题和解答 补充练习题和解答 第3章 函数.NULL值的处理以及逻辑操作 练习 ...
- 经典C语言程序100例之十七
经典C语言程序100例之十七 如题 话不多说了,直接上代码 如题 [程序17] 题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 1.程序分析:利用while语句,条件为输入的 ...
最新文章
- c语言变量在头文件定义变量吗,在头文件C中声明变量
- [UGUI]圆形Image
- Spring boot日志框架
- iOS关于RunLoop和Timer
- jbpm 和 drools_jBPM和Drools工作台中的用户和组管理
- linux下安装Oracle10g时,安装rpm文件的技巧 (rpm -Uvh package名)
- linux: chmod,chown命令详解
- 吊打面试官 | Java到底是值传递还是引用传递
- java 中linux命令参数说明,java中linux命令参数说明
- 2019年前端开发10大战略性技术蓝图
- C++STL之优先队列
- 关于php调用.net的web service 踩过的坑
- Maven项目导入到Eclipse时Build出现the user operation is waiting for building workspace to complete的问题解决
- android theme.appcompat.light,Theme.AppCompat.Light的解决方法
- 两台计算机互联方案,如何连接两台电脑
- GeForce Experience 安装时乱码解决
- 知码开门的奇葩编译器
- 全网最好的子网划分方法与例题解析
- vue中如何实现列表的详情页获取及渲染
- 他一年开发19款!款款口碑爆棚