首页 >数据库 >mysql教程 >spfile 和pfile 在数据库open和shutdown 的两种情况下的恢复成功

spfile 和pfile 在数据库open和shutdown 的两种情况下的恢复成功

WBOY
WBOY原创
2016-06-07 17:08:041570浏览

本实验室做当数据库在 open 和shutdown 的两种情况下spfile 和pfile 丢失的情况下的恢复。oracle@aoracle dbs]$ rman target rma

本实验室做当数据库在 open 和shutdown 的两种情况下spfile 和pfile 丢失的情况下的恢复。

Oracle@aoracle dbs]$ rman target rman_user/rman_user;

Recovery Manager: Release 10.2.0.1.0 - Production on Thu Dec 8 19:21:38 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database: EZHOU (DBID=4046377924, not open)

RMAN> restore spfile;

Starting restore at 08-DEC-11
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=149 devtype=DISK

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 12/08/2011 19:21:56
RMAN-06564: must use the TO clause when the instance is started with SPFILE

RMAN> restore spfile to '/u02/rman/spfile.ora' from autobackup;

Starting restore at 08-DEC-11
using channel ORA_DISK_1

channel ORA_DISK_1: looking for autobackup on day: 20111208
channel ORA_DISK_1: autobackup found: /u02/rman/ctl_c-4046377924-20111208-00
channel ORA_DISK_1: SPFILE restore from autobackup complete
Finished restore at 08-DEC-11

RMAN>

把spfile 拷贝到$ORACLE_HOME/dbs下就可以了。

===================

下面进行:数据库处于关闭状态,丢失spfile,pfile

[oracle@aoracle dbs]$ mv spfileezhou.ora spfileezhou.ora_b
[oracle@aoracle dbs]$ mv initezhou.ora initezhou.ora_b

[oracle@aoracle dbs]$ ls -l *ezhou*.ora*
-rw-r--r-- 1 oracle oinstall  986 Dec  6 19:27 initezhou.ora_b
-rw-r----- 1 oracle oinstall 2560 Dec  8 19:38 spfileezhou.ora_b

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>

[oracle@aoracle admin]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Dec 8 20:01:33 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/pp/oracle/product/10.2/db_1/dbs/initezhou.ora'
SQL> startup nomount;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/pp/oracle/product/10.2/db_1/dbs/initezhou.ora'
SQL> startup force nomount;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/pp/oracle/product/10.2/db_1/dbs/initezhou.ora'
SQL> !
[oracle@aoracle admin]$ rman target /

Recovery Manager: Release 10.2.0.1.0 - Production on Thu Dec 8 20:04:10 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database (not started)

RMAN> restore spfile from '/u02/rman/ctl_c-4046377924-20111208-00'
2> ;

Starting restore at 08-DEC-11
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 12/08/2011 20:05:29
RMAN-12010: automatic channel allocation initialization failed
RMAN-06403: could not obtain a fully authorized session
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory

RMAN> startup force nomount;

startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/pp/oracle/product/10.2/db_1/dbs/initezhou.ora'

starting Oracle instance without parameter file for retrival of spfile
Oracle instance started

Total System Global Area     159383552 bytes

Fixed Size                     1218268 bytes
Variable Size                 54528292 bytes
Database Buffers             100663296 bytes
Redo Buffers                   2973696 bytes

RMAN> restore spfile from autobackup;

于 2011 年 12 月 8 日开始恢复
使用目标数据库控制文件而不是恢复目录
分配的通道:ORA_DISK_1
通道 ORA_DISK_1:sid=36 devtype=DISK

RMAN-00571:=============================================== ================
RMAN-00569: =============== 错误消息堆栈如下 ======== =======
RMAN-00571:======================================== =======================
RMAN-03002:在 12/08/2011 20:06:44
RMAN- 恢复命令失败06495:必须使用 SET DBID 命令显式指定 DBID

RMAN>设置 dbid 4046377924

执行命令:SET DBID

RMAN>从自动备份恢复spfile;

于 2011 年 12 月 8 日开始恢复
使用通道 ORA_DISK_1

频道 ORA_DISK_1:寻找当天的自动备份:20111208
频道 ORA_DISK_1:寻找当天的自动备份:20111207
频道 ORA_DISK_1:寻找当天的自动备份:20111206
频道 ORA_DISK_1:寻找当天的自动备份:20111205
通道 ORA_DISK_1:正在寻找自动备份日期:20111204
通道 ORA_DISK_1:正在寻找自动备份日期:20111203
通道 ORA_DISK_1:正在寻找自动备份日期:20111202
通道 ORA_DISK_1:否自动备份在发现 7 天
RMAN-00571:============================================ ===================
RMAN-00569: =============== 错误消息堆栈如下 ===== ==========
RMAN-00571: =================================== ==========================
RMAN-03002:在 12/08/2011 20:07:18 时恢复命令失败
RMAN-06172:找不到自动备份或指定的句柄不是有效的副本或片段

RMAN>从 '/u02/rman/ctl_c-4046377924-20111208-00' 恢复 spfile;

于 2011 年 12 月 8 日开始恢复
使用通道 ORA_DISK_1

通道 ORA_DISK_1:找到自动备份:/u02/rman/ctl_c-4046377924-20111208-00
通道 ORA_DISK_1:从自动备份恢复 SPFILE 已完成
已于 2011 年 12 月 8 日完成恢复

RMAN>

pfile从spfile创建就可以了。

========
总结: spfile 和 pfile 在数据库打开和关闭的两种情况下的成功恢复。

spfile 和pfile 在数据库open和shutdown 的两种情况下的恢复成功

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn