为客户打造RAC-DG一些遇到的问题汇总

昨日有建立一个客户RAC-DG物理备用数据库,这里的一般过程中再次列举一下,为了不涉及泄露隐私。的主要参数已被替换名称。详细路径也不一致。因为环境的客户端不与本机连接的网络同意,当故障不能削减各种报警日志和trace主题文件。顾大致写出。

1.主库在线改动spfile參数

alter database force logging;

alter system set log_archive_config=‘DG_CONFIG=(dg,dgdg)‘;

alter system set log_archive_dest_1=‘LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dg‘;

alter system set log_archive_dest_2=‘SERVICE=dgdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dgdg‘;

alter system set log_archive_dest_state_1=‘ENABLE‘;

alter system set log_archive_dest_state_2=‘ENABLE‘;

alter system set standby_file_management=‘AUTO‘;

alter system set fal_server=‘DGDG‘;

需重新启动參数:

alter system set db_file_name_convert=‘C:\app\administrator\oradata\dg‘,‘+data/dg/datafile‘ scope=spfile;

alter system set log_file_name_convert=‘C:\app\administrator\oradata\dg‘,‘+data/dg/onlinelog‘ scope=spfile;

2.创建pfile

SQL> create pfile from spfile;

3.改动备库用的pfile

*.__db_cache_size=0

*.__java_pool_size=0

*.__large_pool_size=0

*.__oracle_base=‘C:\app\administrator‘#ORACLE_BASE set from environment

*.__pga_aggregate_target=0

*.__sga_target=0

*.__shared_io_pool_size=0

*.__shared_pool_size=0

*.__streams_pool_size=0

*.audit_file_dest=‘C:\app\administrator\admin\dg\adump‘

*.audit_trail=‘db‘

*.cluster_database=false --说明是单实例数据库,否则启动会报错

*.compatible=‘11.2.0.0.0‘

*.control_files=‘C:\app\administrator\oradata\dg\control01.ctl‘,‘C:\app\administrator\oradata\dg\control02.ctl‘

*.db_block_size=8192

*.db_create_file_dest=‘C:\app\administrator\oradata‘

*.db_domain=‘‘

*.db_name=‘dg‘

*.db_recovery_file_dest=‘C:\app\administrator\flash_recovery_area‘

*.db_recovery_file_dest_size=3908042752

*.diagnostic_dest=‘C:\app\administrator‘

*.dispadghers=‘(PROTOCOL=TCP) (SERVICE=DGXDB)‘

*.fal_server=‘dg‘

*.instance_number=1

*.log_archive_config=‘DG_CONFIG=(dg,dgdg)‘

*.log_archive_dest_1=‘LOCATION=c:\archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dgdg‘

*.log_archive_dest_2=‘SERVICE=dg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg‘

*.log_archive_dest_state_1=‘ENABLE‘

*.log_archive_dest_state_2=‘ENABLE‘

*.log_archive_format=‘ARC%S_%R.%T‘

*.memory_target=8577351680

*.nls_language=‘SIMPLIFIED CHINESE‘

*.nls_territory=‘CHINA‘

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile=‘exclusive‘

*.standby_file_management=‘AUTO‘

*.undo_tablespace=‘UNDOTBS1‘

*.db_file_name_convert=‘+data/dg/datafile‘,‘C:\app\administrator\oradata\dg‘

*.log_file_name_convert=‘+data/dg/onlinelog‘,‘C:\app\administrator\oradata\dg‘

*.db_unique_name=dgdg --复制过来的pfile假设不设置这个參数。默认的值是dg

4.改动tnsnamesl.ora

# tnsnames.ora Network Configuration File: C:\app\administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

dg =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = dg-cluster-scan)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = dg)

)

)

DGDG =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = dgP)(HOST = dgdg)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = dg)

)

)

5.改动listener.ora(仅仅给备库用,主库能够不配置静态监听)

# listener.ora Network Configuration File: C:\app\administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = dg)

(ORACLE_HOME = C:\app\administrator\product\11.2.0\dbhome_1)

(SID_NAME = dg)

)

)

LISTENER =

(DESCRIPTION =

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

)

ADR_BASE_LISTENER = C:\app\administrator\product\11.2.0\dbhome_1\log

6.备库创建相关文件夹

