+ -
当前位置:首页 → 问答吧 → dataguard主库修改参数建立新表空间失败

dataguard主库修改参数建立新表空间失败

时间:2011-09-11

来源:互联网

环境 winxp  2台机器 局域网
oracle 10g2  dataguard 主 物理备库

成功配置好(测试都正常)。 主备库设置的 initorac.ora的 参数 standby_file_management是默认manually. 非自动

于是在主库上建立一个新表空间 发现在备库表空间文件被系统修改为unnamed00007 于是用命令 alter database create datafile手工修改成功
之后在主库设置 alter system set standby_file_management=auto (备份库没有修改)。又在主库
create tablespace btest datafile 'D:\oracle\product\10.2.0\oradata\orac\btest.dbf' size 10M autoextend on;


这时候在从库突然发现,日志是传过来
select max(sequence#) from v$archived_log; 2边都一样。
但是主库的那个btest.dbf 没有出现在从库上。
从select name from v$datafile 。 已经发现2边不一样了。 从库少了btest.dbf', 修改 standby_file_management至少还存在传过来的新表空间尽管名字不一样
现在文件都不过来了


SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

数据库已更改。

SQL> recover managed standby database cancel;
ORA-16136: 受管备用恢复未激活----------------------------------今天出现错误


SQL> select process,status from v$managed_standby;

PROCESS   STATUS
--------- ------------
ARCH      CONNECTED
ARCH      CONNECTED
RFS       IDLE
有点怀疑是否这里出现问题 。按道理从库应该有mrp来应用日志的


SQL> select * from v$archive_gap;

未选定行

SQL>
SQL> select thread#,sequence#,applied from v$archived_log order by thread#,sequence#;

   THREAD#  SEQUENCE# APP
---------- ---------- ---
         1         73 YES
         1         74 YES
         1         75 YES
         1         76 YES
         1         77 YES
         1         78 YES
         1         79 NO--------------------------------------------是否这里开始他不应用新日志?
         1         80 NO
         1         81 NO

作者: liyihongcug   发布时间: 2011-09-11

主库新作一次切换日志 SQL>Alter system switch logfile;
分别查看主库和备库的D:\arch 目录下确实已经产生了同样的归档日志
select max(sequence#) from v$archived_log;  确实2边都相等



但是发现v$log_history;2边不同
主库上
SQL> select max(sequence#) from v$log_history;

MAX(SEQUENCE#)
--------------
            81

从库
SQL> select max(sequence#) from v$log_history;

MAX(SEQUENCE#)
--------------
            79

于是在从库的 错误实例日志
Sun Sep 11 09:32:10 2011
Errors in file d:\oracle\product\10.2.0\admin\orac\bdump\orac_mrp0_3404.trc:
ORA-01274: cannot add datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORAC\BTEST.DBF' - file could not be created

Some recovered datafiles maybe left media fuzzy
Media recovery may continue but open resetlogs may fail
Sun Sep 11 09:32:13 2011
Errors in file d:\oracle\product\10.2.0\admin\orac\bdump\orac_mrp0_3404.trc:
ORA-01274: cannot add datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORAC\BTEST.DBF' - file could not be created

Using STANDBY_ARCHIVE_DEST parameter default value as C:\archive\
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[1]: Assigned to RFS process 3840
RFS[1]: Identified database type as 'physical standby'
Sun Sep 11 09:33:00 2011
RFS LogMiner: Client disabled from further notification
RFS[1]: Archived Log: 'C:\ARCHIVE\00100081757538382.ARC'
Sun Sep 11 09:34:26 2011
ALTER DATABASE RECOVER  managed standby database cancel  
Sun Sep 11 09:34:26 2011
ORA-16136 signalled during: ALTER DATABASE RECOVER  managed standby database cancel  ...
Sun Sep 11 09:34:51 2011
ALTER DATABASE RECOVER  managed standby database cancel  
ORA-16136 signalled during: ALTER DATABASE RECOVER  managed standby database cancel  ...
Sun Sep 11 09:37:42 2011
ALTER DATABASE RECOVER  managed standby database cancel  
Sun Sep 11 09:37:42 2011
ORA-16136 signalled during: ALTER DATABASE RECOVER  managed standby database cancel  ...
Sun Sep 11 09:37:52 2011
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION
MRP0 started with pid=19, OS id=3860
Managed Standby Recovery not using Real Time Apply
MRP0: Background Media Recovery terminated with error 1111
Sun Sep 11 09:37:57 2011
Errors in file d:\oracle\product\10.2.0\admin\orac\bdump\orac_mrp0_3860.trc:
ORA-01111: name for data file 7 is unknown - rename to correct file
ORA-01110: data file 7: 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNNAMED00007'
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01111: name for data file 7 is unknown - rename to correct file
ORA-01110: data file 7: 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNNAMED00007'

Sun Sep 11 09:37:57 2011
Errors in file d:\oracle\product\10.2.0\admin\orac\bdump\orac_mrp0_3860.trc:
ORA-01111: name for data file 7 is unknown - rename to correct file
ORA-01110: data file 7: 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNNAMED00007'
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01111: name for data file 7 is unknown - rename to correct file
ORA-01110: data file 7: 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNNAMED00007'

Sun Sep 11 09:37:58 2011
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION
Sun Sep 11 09:38:16 2011
ALTER DATABASE RECOVER  managed standby database cancel  
Sun Sep 11 09:38:16 2011
ORA-16136 signalled during: ALTER DATABASE RECOVER  managed standby database cancel  ...
Sun Sep 11 09:51:49 2011
RFS[1]: No standby redo logfiles created
RFS[1]: Archived Log: 'C:\ARCHIVE\00100082757538382.ARC'
Sun Sep 11 09:51:49 2011
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[2]: Assigned to RFS process 240
RFS[2]: Identified database type as 'physical standby'
Primary database is in MAXIMUM PERFORMANCE mode
Primary database is in MAXIMUM PERFORMANCE mode

un Sep 11 10:08:17 2011
ORA-16136 signalled during: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL...
Sun Sep 11 10:08:23 2011
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL
ORA-16136 signalled during: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL...

[ 本帖最后由 liyihongcug 于 2011-9-11 10:08 编辑 ]

作者: liyihongcug   发布时间: 2011-09-11

提示已经很明显了~和你第一次一样~
create一下然后把备库的参数改成auto
在应用就可以了~

作者: iori809   发布时间: 2011-09-11

create一下然后把备库的参数改成auto  这个操作 alter database create datafile手工修改成功
在应用就可以了------------------------------请说下这个命令是什么   (应该是atler database recover manage standby database using current logfile disconnect from session?)

请看上面
SQL> select process,status from v$managed_standby;

PROCESS   STATUS
--------- ------------
ARCH      CONNECTED
ARCH      CONNECTED
RFS       IDLE
这个连mrp 进程都没有


(如果正常应该是SQL> select process,status from v$managed_standby;

PROCESS   STATUS
--------- ------------
ARCH      CONNECTED
ARCH      CONNECTED
MRP0      WAIT_FOR_LOG
RFS       IDLE


连切换SQL> recover managed standby database cancel;
ORA-16136: 受管备用恢复未激活----------------------------------今天出现错误 都无法做
最后我shutdown immediate
之后再 startup mount
他提示  错误 system01.dbf 有错误----------这里居然连system都有问题了 。


判断连 MRP0丢丢失  ---------------------------这个情况该如何处理

(从库
select max(sequence#) from v$archived_log;
79
select max(sequence#) from v$log_history;
76
2者大小不一样。   说明归档日志是正常传入到了从库, 但是应用77的时候有错误导致后续的日志无法接着应用。楼上的意思是通过在从库执行那个命令create  tablespace之后让系统应用归档日志
但是现在startup mount
他提示  错误 system01.dbf 有错误----------这里居然连system都有问题了 。
无法执行命令



最后解决如下
重新备份主库
恢复从库
2边同时 alter system set standby_file_management=auto;

表空间问题解决

[ 本帖最后由 liyihongcug 于 2011-9-11 10:59 编辑 ]

作者: liyihongcug   发布时间: 2011-09-11

ioro809说的应用是在standby 库上应用日志
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;


连切换SQL> recover managed standby database cancel;
ORA-16136: 受管备用恢复未激活----------------------------------今天出现错误 都无法做
这个有可能是你已经cancel了,再次cancel就会报错,不需要再次cancel;

作者: Impostor   发布时间: 2011-09-11