ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated

环境:oracle 11g + RAC + raw + 2node + redhat5.7


关闭节点2,启动数据库到mount状态执行

alter system setdb_recovery_file_dest='+DATADG/RACDB/FLASH_AREA' scope=spfile;

重新启动数据库后报错

ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated

在ASM中指定的路径都只需要指定磁盘组就可以了

alter system set db_recovery_file_dest='+DATADG' scope=spfile;



解决方法:

原理是将ASM中的spfile拷贝到本机,修改db_recovery_file_dest参数指定本机存在的一个目录如:/u01/app/oracle/flash_recovery_area

再拷贝回ASM原来的位置即可启动数据库,再修改自己想要修改的闪回路径。


步骤:

1.拷贝ASM中的spfile到本机:

create pfile='/u01/app/oracle/product/11.2.0.3/db_1/dbs/sinit.ora' from spfile='+DATADG/RACDB/spfileracdb.ora';

2.修改 db_recovery_file_dest参数:

   如指定以存在目录 u01/app/oracle/flash_recovery_area

3.拷贝回ASM中原来的位置(将ASM中原来的spfile改名作为备份)

create spfile='+DATADG/RACDB/spfileracdb.ora' from pfile='/u01/app/oracle/product/11.2.0.3/db_1/dbs/sinit.ora';

4.启动数据库,修改自己想要指定的闪回目录即可。


注意:

第3步如果用create spfile from pfile='/u01/app/oracle/product/11.2.0.3/db_1/dbs/sinit.ora';
这样的spfile是在本地/u01/app/oracle/product/11.2.0.3/db_1/dbs/spfileracdb1.ora  并不是ASM中

第1步如果用create pfile from spfile='+DATADG/RACDB/spfileracdb.ora';  原来文件initracdb1.ora中内容(仅有一条指向ASM中spfile:spfile=+DATA/racdb/spfileracdb.ora)

覆盖initracdb1.ora中的内容,就没有指定ASM中的spfile了,RAC  spfile放在ASM上最好,否则后续维护麻烦。

pfile:init.ora            spfile:initracdb1.ora         用过上面一条命令生成的spfile名:spfileracdb1.ora

spfileracdb1.ora和initracdb1.ora都只一条记录:spfile=+DATA/racdb/spfileracdb.ora            (有的没有initracdb1.ora  )

两个实例共用ASM的spfile




也可以用rman导出来:

1.先从pfile启动数据库

startup pfile='/u01/app/oracle/product/11.2.0.3/db_1/dbs/init.ora';

2.拷贝出ASM中的spfile

RMAN>convert datafile  '+DATADG/RACDB/spfile.bak' format  '/u01/11.2.0.3/spfile.bak';

3.修改参数为本地一个存在的目录如/u01/app/oracle/flash_recovery_area

4.拷贝回ASM中(原来的也改名备份)

RMAN>convert datafile '/u01/11.2.0.3/spfile.bak'  format  '+DATADG/RACDB/spfile.bak' ;

停止数据库再启动重新修改闪回路径就好了。






如果原来归档路径里面的数据不需要了可以删除:

rman target /
crosscheck archivelog all;        检查文件的完整性
delete expired archivelog all;    删除没有物理文件的记录(过期的文件)

asmcmd中  需要 /u01/11.2.0.3/grid/bin/crsctl stop cluster -all  再删除文件

手动 rm 删除系统上的归档文件


----ok-------


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值