关于9i的data guard问题ORA-16139:

[复制链接]
查看11 | 回复9 | 2009-1-15 11:42:46 | 显示全部楼层 |阅读模式
我做完data guard后,把主库置成了备库,在备用模式启用主数据库,想把备的设成主的,执行下面的语句时出现下面的错误:
SQL> alter database commit to switchover to primary;
alter database commit to switchover to primary
*
ERROR at line 1:
ORA-16139: media recovery required
而且备库都不能以read only方式打开,谁知道原因呀?
回复

使用道具 举报

千问 | 2009-1-15 11:42:46 | 显示全部楼层
alter database recover managed standby database disconnect from session;
回复

使用道具 举报

千问 | 2009-1-15 11:42:46 | 显示全部楼层
然后alter database commit to switchover to primary;
回复

使用道具 举报

千问 | 2009-1-15 11:42:46 | 显示全部楼层
原帖由 lichangzai 于 2008-9-2 11:31 发表
我做完data guard后,把主库置成了备库,在备用模式启用主数据库,想把备的设成主的,执行下面的语句时出现下面的错误:
SQL> alter database commit to switchover to primary;
alter database commit to switchover to primary
*
ERROR at line 1:
ORA-16139: media recovery required
而且备库都不能以read only方式打开,谁知道原因呀?

select sequence#, applied from v$archived_log;
看看是否有NO状态的日志?如果有的话,把这些日志apply乐就可以了。
方法参考楼上。
你这个问题其实可以避免,在进行switchover之前,要确认主库switchover_status是to standby,
备库是to primary。不然的话,不是要麻烦?
回复

使用道具 举报

千问 | 2009-1-15 11:42:46 | 显示全部楼层
说明还有未应用的归档日志 按照上面的再做一边即可
回复

使用道具 举报

千问 | 2009-1-15 11:42:46 | 显示全部楼层
alter database recover managed standby database disconnect from session;
是在主上执行还是在备上执行呀?
我已经在主的上面执行过
alter database recover managed standby database disconnect from session;
然后才在备的上面执行的
alter database commit to switchover to primary;
才报ora-16139的
我在备的上面执行这查询,这确实有没有归档的日志吧
SQL> select sequence#, applied from v$archived_log;
SEQUENCE# APP
---------- ---
18 NO
19 NO
20 NO
17 NO
21 NO
22 NO
23 NO
24 NO
25 NO
26 NO
27 NO
SEQUENCE# APP
---------- ---
29 NO
28 NO
30 NO
14 rows selected.
在主的上面执行下面的查询是:
SQL> select name,open_mode,PROTECTION_MODE,DATABASE_ROLE from v$database;
NAMEOPEN_MODEPROTECTION_MODEDATABASE_ROLE
--------- ---------- -------------------- ----------------
PRIMARY MOUNTEDMAXIMUM PERFORMANCEPHYSICAL STANDBY
[ 本帖最后由 lichangzai 于 2008-9-2 12:33 编辑 ]
回复

使用道具 举报

千问 | 2009-1-15 11:42:46 | 显示全部楼层
原帖由 microsoft_fly 于 2008-9-2 11:38 发表
alter database recover managed standby database disconnect from session;

还是同样的错误,如果应用没有归档的日志?
回复

使用道具 举报

千问 | 2009-1-15 11:42:46 | 显示全部楼层
Primary DB:
SELECT DEST_ID, STATUS, ERROR FROM V$ARCHIVE_DEST;
Standby DB:
select * from v$archive_gap;
SELECT ARCHIVED_THREAD#, ARCHIVED_SEQ#, APPLIED_THREAD#, APPLIED_SEQ#,status,error FROM V$ARCHIVE_DEST_STATUS;
SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS from v$managed_standby;
回复

使用道具 举报

千问 | 2009-1-15 11:42:46 | 显示全部楼层
我在备上执行下面语句时又出现下面的错误,是不是我的硬盘有问题还是数据文件有问题了?
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH
*
ERROR at line 1:
ORA-00283: recovery session canceled due to errors
ORA-01114: IO error writing block to file 1 (block # 1)
ORA-01110: data file 1: '/oradata/primary/system01.dbf'
ORA-27091: skgfqio: unable to queue I/O
ORA-27041: unable to open file
Linux Error: 13: Permission denied
Additional information: 3
回复

使用道具 举报

千问 | 2009-1-15 11:42:46 | 显示全部楼层
SQL> select sequence#, applied from v$archived_log;
SEQUENCE# APP
---------- ---
18 NO
19 NO
20 NO
17 NO
21 NO
22 NO
23 NO
24 NO
25 NO
26 NO
27 NO
SEQUENCE# APP
---------- ---
29 NO
28 NO
30 NO
你的归档日志都没有应用!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行