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   数据库那些事儿  阅读(3)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(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

统计

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