Primary 和standby数据库同一台主机上的Ora-01102问题分析解决

       在HP-UX主机中oracle10.2.0.4平台上搭建dataguard测试环境,完成primary数据库创建后,将数据文件等拷贝到standby数据库对应目录中,在启动standby 数据库为mount状态中出现如下错误:

SQL>startup nomount;
SQL>alter database mount standby database

ERROR at line 1:
ORA-01102: cannot mount database in EXCLUSIVE mode

    该错误通常有以下几种情况:
    1、先前的数据库进程还残留存在,影响新的数据库启动
    2、被数据库占用的共享内存未被清除
    3、$ORACLE_HOME/dbs目录下残留sgadef.dbf文件
    4、删除$ORACLE_HOME/dbs目录下的lk文件

    尝试用以下方法解决:

   方法一:修改primary 数据库的DBID (无法解决)
$ export ORACLE_SID=test
SQL>startup mount
$nid target=sys/dbadmin@test
SQL>shutdown immediate
$orapwd file=/home/oracle/test/oradata/test/orapwtest password=xx entries=5
SQL>startup mount
SQL>alter database open resetlogs; 

方法二,停止primary数据库,用以上命令启动standby数据库,未出现错误。

       通过错误的原因对照,我们可以定位错误造成的原因是第四条,lk文件,因为主数据库和备用数据库的db_name是一致的。所以在启动standby数据库前删除该文件
   $rm $ORACLE_HOME/dbs/lktest
   SQL>startup nomount
   SQL>alter database mount standby database
  
       但以上的方法存需要每次启动standby数据库都要删除lk文件。

       考虑数据库不可能存在这样的问题,检查dataguard安装配置,发现主数据库和备用数据库中的db_unique_name设置一致,应该是这个存在错误,添加standby数据库中的db_unique_name='stdby',重启启动standby数据库,没有再出现该错误。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/354732/viewspace-665019/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/354732/viewspace-665019/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值