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

相关推荐
ai_coder_ai38 分钟前
论 NoSQL 数据库技术及其应用
数据库·nosql
AOwhisky2 小时前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算
ytttr8732 小时前
C# 定时数据库备份工具
开发语言·数据库·c#
睡不醒男孩0308232 小时前
自建 Prometheus+Grafana 与 CLUP 深度监控 PG 集群有什么区别?
数据库·oracle
AOwhisky2 小时前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存
猫猫聚会Ing3 小时前
数据库设计 Prompt 提示词 - 构建与迭代
数据库
上海云盾-小余3 小时前
源站隐藏实战:规避裸 IP 被直接攻击的完整方案
数据库·网络协议·tcp/ip
微学AI4 小时前
时序大模型 TimechoAI 赋能工业时序数据底层技术优势与实操
数据库·大模型·时序大模型
北顾笙9804 小时前
MYSQL-day03
数据库·sql·mysql
MXsoft6184 小时前
**混合云统一监控实践:私有云+公有云的一体化运维方案**
运维·网络·数据库