SPFILE的备份和恢复(深入解析ORACLE笔记1)
1. 启用控制文件的自动备份,会同时备份CONTROLFILE和SPFILE
RMAN > CONFIGURE CONTROLFILE AUTOBACKUP ON;
更改自动备份的位置
RMAN > CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/opt/oracle/obak/control%F';
检查自动备份
SQL > select * from v$backup_spfile;
2. SPFILE恢复
1) 有备份的情况
$ rman target /
RMAN > list backup of spfile; --确认是否有备份的SPFILE
- 可以MOUNT
RMAN > startup mount
RMAN > restore spfile to '<PATH_SPFILE NAME>' from autobackup;
- 无法MOUNT
$ rman target /
但可以NOMOUNT
RMAN > Restore spfile to '<PATH_SPFILE NAME>' from 'c-3152029220-20060509-00'
无法NOMOUNT
$ > rman target /
RAMN > startup nomount --启动默认实例
RMAN > Restore spfile to '<PATH_SPFILE NAME>' from 'c-3152029220-20060509-00'
无备份的情况
有PFILE,可以直接恢复
如果当前数据库是以SPFILE启动的,重建SPFILE需要改名:
SQL > Create spfile='/opt/oracle/product/10.2.0/dbs/spfile1.ora' from pfile=’/ opt/oracle/admin/order/scripts/init.ora’;
$ Mv spfile1.ora spfileORCL.ora
否则可以直接新建同名SPFILE:
SQL > Create spfile='/opt/oracle/product/10.2.0/dbs/spfileORCL.ora' from pfile='/ opt/oracle/admin/order/scripts/init.ora';
11g的处理方式:
SQL > Create spfile = '<spfile name>' from memory
数据库shutdown情况下:
SQL > create spfile from pfile;
也可以反过来
SQL > create pfile from spfile; --通常用于修改参数