问一个关于dataguard简单的问题

[复制链接]
查看11 | 回复6 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
oracle 10 gphysical dataguard 在第一次启动的时候
SQL> select database_role from v$database;
DATABASE_ROLE
----------------
PHYSICAL STANDBY
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
no rows selected
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-16004: backup database requires recovery
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/oracle/u02/oradata/dataguar/system01.dbf'
大概等待1分钟左右,或者连续的alter system archive log current 后
SQL> /
SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
1 03-AUG-07 03-AUG-07
2 03-AUG-07 03-AUG-07
3 03-AUG-07 03-AUG-07
4 03-AUG-07 03-AUG-07
SQL> alter database open;
Database altered.
我想问的是: 为什么查询SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
无记录open 会出错,而等待归档信息传到physical后才可以open?
难道在启动 physical database的时候会去检查 archive log?
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
查询SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;无记录
==> 就是无纪录
不能Open
==>跟前面没关系,原因是:
file 1 needs more recovery to be consistent
而等待归档信息传到physical后才可以open
==>
不是归档信息传过来导致可以open ,而是利用archive log 进行了“more recovery ” and the "be consistent" 了,所以可以open
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
最初由 rollingpig 发布
[B]查询SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;无记录
==> 就是无纪录
不能Open
==>跟前面没关系,原因是:
file 1 needs more recovery to be consistent
而等待归档信息传到physical后才可以open
==>
不是归档信息传过来导致可以open ,而是利用archive log 进行了“more recovery ” and the "be consistent" 了,所以可以open [/B]


我是主库shutdown immediate 后,然后把数据文件,pfile,arch全部通过scp传到备库,按理说这个时候备库的信息和主库是完全一样(除了pfile更改一些参数),而且状态完全一致。
备库这个时候怎么需要恢复呢? 而且备库根本不知道主库此时的状态(这是我这么认为的),备库又怎么知道要达到所谓的一致呢? 和谁一致?
还有一点更奇怪的是: 为什么备库查询会没有归档信息,所以数据,和状态都一起直接COPY到备库了。
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
最初由 iamlargelove 发布
[B]

我是主库shutdown immediate 后,然后把数据文件,pfile,arch全部通过scp传到备库,按理说这个时候备库的信息和主库是完全一样(除了pfile更改一些参数),而且状态完全一致。
备库这个时候怎么需要恢复呢? 而且备库根本不知道主库此时的状态(这是我这么认为的),备库又怎么知道要达到所谓的一致呢? 和谁一致?
还有一点更奇怪的是: 为什么备库查询会没有归档信息,所以数据,和状态都一起直接COPY到备库了。 [/B]

我的理解
你仔细想想,你的standby control file是什么时候做的?
即使关闭数据库再cp数据文件,即使数据文件全都consistent但是跟控制文件还是不一致的,所以需要recovery
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
就是因为这个所以duplicate命令才有dorecover选项
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
control file 呢?
达到所谓的一致 就是 datafile要和controlfile 达到一致
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
最初由 rollingpig 发布
[B]control file 呢?
达到所谓的一致 就是 datafile要和controlfile 达到一致 [/B]

多谢2位!!!
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行