ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Primary 和standby数据库同一台主机上的Ora-01102问题分析解决

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

原创 Linux操作系统 作者:yezhibin 时间:2010-06-11 13:00:06 0 删除 编辑
       在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博客 ” ,链接:https://blog.itpub.net/354732/viewspace-665019/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-18

  • 博文量
    159
  • 访问量
    559686