Oracle参数文件损坏处理

文件说明:这里所说的参数文件指的是spfile,该文件存储的是实例启动的参数和控制文件的路径

模拟故障:清空该文件
echo ‘’ > $ORACLE_HOME/dbs/spfileorcltest.ora

现象:修改数据库参数时会报错
SQL> alter system set open_cursors=400;

alter system set open_cursors=400
*
ERROR at line 1:
ORA-01565: error in identifying file
'/u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcltest.ora'
ORA-27046: file size is not a multiple of logical block size
Additional information: 1
修复:使用rman还原参数文件
RMAN> list backup of spfile;

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
22      Full    9.73M      DISK        00:00:02     17-MAR-20      
        BP Key: 22   Status: AVAILABLE  Compressed: NO  Tag: TAG20200317T133602
        Piece Name: /home/oracle/backupdir/c-2750922031-20200317-00
  SPFILE Included: Modification time: 17-MAR-20
  SPFILE db_unique_name: ORCLTEST
RMAN> restore spfile to/home/oracle/spfileorcltest.ora’ from/home/oracle/backupdir/c-2750922031-20200317-00’;
mv /home/oracle/spfileorcltest.ora /u01/app/oracle/product/11.2.0/db_1/dbs/
SQL> shutdown immediate
SQL> startup
注意在还原spfile的时候如果还原到spfile原先的位置,会报ORA-32011: cannot restore SPFILE to location already being used by the instance
所以需要还原到一个新的路径,然后手工移过去
PS:参数文件也可以从内存中直接创建一个新的,更省事(create spfile=/home/oracle/spfileorcltest.ora’ from memory;)

 

posted on 2025-01-27 10:24  数据与人文  阅读(17)  评论(0)    收藏  举报