Oracle 11g两个节点RAC搭建单实例DG过程问题以及解决方法


以前搭建过单实例数据库的DG,感觉挺简单的,后来来到公司第一个项目是给RAC搭建DG,信心满满的自己,真的是费尽心思啊,各种请教,各种百度,终于艰难的完成了任务,下面细说在下遇见的问题。

一:首先,第一个问题就是,CRT远程连接服务器,连接不上,因为我要给异地的rac搭建DG,处在局域网覆盖之外,问老大才知道需要借助VPN,建立虚拟专用网络隧道,用户不再需要处于企业局域网络平台覆盖范围之内,通过局域网接入方式来访问企业网络应用服务。具体VPN使用方法,不做介绍。

二:安装数据库软件的时候,在CRT中运行./runinstall  没报错,就是不显示图像化安装界面,问领导才知道原来是要借助一个工具VNC,安装好VNC 然后选择VNC view 输入:192.168.15.9:1,冒号后的1没有什么意义,但是首先你要在CRT先输入命令行输入:vncserver 如下:
[root@java3 ~]# vncserver 
New 'java3:6 (root)' desktop is java3:1

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/java3:6.log

然后再进入vnc view 输入要连接的服务器IP:1,输入vnc密码,在这里执行./runinstall ,我靠终于有了,感觉好神奇的样子 ,哈哈

三:首先我对照自己以前给单实例的数据库搭建DG的笔记,给主库修改参数文件,要把spfile 创建成pfile,想当然直接 create  pfile from  spfile ;

现在才意识这样做的危害,原因是这样的,在RAC环境,SPFILE默认情况下会存放在共享存储上(裸设备或ASM磁盘组上),RAC的每个节点都是使用PFILE指向SPFILE的方法来完成SPFILE的定位的。即pfile文件中存放的是spfile的路径。
 如:[Oracle@rac1]#cat /oracle/app/oracle/product/10.2.0/db_1/dbs/nitracdb1.ora

spfile=+DATA/racdb/spfileracdb.ora

 一旦使用“create pfile from spfile;”命令创建PFILE后,新生成的PFILE将覆盖原有dbs目录下的PFILE,此时PFILE文件中存放的是具体的参数,而不是spfile的路径了,此后数据库实例启动时读取的将不再是共享存储上的SPFILE,转而读取本地的PFILE文件的内容,当时没什么问题,但是当数据库重启之后,会给DBA的管理带来麻烦。
四:由于是直接将rac的参数文件文件传给standby数据库的,该修改的地方也修改完毕,可是启动实例的时候报错,

SQL> startup    nomount
ORA-00439: feature not enabled: Real Application Clusters 

试图通过查看错误信息,来解决,没有成功

[oracle@java3 ~]$ oerr ora 00439           
 00439, 00000, "feature not enabled: %s"
 // *Cause:  The specified feature is not enabled.
 // *Action: Do not attempt to use this feature.

原来是 备库参数文件里的  参数cluster_database =true  要修改成false, 这个cluster_database 是用来确定数据库是否在rac环境的集群中的,等于true的时候,实例启动的时候,会把数据库当成是集群,故报错。

五:根据参数文件  *.audit_file_dest='/oracle/admin/JLPROJCT/adump'      #审计文件的位置,

在备库建立相应目录(如果不存在的话),这个目录必须要属于oracle:oinstall 。否则也会报错,具体错误忘记录了。

六:SQL> startup nomount;                   
ORA-48141: error creating directory during ADR initialization [/oracle/diag]          #提示不能创建目录

ORA-48189: OS command to create directory failed

Linux-x86_64 Error: 13: Permission denied                          #权限问题,用root创建目录,然后改属组。

Additional information: 2

[root@java3 ~]# mkdir -p /oracle/diag
 [root@java3 ~]# chown -R oracle:oinstall  /oracle/diag
 
七:SQL> startup nomount   
ORA-00119: invalid specification for system parameter REMOTE_LISTENER

ORA-00132: syntax error or unresolved network name 'rac-scan:1521'
 
删掉 参数文件里的 REMOTE_LISTENER这行  他是关于rac的 
 

八:[oracle@rac1 ~]$ rman target sys/manager1209@db26 auxiliary sys/manager1209@JLPROJCT3;
Recovery Manager: Release 11.2.0.3.0 - Production on Sat Feb 28 17:44:04 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: JLPROJCT (DBID=2115662724)

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-00554: initialization of internal recovery manager package failed

RMAN-04006: error from auxiliary database: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
 
这个报错来自于备库,备库监听没有监听到连接串,定位到主库tnsname.ora或者是备库的listener.ora  有错。 好好检查

