ORACLE Physical Standby DG搭建
主库:
一:强制force logging: alter database force logging;
二:开启主库的归档模式
三:主库添加standby redo log,比redo日志组多一组:
ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/data/app/oracle/oradata/PROD/redo04_1.log','/data/app/oracle/oradata/PROD/redo04_2.log') size 1024M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/data/app/oracle/oradata/PROD/redo05_1.log','/data/app/oracle/oradata/PROD/redo05_2.log') size 1024M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/data/app/oracle/oradata/PROD/redo06_1.log','/data/app/oracle/oradata/PROD/redo06_2.log') size 1024M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('/data/app/oracle/oradata/PROD/redo07_1.log','/data/app/oracle/oradata/PROD/redo07_2.log') size 1024M;
select * from v$standby_log;
四:创建pfile文件
主库初始化参数的配置:注意:内存分配、数据目录、日志目录、DBname主备相同,DB_UNIQUE_NAME主备不同,11g动态注册的监听服务名、数据库的service_names与DB_UNIQUE_NAME一致
PROD.__data_transfer_cache_size=0
PROD.__db_cache_size=2415919104
PROD.__java_pool_size=16777216
PROD.__large_pool_size=33554432
PROD.__oracle_base='/data/oracle/product'#ORACLE_BASE set from environment
PROD.__pga_aggregate_target=1241513984
PROD.__sga_target=6861881344
PROD.__shared_io_pool_size=251658240
PROD.__shared_pool_size=4093640704
PROD.__streams_pool_size=33554432
*.audit_file_dest='/data/app/oracle/admin/PROD/adump'
*.audit_trail='db'
*.compatible='12.1.0.2.0'
*.control_files='/data/app/oracle/oradata/PROD/control01.ctl','/data/app/oracle/fast_recovery_area/PROD/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='PROD'
*.db_recovery_file_dest='/data/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4560m
*.diagnostic_dest='/data/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=PRODXDB)'
#*.log_archive_dest_1='location=/data/app/oracle/archivelog'
*.open_cursors=300
*.pga_aggregate_target=1512m
*.processes=5000
*.local_listener='LISTENER_PROD'
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=7536m
*.undo_tablespace='UNDOTBS1'
DB_UNIQUE_NAME=PROD
LOG_ARCHIVE_CONFIG='DG_CONFIG=(prod,proddg)'
LOG_ARCHIVE_DEST_1= 'LOCATION=/data/app/oracle/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=prod'
LOG_ARCHIVE_DEST_2= 'SERVICE=proddg ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=proddg'
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_DEST_1='enable'
LOG_ARCHIVE_DEST_2='enable'
FAL_CLIENT=prod
FAL_SERVER=proddg
DB_FILE_NAME_CONVERT='/data/app/oracle/oradata/PROD/','/data/app/oracle/oradata/PROD/'
LOG_FILE_NAME_CONVERT='/data/app/oracle/oradata/PROD/','/data/app/oracle/oradata/PROD/'
STANDBY_FILE_MANAGEMENT=AUTO
五:在主备库创建静态listener和tnsnames.ora,主库创建口令文件,发送到备库
LISTENER=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST= 10.26.208.131)(PORT=1521))
(ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=prod)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME=prod)
)
)
cat tnsnames.ora
prod=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=10.26.208.130)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=prod))
)
proddg=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=10.26.208.131)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=prod))
)
口令文件:orapwd file=orapwinstance_name(实例名) password= entries=10 force=y
在主库创建口令文件orapwpdb,然后scp到备库,在备库修改名为orapwsdb
六:在备库修改初始化参数文件pfile
七:对主库进行备份,发送至备库。
在主备库,创建/backup备份目录
对主库进行备份:
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
sql 'alter system archive log current';
backup format '/backup/db_%U_%T' skip inaccessible filesperset 5 database;
sql 'alter system archive log current';
backup format '/backup/db_%U_%T' skip inaccessible filesperset 5 archivelog all delete input;
backup current controlfile for standby format='/backup/control_%U';
release channel c2;
release channel c1;
}
八:主备机器配置双向SSH互信,将主库的备份复制到备库的/backup,相同目录,如果目录不相同,则使用catalog start with '备份所在的路径' 或者 catalog 例如:catalog backuppiece '/node2/database/backup/o1_mf_annnn_TAG20070213T002925_2x21m6ty_.bkp';
scp /backup/* 192.168.9.2:/backup/
九:开启备库至nomount,进行恢复
SQL>startup nomount
在备库进行恢复
RMAN>rman target sys/sys@prod auxiliary sys/sys@proddg
RMAN> duplicate target database for standby nofilenamecheck from active database;
十:打开备份,查询状态,可能需要应用归档进行恢复
重建备库的standby redo log(可选)
最后,验证主库
select dest_name,status,process,error,transmit_mode from v$archive_dest where target='STANDBY';
主备切换验证
问题处理:一主五从
ORA-16198: Timeout incurred on internal channel during remote archival
SQL>select dest_name,status,process,error,transmit_mode from v$archive_dest where target='STANDBY';
DEST_NAME STATUS PROCESS ERROR TRANSMIT_MOD
-------------------- --------- ---------- ----------------------------------------------------------------- ------------
LOG_ARCHIVE_DEST_2 ERROR LGWR ORA-16198: Timeout incurred on internal channel during remote ASYNCHRONOUS archival
LOG_ARCHIVE_DEST_3 VALID LGWR PARALLELSYNC
LOG_ARCHIVE_DEST_4 VALID LGWR ASYNCHRONOUS
LOG_ARCHIVE_DEST_5 VALID LGWR PARALLELSYNC
LOG_ARCHIVE_DEST_6 VALID LGWR ASYNCHRONOUS
SQL> alter system set log_archive_dest_2='service=hbhsdb LGWR ASYNC NET_TIMEOUT=40 valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=prod';
SQL>select dest_name,status,process,error,transmit_mode from v$archive_dest where target='STANDBY';
DEST_NAME STATUS PROCESS ERROR TRANSMIT_MOD
-------------------- --------- ---------- ----------------------------------------------------------------- ------------
LOG_ARCHIVE_DEST_2 VALID LGWR ASYNCHRONOUS
LOG_ARCHIVE_DEST_3 VALID LGWR PARALLELSYNC
LOG_ARCHIVE_DEST_4 VALID LGWR ASYNCHRONOUS
LOG_ARCHIVE_DEST_5 VALID LGWR PARALLELSYNC
LOG_ARCHIVE_DEST_6 VALID LGWR ASYNCHRONOUS
ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed
在备库启动到nomount,报错ORA-16024
解决方式:在pfile文件注释掉下列两个参数
LOG_ARCHIVE_DEST_1='enable'
LOG_ARCHIVE_DEST_2='enable'
ORACLE Physical Standby DG搭建的更多相关文章
- ORACLE Physical Standby DG 之switch over
DG架构图如下: 计划,切换之后的架构图: DG切换: 主备切换:这里所有的数据库数据文件.日志文件的路径是一致的 [旧主库]主库primarydb切换为备库standby3主库检查switchove ...
- ORACLE Physical Standby DG 之fail over
SQL> select thread#, low_sequence#, high_sequence# from v$archive_gap;确认下是否存在日志间隙,发现gap现象,说明failo ...
- ORACLE Physical Standby 级联备库搭建
搭建oracle 级联DG 现有架构:physical standby 一主二备,在此基础上,在主库下新建备库standby3.级联备库cascade 数据库版本 11.2.0.4 db_name=p ...
- oracle 单实例DG(搭建篇一)
一,介绍 lodding... 二,安装前环境配置 01,依赖包的安装: yum install binutils-* yum install compat-libstdc++-* yum insta ...
- 【ORACLE】oracle11g dg搭建
--------------------------------每个节点和DG------------------------------------------------------------- ...
- 4级搭建类401-Oracle 19c Non-CDB DG搭建(Linux 主备一对一 LGWR ASYNC)公开
项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列除特定项目目前不对外发布,仅作为博客记录,其他公开.如学员在 ...
- ORACLE 11gR2 DG(Physical Standby)日常维护02
环境:RHEL 6.5 + Oracle 11.2.0.4 三.监控DG的状态 3.1监控DG备库的状态 3.2监控主库传输日志链路的状态 四.备库切换为snapshot standby 4.1备库切 ...
- ORACLE 11gR2 DG(Physical Standby)日常维护01
环境:RHEL 6.4 + Oracle 11.2.0.4 一.主备手工切换 1.1 主库,切换成备库并启动到mount 1.2 备库,切换成主库并启动到open 1.3 新的备库启动日志应用 二.重 ...
- 某控股公司OA系统ORACLE DG搭建
*此处安装ORACLE DATAGUARD是利用ORACLE RMAN DUPLICATE方式安装.*可以搭建好ORACLE DG再来impdp生产数据,也可以先导入主库数据再来做DG*注意看下面的配 ...
随机推荐
- 聊聊NTLM认证协议
近期发现多家安全媒体发布NTLM协议漏洞的文章.他们越说越术语,越说越官方,如此这般下去,他们写出来到底给谁看?大雅就是俗,让我来一篇俗文.啥是NTLM呢?微软windows系统的用户账号存储密码哈希 ...
- js之模板方法模式
模板方法模式的定义和组成: 模板方法模式是一种只需使用继承就可以实现的非常简单的模式. 模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体的实现子类.通常在抽象父类中封装了子类的算法框架 ...
- Java相关面试题总结+答案(九)
[MySQL] 164. 数据库的三范式是什么? 第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项. 第二范式:属性完全依赖于主键(满足第一范式的前提下),即任意一个字段只依赖 ...
- sql server死锁跟踪
我们知道,可以使用SQL Server自带的Profiler工具来跟踪死锁信息.但这种方式有一个很大的敝端,就是消耗很大.据国外某大神测试,profiler甚至可以占到服务器总带宽的35%,所以,在一 ...
- webpack基本介绍及使用
1.什么是webpack webpack是一个前端资源加载/打包工具.它根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 官网地址:https://www.webpac ...
- 说明一下 os.path 和 sys.path 分别代表什么?
os.path 主要是用于对系统路径文件的操作. sys.path 主要是对Python解释器的系统环境参数的操作(动态的改变Python解释器搜索路径).
- Ubuntu 下使用 python3 制作读取 QR 码
Ubuntu 下使用 python3 制作读取 QR 码 作者已经在 Windows 上实现 python3 制作读取 QR 码.本文主要针对解决将代码移植到 Ubuntu 系统时所遇到的问题. 相关 ...
- VirtualBox虚拟机与主机互通,并且虚拟机又能上网配置
1.在Virtualbox 的全局模式下建立host-only网络,完成之后在网络邻居的属性中会出现本地连接和virtualbox host-only ethernet 连接 2.点击本地连接的属性, ...
- V8引擎回收机制、 内存泄露
一.垃圾回收:将内存不在使用的数据进行清理,释放内存空间 v8将内存分为新生代空间和老生代的空间 新生代空间:用于存活较短的对象 :又分为二个空间:from空间和to空间 :Scav ...
- 关于post xml的请求和响应
关于post的请求作为开发者应该常用到,post请求的数据包含了参数和data,post参数相对比较容易理解,比如我们一个form提交,其实就是调用后台方法的,发送相关参数,这里我单独说一下关于pos ...