ORACLE 参数文件损坏恢复实例

实例启动时会报如下错误:

SQL> startup

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora'

利用控制文件自动备份生成的参数文件备份恢复。

步骤:

  1. 使用RMAN启动实例到nomount状态。RMAN能够在没有参数文件的特殊情况下将实例启动到nomount状态

RMAN> startup nomount;

startup failed: ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora'

starting Oracle instance without parameter file for retrieval of spfile

Oracle instance started

Total System Global Area 158662656 bytes

Fixed Size 2226456 bytes

Variable Size 92276456 bytes

Database Buffers 58720256 bytes

Redo Buffers 5439488 bytes

b、执行restore spfile 命令,根据备份类型区别使用 from autobackup或 from '备份集路径'子句。这里使用自动备份。

RMAN> set dbid 1328529185;

executing command: SET DBID

RMAN> restore spfile from autobackup;

Starting restore at 01-DEC-12

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=18 device type=DISK

channel ORA_DISK_1: looking for AUTOBACKUP on day: 20121201

channel ORA_DISK_1: AUTOBACKUP found: c-1328529185-20121201-00

channel ORA_DISK_1: restoring spfile from AUTOBACKUP c-1328529185-20121201-00

channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete

Finished restore at 01-DEC-12

注意:此命令要求先指定数据库的DBID,DBID可以从控制文件自动备份文件名中获得,控制文件自动备份默认保存在 $ORACLE_HOME/dbs 目录。

当控制文件自动备份没有在默认位置

Rman>RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/oracle/%F';

那么,数据库在nomount状态rman只能读取默认配置的,不能读取到更改后位置的

当回复的时候通过如下

Rman>set dbid 1328529185;

Rman>run

{

SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE disk to '/oracle/%F';

Restore controlfile from autobackup;

}

c、重启实例,恢复完成

RMAN> shutdown immediate;

Oracle instance shut down

RMAN> startup;

connected to target database (not started)

Oracle instance started

database mounted

database opened

Total System Global Area 1048059904 bytes

Fixed Size 2235000 bytes

Variable Size 608175496 bytes

Database Buffers 432013312 bytes

Redo Buffers 5636096 bytes

如果在实例运行中发现参数文件损坏,如下:

SQL> alter system set log_archive_dest_2='location=/u01/app/oracle/arch2' scope=spfile;

alter system set log_archive_dest_2='location=/u01/app/oracle/arch2' scope=spfile

*

ERROR at line 1:

ORA-01565: error in identifying file

'/u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora'

ORA-27046: file size is not a multiple of logical block size

Additional information: 1

直接执行restore spfile恢复即可,不需关闭实例和设置DBID

RMAN> restore spfile to '/tmp/spfileorcl.ora' from autobackup;

注意:如果数据库是用spfile文件启动的,要恢复到其他位置,在copy到原位置即可。

cp /tmp/spfileorcl.ora $ORACLE_HOME/dbs

相关推荐
ClickHouseDB5 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
m0_639906945 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
时间售卖铺6 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
qetfw6 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
数智园区合作社7 小时前
问数平台怎么把同一个指标锁成一个数
大数据·数据库·人工智能·ai
lbb 小魔仙7 小时前
Windows搭建PaddleOCR+飞书Webhook自动打卡通知机器人:识别、推送与远程触发完整教程
数据库·人工智能·prometheus·时序数据库
captain3768 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
心中有你02149 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
龙亘川9 小时前
综合素质评价业务建模:从过程性评价到成长档案全链路闭环
数据库·智慧城市·数据可视化
数据库小组9 小时前
NineData 实战教程:MySQL 5.5 数据迁移同步到 MySQL 8.0(跨版本升级)
数据库·mysql·mysql优化·数据库开发·数据库迁移·版本升级·数据复制