ITPub博客

首页 > 数据库 > Oracle > dg case 2

dg case 2

原创 Oracle 作者:dasong2410 时间:2012-01-06 12:24:03 0 删除 编辑
在dg角色切换后发生了一个oracle不知道自己处在什么状态的情况,即,查询v$instance中的状态显示started,但是进mount操作则会收到已经在mount模式下的错误提示,若执行open操作,则又提示数据库没有mount。
Oracle Database was confused, me too.

SQL> alter database commit to switchover to physical standby;

Database altered.

SQL> select switchover_status from v$database;
select switchover_status from v$database
                              *
ERROR at line 1:
ORA-01507: database not mounted


SQL> select status from v$instance;

STATUS
------------
STARTED

SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-01100: database already mounted


SQL> select status from v$instance;

STATUS
------------
STARTED

SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-01100: database already mounted

SQL> shutdown immediate
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  1266392 bytes
Variable Size             109055272 bytes
Database Buffers           54525952 bytes
Redo Buffers                2924544 bytes
Database mounted.

SQL> select status from v$instance;

STATUS
------------
MOUNTED

SQL> select switchover_status from v$database;

SWITCHOVER_STATUS
--------------------
TO PRIMARY

我原以为这个现象是跟实例在生命周期内只能mount一次有关,但实际却不然,错误提示不同。
以下是实例open后,然后经过close、dismount再次到达nomount模式,接着执行mount,则会提示ORA-00750: database has been previously mounted and dismounted,很明显可以看出是经过了mount与dismount,所以不可再次mount。

SQL> startup
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  1266392 bytes
Variable Size              96472360 bytes
Database Buffers           67108864 bytes
Redo Buffers                2924544 bytes
Database mounted.
Database opened.
SQL> select status from v$instance;

STATUS
------------
OPEN

SQL> alter database close;

Database altered.

SQL> select status from v$instance;

STATUS
------------
MOUNTED

SQL> alter database dismount;

Database altered.

SQL> select status from v$instance;

STATUS
------------
STARTED

SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00750: database has been previously mounted and dismounted

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

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

注册时间:2011-05-12

  • 博文量
    66
  • 访问量
    349767