博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
db_file_name_convert设置出错导致备库无法recovery
阅读量:2447 次
发布时间:2019-05-10

本文共 5837 字,大约阅读时间需要 19 分钟。

一套10.2.0.5的physical standby,主库挂载了一系列的sas磁盘,新增的磁盘路径在备库上不存在,因此需要设置备库参数db_file_name_convert,

但是敲入命令出错,原本的'/storage/disk00','/data/oracle/oradata/test'敲成了'/storage/disk0*','/data/oracle/oradata/test'
在主库新增表空间的时候备库出现错误,备库alertlog如下

WARNING: File being created with same name as in Primary

Existing file may be overwritten
Errors in file /data/oracle/diag/rdbms/test/trace/test_pr00_6397.trc:
ORA-01119: error in creating database file '/storage/disk00/JUSTIN_01.dbf'
ORA-27054: NFS file system where the file is created or resides is not mounted with correct options
Linux-x86_64 Error: 13: Permission denied
File #166 added to control file as 'UNNAMED00166'.
Originally created as:
'/storage/disk00/JUSTIN_01.dbf'
Recovery was unable to create the file as:
'/storage/disk00/JUSTIN_01.dbf'
MRP0: Background Media Recovery terminated with error 1274
Errors in file /data/oracle/diag/rdbms/test/trace/test_pr00_6397.trc:
ORA-01274: cannot add datafile '/storage/disk00/JUSTIN_01.dbf' - file could not be created
Managed Standby Recovery not using Real Time Apply
Recovery interrupted!
Recovered data files to a consistent state at change 23332162008
Tue Oct 11 14:44:44 2011
MRP0: Background Media Recovery process shutdown (test)

由于备库不存在/storage/disk00,无法创建datafile导致recovery被中止

此时尝试启动备库的recovery进程,观察alertlog可以看到,recovery的slave进程由于ora-1111错误而退出
Tue Oct 11 14:46:43 2011
ALTER DATABASE RECOVER  managed standby database using current logfile disconnect from session 
Attempt to start background Managed Standby Recovery process (test)
Tue Oct 11 14:46:43 2011
MRP0 started with pid=26, OS id=6441
MRP0: Background Managed Standby Recovery process started (test)
 started logmerger process
Tue Oct 11 14:46:48 2011
Managed Standby Recovery starting Real Time Apply
Tue Oct 11 14:46:48 2011
Errors in file /data/oracle/diag/rdbms/test/trace/test_dbw0_6353.trc:
ORA-01186: file 166 failed verification tests
ORA-01157: cannot identify/lock data file 166 - see DBWR trace file
ORA-01111: name for data file 166 is unknown - rename to correct file
ORA-01110: data file 166: '/data/oracle/product/11.2.0/db1/dbs/UNNAMED00166'
File 166 not verified due to error ORA-01157
MRP0: Background Media Recovery terminated with error 1111
Errors in file /data/oracle/diag/rdbms/test/trace/test_pr00_6475.trc:
ORA-01111: name for data file 166 is unknown - rename to correct file
ORA-01110: data file 166: '/data/oracle/product/11.2.0/db1/dbs/UNNAMED00166'
ORA-01157: cannot identify/lock data file 166 - see DBWR trace file
ORA-01111: name for data file 166 is unknown - rename to correct file
ORA-01110: data file 166: '/data/oracle/product/11.2.0/db1/dbs/UNNAMED00166'
Managed Standby Recovery not using Real Time Apply
Slave exiting with ORA-1111 exception
Errors in file /data/oracle/diag/rdbms/test/trace/test_pr00_6475.trc:
ORA-01111: name for data file 166 is unknown - rename to correct file
ORA-01110: data file 166: '/data/oracle/product/11.2.0/db1/dbs/UNNAMED00166'
ORA-01157: cannot identify/lock data file 166 - see DBWR trace file
ORA-01111: name for data file 166 is unknown - rename to correct file
ORA-01110: data file 166: '/data/oracle/product/11.2.0/db1/dbs/UNNAMED00166'
Recovery Slave PR00 previously exited with exception 1111
MRP0: Background Media Recovery process shutdown (test)
Completed: ALTER DATABASE RECOVER  managed standby database using current logfile disconnect from session 
Tue Oct 11 14:47:06 2011
Archived Log entry 4801 added for thread 1 sequence 10651 ID 0xe339e88c dest 1:
Tue Oct 11 14:47:06 2011
RFS[1]: Selected log 6 for thread 1 sequence 10652 dbid -482780276 branch 754336076
Tue Oct 11 14:47:25 2011
Archived Log entry 4802 added for thread 1 sequence 10652 ID 0xe339e88c dest 1:
Tue Oct 11 14:47:25 2011
RFS[1]: Selected log 6 for thread 1 sequence 10653 dbid -482780276 branch 754336076