c:\archivelog
--指定一个本地归档路径,备库接收到的归档日志和自己生成的归档日志都放在这里

c:\app\administrator\admin\dg\adump

c:\app\administrator\admin\dg\dpdump

c:\app\administrator\admin\dg\hdump

c:\app\administrator\admin\dg\pfile

c:\app\administrator\flash_recovery_area

c:\app\administrator\oradata\dg

7.主库做rman全备

RMAN> backup as compressed backupset full database format ‘c:\bak\full_%d_%I_%T_%U‘

8.主库创建备库控制文件

SQL> alter database create standby controlfile as ‘c:\control01.ctl‘;

SQL> alter database create standby controlfile as ‘c:\control02.ctl‘;

9.复制备份文件、password文件、pfile文件、tnsnames.ora、listener.ora到备库对应位置

10.备库创建实例

oradim -new -sid dg -startmode manual -spfile;

11.启动监听

lsntrctl start

12.启动实例到mount

set oracle_sid=dg

sqlplus / as sysdba

SQL> startup mount

13.恢复数据库

RMAN> catalog start with ‘d:\bak‘;
--不指定会提示无法恢复数据库

RMAN> restore database;

14.备库加入standby redo logfile

SQL> alter database add standby logfile ‘C:\app\administrator\oradata\dg\std_05.log‘ size 50m;

SQL> alter database add standby logfile ‘C:\app\administrator\oradata\dg\std_06.log‘ size 50m;

SQL> alter database add standby logfile ‘C:\app\administrator\oradata\dg\std_07.log‘ size 50m;

SQL> alter database add standby logfile ‘C:\app\administrator\oradata\dg\std_08.log‘ size 50m;

SQL> alter database add standby logfile ‘C:\app\administrator\oradata\dg\std_09.log‘ size 50m;

15.启用redo apply

SQL> alter database recover managed standby database disconnect from session;

16.给备库创建spfile(可选)

SQL> create spfile from pfile;

以下记录几个在整个配置过程中遇到的问题:

1.用opatch apply命令无法打patch

出现原因:11.2.0.3默认装完后的opatch版本号是11.2.0.1.7,我要打的patch 27须要在这个版本号之上才干够

解决方法:解压高版本号的opatch安装包后覆盖原opatch文件夹

2.备库alert.log报警提示无法找到控制文件自己主动备份路径

出现原因:RAC主库之前部署过自己主动RMAN备份脚本,指定了控制文件自己主动备份路径。但备库并没有此路径

解决方法:进入RMAN,改动该项參数为备库存在的文件夹

3.參数设置错误而引起GAP,导致自己主动备份脚本停止执行

出现原因:之前在设置參数时,把主库的log_archive_dest_1參数设置了本地路径归档,如:

alter system set log_archive_dest_1=‘LOCATION=C:\archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dg‘;

作为RAC。归档路径在本地的话。其它节点就无法读取。发现后又一次设置为USE_DB_RECOVERY_FILE_DEST后,那些在本地的归档日志就成为GAP而无法传递到备库

解决方法:手工复制全部提示缺失的xxx归档到指定位置,再手动运行RMAN自己主动备份脚本

说明:因为RMAN自己主动备份脚本里配置了冗余7份,而之搭建DG时手动运行了全库备份,这些手动备份也是算在7份冗余之内的,为了不占用正常备份的配额。DG搭建完毕后建议物理删除。然后再crossecheck并清理掉

4.主、备库的alert.log常常会出现TNS错误

fatal NI connect error 12547

TNS-12547 TNS : 丢失连接

ns secondary err code : 12560

ns main err code : 517

TNS-00517 TNS : 丢失连接

nt secondary err code : 54

nt OS err code : 0

出现原因:节点2没有配置tnsnames.ora,造成thread 2的归档日志无法传递到备库,同一时候也会造成主库日志能传递过去,但无法应用。

解决方法: 把节点1的tnsnames.ora直接复制一个到节点2

说明:事实上这个也是造成备库应用出现GAP的最大原因,因为节点2日志传递不到备库,尽管之前的几个归档日志序列对应的applied列的属性值都是YES,可是会造成节点1的日志也不应用,哪怕在节点1切了非常多次归档。applied列始终会显示NO,但日志都是能够正常传递过去的

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-07-30 23:27:30

为客户打造RAC-DG一些遇到的问题汇总的相关文章

