在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数据库,没有再出现该错误。
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/