DataGuard ORA-01111,ORA-01275文件创建失败问题解决


在正常情况下,如果配置正确,文件是能够自动创建的,出错时可能的日志如下:
Sun Jul  5 23:28:23 2009
Media Recovery Log /opt/oracle/archivelog/1_47_689973859.dbf
Media Recovery Log /opt/oracle/archivelog/1_48_689973859.dbf
Media Recovery Log /opt/oracle/archivelog/1_49_689973859.dbf
WARNING: File being created with same name as in Primary
Existing file may be overwritten
File #5 added to control file as 'UNNAMED00005'.
Originally created as:
'/opt/oracle/oradata/mmstest/test01.dbf'
Recovery was unable to create the file as:
'/opt/oracle/oradata/mmstest/test01.dbf'
Errors with log /opt/oracle/archivelog/1_49_689973859.dbf
出现此种情况,进一步的告警日志可能会报出如下错误:
Sun Jul  5 23:28:28 2009
Errors in file /opt/oracle/admin/mmstest/bdump/mmstest_mrp0_32062.trc:
ORA-19502: write error on file "/opt/oracle/oradata/mmstest/test01.dbf", blockno 1024 (blocksize=8192)
ORA-27072: File I/O error
Linux Error: 9: Bad file descriptor
Additional information: 4
Additional information: 1024
Additional information: 397312
Some recovered datafiles maybe left media fuzzy
Media recovery may continue but open resetlogs may fail
Sun Jul  5 23:28:29 2009
Errors in file /opt/oracle/admin/mmstest/bdump/mmstest_mrp0_32062.trc:
ORA-19502: write error on file "/opt/oracle/oradata/mmstest/test01.dbf", blockno 1024 (blocksize=8192)
ORA-27072: File I/O error
Linux Error: 9: Bad file descriptor
Additional information: 4
Additional information: 1024
Additional information: 397312
以及尝试recover时可能再次出现:
Mon Jul  6 01:36:30 2009
Errors in file /opt/oracle/admin/mmstest/bdump/mmstest_mrp0_32589.trc:
ORA-01111: name for data file 5 is unknown - rename to correct file
ORA-01110: data file 5: '/opt/oracle/product/10.2.0/dbs/UNNAMED00005'
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01111: name for data file 5 is unknown - rename to correct file
ORA-01110: data file 5: '/opt/oracle/product/10.2.0/dbs/UNNAMED00005'
出现这些错误时MRP进程会停止工作,恢复中断:
Mon Jul  6 01:36:30 2009
MRP0: Background Media Recovery process shutdown (mmstest)
在修正相关的问题之后,我们可以进行如下一系列的操作来恢复这些错误:
SQL>  alter system set standby_file_management=manual;

System altered.

SQL>  alter database create datafile 
  2   '/opt/oracle/product/10.2.0/dbs/UNNAMED00005' as '/opt/oracle/oradata/mmstest/test01.dbf';


Database altered.

SQL>  alter system set standby_file_management=auto;

System altered.

SQL>  recover managed standby database disconnect from session;
Media recovery complete.
此时备库的恢复得以继续:
Mon Jul  6 01:41:14 2009
ALTER SYSTEM SET standby_file_management='MANUAL' SCOPE=MEMORY;
Mon Jul  6 01:42:13 2009
alter database create datafile
'/opt/oracle/product/10.2.0/dbs/UNNAMED00005' as '/opt/oracle/oradata/mmstest/test01.dbf'
Mon Jul  6 01:42:14 2009
Completed: alter database create datafile
'/opt/oracle/product/10.2.0/dbs/UNNAMED00005' as '/opt/oracle/oradata/mmstest/test01.dbf'
Mon Jul  6 01:42:26 2009
ALTER SYSTEM SET standby_file_management='AUTO' SCOPE=MEMORY;
Mon Jul  6 01:42:40 2009
ALTER DATABASE RECOVER  managed standby database disconnect from session
Mon Jul  6 01:42:40 2009
Attempt to start background Managed Standby Recovery process (mmstest)
MRP0 started with pid=16, OS id=32607
Mon Jul  6 01:42:41 2009
MRP0: Background Managed Standby Recovery process started (mmstest)
Managed Standby Recovery not using Real Time Apply
 parallel recovery started with 3 processes