ORACLE11g R2 RAC+DG FOR OEL6.5安装实施报告

虚拟机系统 ORACLE11g R2 RAC+DG FOR OEL6.5安装实施报告 目录 文档控制    1 一.开启归档(主库RAC)    1 二.开启强制logging(主库RAC)    1 三.记录信息(主库RAC)    1 四.修改hosts文件(rac ,dg上的操作)    1 五.配置监听和tns    1 六.创建参数文件(RAC.备库)    1 七.使用备份做DG    1 八.恢复备库    1 九.使用duplicate在线方式创建备库    1 十.增加stan

12c rac to rac dg 遇到关于权限报错

一.环境描述 redhat 7.0 Oracle 12.1.0.2 RAC TO RAC DG 二.报错信息 DGMGRL> add database 'orcldg' as connect identifier is orcldg; Error: ORA-16571: Oracle Data Guard configuration file creation failure 三.查看官网 Versions 12.1Error:  ORA-16571 Oracle Data Guard conf

在Windows 2008 R2上搭建RAC+DG

前期规划: 节点1: tc1 192.168.56.101 内存:2G 节点2: tc2 192.168.56.102 内存:2G 物理备库:tcdg192.168.56.108内存:1G 操作系统:Windows 2008 R2 Enterprise ******* RAC部分 ******* 一.准备工作 1.修改提升权限提示方式为"不提示,直接提升"(默认为"非Windows二进制文件的同意提示") cmd> secpol.msc->本地策略-&g

Deploy 11.2.0.3 RAC+DG on Windows 2008 R2 Step by Step

环境规划: 节点1: tc1 192.168.56.101 内存:2G 节点2: tc2 192.168.56.102 内存:2G 物理备库:tcdg192.168.56.108内存:1.5G 操作系统:Windows 2008 R2 Enterprise ************ RAC部分 ************ 一.准备工作 1.改动提升权限提示方式为"不提示,直接提升"(默觉得"非Windows二进制文件的允许提示") cmd> secpol.msc

Oracle 12.1.0.1 RAC + DG搭建

         Oracle RAC 12.1.0.1 on the OEL6.5 OS                 (VMware Workstation虚拟机) 目录 一.         安装前准备工作... 4 1.         网络配置... 4 2.         关闭sendmail服务... 4 3.         配置hosts. 5 4.         YUM安装依赖包... 5 5.         修改内核... 7 6.         设置Oracle

Oracle11g RAC+DG搭建

项目环境准备 3.1虚拟机配置 版本选择 注意Linux操作系统.此次项目我选择的版本是Oracle Enterprise Linux 5.4 内存的设置 本人电脑物理内存8G,由于此次实验要开三台虚拟机,基于集群两台机需要的内存较大,故每台给2G,单实例做standby的给1.5G. 添加选择网卡类型 使用桥接方式容易引发IP冲突,所以我选择的是Host Only方式,避免IP冲突. 两个网卡使用分配: NAT:作Public IP Host Only:作Private IP 注意主机和虚拟机

Rac & DG

Rac环境: RAC版本异同:[10R2,11R1(和10类似)],11R2,12c: 目录: 10.2的ASM需要单独的目录(oracle home):rdbms home,asm home, crs home 11.2:rdbms,grid(crs+asm) IP: 10.2有私有IP(private IP)公有IP(public IP)和虚拟IP(VIP):Private IP是用来做内部连接:Public IP和VIP是外部连接,并且在同一个网段. 11.2在外部连接(公有IP和虚拟IP

Oracle 11gR2 RAC DG 安装前初始化

1.preusers.sh脚本 #!/bin/bash #Purpose:Create 6 groups named 'oinstall','dba','asmadmin','asmdba','asmoper','oper', plus 2 users named 'oracle','grid'. #Also setting the Environment #variable for oracle user. #variable for grid user. #Usage:Log on as t

oracle rac与单实例dg 切换测试

rac与单实例dg 切换测试 一.环境概述 1.环境 orace rac&单实例dg os: centos 5.8 64位 oracle: 10.2.0.4 2.dg同步状态 rac1: dg: dg现已同步状态 3.归档情况 rac dg: 二.rac切备,dg切主,切换测试 1.rac1&rac2 手工切归档 rac1: alter system switch logfile;执行两次 两次间隔30s rac2: alter system switch logfile;执行两次 两次间