此时备库已经无法正常恢复了,也无法open
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-10458: standby database requires recovery
ORA-01157: cannot identify/lock data file 166 - see DBWR trace file
ORA-01111: name for data file 166 is unknown - rename to correct file
ORA-01110: data file 166: '/data/oracle/product/11.2.0/db1/dbs/UNNAMED00166'

解决办法,修改备库的db_file_name_convert参数使之正确,在主库将新增的tablespace drop,接着在备库执行offline drop

SQL> alter database datafile '/data/oracle/product/11.2.0/db1/dbs/UNNAMED00166'
  2  offline drop;

Database altered.

此时v$datafile中还可以看到该文件记录
SQL> select ts#,name from v$datafile;

       TS# NAME

---------- ----------------------------------------------------------------------------------------------------
         0 /data/oracle/oradata/test/system.dbf
         1 /data/oracle/oradata/test/undotbs01.dbf
         2 /data/oracle/oradata/test/sysaux.dbf
        10 /data/oracle/product/11.2.0/db1/dbs/UNNAMED00166
开启备库恢复进程,此时备库恢复正常,通过alertlog可以看出备库的执行步骤
由于db_file_name_convert设置正确,先增加datafile,然后再delete并drop tablespace
Completed: ALTER DATABASE RECOVER  managed standby database using current logfile disconnect from session 
Recovery created file /data/oracle/oradata/test/JUSTIN_01.dbf
Successfully added datafile 166 to media recovery
Datafile #166: '/data/oracle/oradata/test/JUSTIN_01.dbf'
Recovery deleting file #166:'/data/oracle/oradata/test/JUSTIN_01.dbf' from controlfile.
Deleted file /data/oracle/oradata/test/JUSTIN_01.dbf
Recovery dropped tablespace 'JUSTIN'
Media Recovery Log /data/oracle/oradata/test/arch/1_10652_754336076.dbf
Media Recovery Log /data/oracle/oradata/test/arch/1_10653_754336076.dbf
Media Recovery Log /data/oracle/oradata/test/arch/1_10654_754336076.dbf
Media Recovery Waiting for thread 1 sequence 10655 (in transit)
Recovery of Online Redo Log: Thread 1 Group 6 Seq 10655 Reading mem 0
  Mem# 0: /data/oracle/oradata/test/standbyredo6.log
Tue Oct 11 14:54:08 2011

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

转载于:http://blog.itpub.net/15480802/viewspace-708959/

你可能感兴趣的文章
exec sql_EXEC SQL概述和示例
查看>>
sql中聚合函数和分组函数_学习SQL:聚合函数
查看>>
索引sql server_维护SQL Server索引
查看>>
sql rank_SQL RANK功能概述
查看>>
保存您SQL执行计划
查看>>
filetable_SQL Server FILETABLE用例
查看>>
ssis组件_SSIS脚本组件概述
查看>>
sql 触发器嵌套条件_SQL Server中的嵌套触发器
查看>>
SQL Server中的数据库快照
查看>>
power bi 实时_Power BI中的实时流
查看>>
power bi 背景图_Power BI桌面饼图树
查看>>
@sql 单元测试_SQL单元测试最佳实践
查看>>
sql组合索引和独立索引_SQL索引概述和策略
查看>>
SQL Server执行计划面试问题
查看>>
sql t-sql_增强的PolyBase SQL 2019-使用t-SQL的外部表
查看>>
清理搜狗输入法_清理输入内容:避免安全性和可用性灾难
查看>>
索引sql server_SQL Server索引与统计顾问的困境或麻烦
查看>>
aws s3 cli_了解AWS CLI –使用AWS CLI与AWS S3存储桶进行交互
查看>>
json 转对象函数_JSON_QUERY()函数从JSON数据提取对象
查看>>
将PowerShell连接到SQL Server –使用其他帐户
查看>>