Oracle 11g两个节点RAC搭建单实例DG过程问题以及解决方法
先把备库open,然后打开MRP进程,这时候备库的状态变成了open read only ,但是 还是不能同步。一定注意顺序,在打开MRP之前
以前搭建过单实例数据库的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 auxiliary ;
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