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

相关推荐
molaoye3 小时前
win10下安装MySQL 8.0.*实录
数据库·mysql
千舟软件3 小时前
千舟软件介绍 | 顺便聊聊我们做了哪些产品
大数据·数据库·科技·小程序·业界资讯
番茄炒鸡蛋加糖4 小时前
中级核心技术1--MySQL/Java 并发
java·数据库·mysql
戴西软件4 小时前
戴西CAxWorks.VPG车辆工程仿真软件技术解析(上)——安全仿真体系的自动化构建
运维·网络·数据库·人工智能·算法·安全·自动化
灯澜忆梦5 小时前
【MySQL10】进阶篇 | 索引_#1
数据库·sql·mysql
敲上瘾5 小时前
redis常用数据类型与操作方法
数据结构·数据库·redis·缓存
OceanWaves19935 小时前
mysql 5.7.29 主从同步配置
数据库·mysql·adb
molaoye6 小时前
win10下切换MySQL版本
数据库·mysql
丁引6 小时前
《数据清洗的艺术:如何用20行核心逻辑优雅地删除无标签图片》
前端·数据库·python
雨辰AI6 小时前
K8s 数据库 Secret 加密实战|密码明文漏洞彻底修复,等保密评双合规(金仓 / 达梦双库适配)
数据库·容器·kubernetes