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;)
复制代码

 

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

模拟故障:清空该文件 

echo '' > $ORACLE_HOME/dbs/spfileorcltest.ora 
  • 1.

现象:修改数据库参数时会报错 

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 sizeAdditional information: 1 
  • 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-20BP Key: 22   Status: AVAILABLE  Compressed: NO  Tag: TAG20200317T133602Piece Name: /home/oracle/backupdir/c-2750922031-20200317-00SPFILE Included: Modification time17-MAR-20SPFILE db_unique_name: ORCLTEST 
  • 1.

 

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   
  • 1.
  • 2.
  • 3.
  • 4.

注意在还原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   数据派  阅读(8)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示