Media Recovery Log /opt/oracle/archivelog/1_49_689973859.dbf
Mon Jul  6 01:42:47 2009
Completed: ALTER DATABASE RECOVER  managed standby database disconnect from session
Mon Jul  6 01:43:02 2009
Media Recovery Log /opt/oracle/archivelog/1_50_689973859.dbf
Mon Jul  6 01:43:17 2009
Media Recovery Log /opt/oracle/archivelog/1_51_689973859.dbf
Mon Jul  6 01:43:32 2009
Media Recovery Log /opt/oracle/archivelog/1_52_689973859.dbf
Mon Jul  6 01:43:45 2009
Media Recovery Log /opt/oracle/archivelog/1_53_689973859.dbf
正常情况下的配置及文件创建,其提示应该类似如下过程:
Mon Jul  6 01:53:28 2009
WARNING: File being created with same name as in Primary
Existing file may be overwritten
Recovery created file /opt/oracle/oradata/mmstest/wztest02.dbf
Successfully added datafile 7 to media recovery
Datafile #7: '/opt/oracle/oradata/mmstest/wztest02.dbf'
Media Recovery Log /opt/oracle/archivelog/1_80_689973859.dbf
在这个测试环境中,是由于空间不足导致的文件创建失败。

注意,在以上步骤中,如果standby_file_management设置为AUTO时,执行create命令会遇到如下错误:
SQL> alter database rename 
  2  file '/opt/oracle/product/10.2.0/dbs/UNNAMED00005' to '/opt/oracle/oradata/mmstest/test01.dbf';

alter database rename
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01275: Operation RENAME is not allowed if standby file management is automatic.
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 数据库中,DataGuard 是一种数据保护和灾难恢复解决方案,可以实现将主数据库的数据实时同步到备库中,以保证数据的高可用性和可靠性。在 DataGuard 的使用过程中,可能会出现同步异常的问题,下面我将介绍一些处理同步异常的方法和步骤。 1. 查看 DataGuard 状态 执行以下命令查看 DataGuard 的状态: ``` DGMGRL> show configuration; ``` 如果主库和备库的状态都是 `SUCCESS`,则表示 DataGuard 同步正常;如果有一方的状态是 `ERROR`,则表示同步异常。 2. 查看 DataGuard 错误日志 执行以下命令查看 DataGuard 的错误日志: ``` DGMGRL> show database <database_name> log transport; ``` 其中 `<database_name>` 是指备库的名称。如果出现同步异常,可以从日志中查看具体的错误信息,比如网络连接异常或者磁盘空间不足等。 3. 检查网络连接 如果同步异常是由于网络连接异常引起的,可以执行以下命令检查网络连接: ``` tnsping <database_name> ``` 其中 `<database_name>` 是指备库的名称。如果出现网络连接异常,可以根据错误信息进行调整,比如修改 tnsnames.ora 文件中的网络配置或者检查防火墙设置等。 4. 检查磁盘空间 如果同步异常是由于磁盘空间不足引起的,可以执行以下命令检查磁盘空间: ``` df -h ``` 如果磁盘空间不足,可以考虑清理无用的文件或者增加磁盘容量等。 5. 重新启动 DataGuard 如果以上方法都无法解决同步异常问题,可以考虑重新启动 DataGuard,执行以下命令: ``` DGMGRL> disable database <database_name>; DGMGRL> enable database <database_name>; ``` 其中 `<database_name>` 是指备库的名称。重新启动 DataGuard 会重新建立同步连接,可以解决一些难以排查的同步异常问题。 综上所述,以上是处理 DataGuard 同步异常的一些方法和步骤,可以根据具体情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值