ORA-19864错误

今天在尝试修改STANDBY数据库的DB_FILE_NAME_CONVERT参数后,数据库无法启动报错ORA-19864


完整的错误信息为:

SQL> startup pfile=?/dbs/inittestrac_standby.ora
ORA-19864: Pattern /data1/oradata/testrac/TESTRAC_STANDBY/datafile/o1_mf_suk_3kro3cbs_.dbf in initialization parameter db_file_name_convert has an Oracle Managed Files file name.

出现错误并不奇怪,奇怪的是这个错误在Oracle的错误文档中是找不到的。

而且,在metalink上面居然也没有找到任何有价值的信息。

看来只能从这个错误本身入手了。错误信息显示这个文件名是一个Oracle管理的文件名。难道DB_FILE_NAME_CONVERT中不需要指定一个Oracle管理文件的文件名吗?

还是先描述一下为什么会出现这个问题。

当前的数据库环境是ORACLE 10.2.0.3 for Solaris的物理STANDBY数据库。由于建立这个STANDBY的时候,系统空间不足,因此STANDBY的数据文件和PRIMARY数据文件的路径并不一致。在建立STANDBY的时候就选择使用DB_FILE_NAME_CONVERTLOG_FILE_NAME_CONVERT来改变数据文件的路径。

后来其他人在PRIMARY库中添加了新的表空间和数据文件。由于初始化参数STANDBY_FILE_MANAGEMENT初始化参数设置为TRUE,所以STANDBY数据库会创建对应的数据文件。但是这个新增数据文件在DB_FILE_NAME_CONVERT中找不到对应项,因此STANDBY数据库选择了采用OMF的方式建立了数据文件,也就是上面显示的那个数据文件。

现在需要重建STANDBY的控制文件,用主库生成STANDBY CONTROLFILE拷贝到STANDBY数据库,但是由于OMF方式的特殊性,这次新增文件仍然采用OMF的方式来产生本地的数据文件名称,但是这个名称和上次产生的名称并不一致。

因此,尝试修改DB_FILE_NAME_CONVERT参数,使得新增的数据文件的名称可以对应到目前已经建立好的Oracle命名的OMF数据文件上。

修改完毕后,尝试启动数据库,就出现上面的错误。

看来问题的原因就是DB_FILE_NAME_CONVERT参数不能包括一个OMF的文件名。

既然不能使用OMF命名的文件名,干脆将新增文件重新命名。

关闭数据库的情况下,修改了这个OMF文件的文件名称,根据常规方法将其修改为’/data1/oradata/testrac/suk01.dbf’,并在初始化参数中指定这个名字,再次重启数据库,问题解决。

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

转载于:http://blog.itpub.net/4227/viewspace-69518/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值