九:报错 说 控制文件 不能创建  你应该看看  参数文件里面制定的控制文件的位置  是不是存在  或者oracle用户是不是有权限。 

RMAN> duplicate target database for standby from active database  nofilenamecheck;

 Starting Duplicate Db at 28-FEB-15
 using target database control file instead of recovery catalog
 allocated channel: ORA_AUX_DISK_1
 channel ORA_AUX_DISK_1: SID=2273 device type=DISK

 contents of Memory Script:
 {
    backup as copy reuse
    targetfile  '/oracle/product/11.2.3/dbs/orapwJLPROJCT1' auxiliary format
  '/opt/oracle/product/11.2.0/dbhome_1/dbs/orapwJLPROJCT3'  ;
 }
 executing Memory Script

 Starting backup at 28-FEB-15
 allocated channel: ORA_DISK_1
 channel ORA_DISK_1: SID=657 instance=JLPROJCT1 device type=DISK
 Finished backup at 28-FEB-15
 RMAN-00571: ===========================================================
 RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
 RMAN-00571: ===========================================================
 RMAN-03002: failure of Duplicate Db command at 02/28/2015 18:13:27
 RMAN-05501: aborting duplication of target database
 RMAN-06136: ORACLE error from auxiliary database: ORA-00200: control file could not be created
 ORA-00202: control file: '+data'
 ORA-17502: ksfdcre:4 Failed to create file +data
 ORA-15001: diskgroup "DATA" does not exist or is not mounted
 ORA-15077: could not locate ASM instance serving a required diskgroup
 ORA-29701: unable to connect to Cluster Synchronization Service

十:结合告警日志分析,以下报错 一般都是路径的问题  db_file_name_convert、log_file_name_convert  一定要写对,并且保证备库的路径那有足够的空间,

RMAN> duplicate target database for standby from active database  nofilenamecheck;

Starting Duplicate Db at 28-FEB-15
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=2273 device type=DISK

contents of Memory Script:
{
  backup as copy reuse
  targetfile  '/oracle/product/11.2.3/dbs/orapwJLPROJCT1' auxiliary format
 '/opt/oracle/product/11.2.0/dbhome_1/dbs/orapwJLPROJCT3'  ;
}
executing Memory Script

Starting backup at 28-FEB-15
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=657 instance=JLPROJCT1 device type=DISK
Finished backup at 28-FEB-15

RMAN-00571: ===========================================================


RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of Duplicate Db command at 02/28/2015 18:42:35

RMAN-05501: aborting duplication of target database

RMAN-03015: error occurred in stored script Memory Script

RMAN-03009: failure of backup command on ORA_DISK_1 channel at 02/28/2015 18:42:34

ORA-17628: Oracle error 19505 returned by remote Oracle server
十一:主库tnsname.ora  里面添加备库信息的连接字符串(就是开头的名字)必须和主库参数LOG_ARCHIVE_DEST_2='SERVICE=这里的名字。
否则duplicate  报错,Error is 12154  关于tns 的报错。

十二:磁盘空间不足  导致报错    解决 换路径    db_file_name_cencort 后面关于备库的路径换个空间大的。
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/02/2015 15:00:14
 ORA-17627: ORA-12577: Message 12577 not found;  product=RDBMS; facility=ORA
 RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/02/2015 15:01:09
 ORA-17627: ORA-12577: Message 12577 not found;  product=RDBMS; facility=ORA
 RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/02/2015 15:00:54
 ORA-17627: ORA-12577: Message 12577 not found;  product=RDBMS; facility=ORA
 RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/02/2015 14:52:57
 ORA-17627: ORA-12577: Message 12577 not found;  product=RDBMS; facility=ORA
 RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/02/2015 15:00:39
 ORA-17627: ORA-12577: Message 12577 not found;  product=RDBMS; facility=ORA
 RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/02/2015 15:01:24
 ORA-17627: ORA-12577: Message 12577 not found; 

十三:由于 参数文件里面的log_name_convert  指定的路径 空间不足  导致    解决同上。
ORACLE error from auxiliary database: ORA-19502: write error on file "/opt/oraclegroup_4.264.865954331", block number 2529281 (block size=512)

ORA-27072: File I/O error

Additional information: 4

Additional information: 2529281

Additional information: 400896

RMAN-05535: WARNING: All redo log files were not defined properly.
 
十四���先把备库open,然后打开MRP进程,这时候备库的状态变成了open read only  ,但是  还是不能同步。一定注意顺序,在打开MRP之前要先把数据库read only 的方式打开。  mount 状态也可以,打开MRP来应用日志,重演变化。

相关内容