数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
RMAN恢复案例——丢失spfile的恢复

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

1.1. 丢失spfile的恢复

大前提:已经配置了数据库控制文件的自动备份,并且已经有可靠的备份:

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP on;

 

新的 RMAN 配置参数:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

已成功存储新的 RMAN 配置参数

正在启动全部恢复目录的 resync

完成全部 resync

 

RMAN>

 

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:\RMANTEST\%F';

 

新的 RMAN 配置参数:

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:\RMANTEST\%F';

已成功存储新的 RMAN 配置参数

正在启动全部恢复目录的 resync

完成全部 resync

 

RMAN>

 

RMAN> show all;

 

RMAN 配置参数为:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:\RMANTEST\%F';

CONFIGURE DEVICE TYPE DISK PARALLELISM 1;

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE92\DATABASE\SNCFTEST1.ORA'; # default

 

RMAN>

 

RMAN> run{

2> backup database

3> tag 'full_db_20041007'

4> format 'd:\rmantest\full_dbtest_yyyymmdd%_u%.bak'

5> include current controlfile;

6> backup archivelog all

7> tag 'arch_bak'

8> format 'd:\rmantest\arch_yyyymmdd%_u%.bak'

9> delete input;}

 

启动 backup 07-10-04

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=13 devtype=DISK

通道 ORA_DISK_1: 正在启动 full 数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

备份集中包括当前控制文件

输入数据文件 fno=00001 name=D:\ORACLE92\TEST1\SYSTEM01.DBF

输入数据文件 fno=00002 name=D:\ORACLE92\TEST1\UNDOTBS01.DBF

输入数据文件 fno=00006 name=D:\ORACLE92\TEST1\RMAN01.DBF

输入数据文件 fno=00003 name=D:\ORACLE92\TEST1\INDX01.DBF

输入数据文件 fno=00005 name=D:\ORACLE92\TEST1\USERS01.DBF

输入数据文件 fno=00004 name=D:\ORACLE92\TEST1\TOOLS01.DBF

通道 ORA_DISK_1: 正在启动段 1 07-10-04

通道 ORA_DISK_1: 已完成段 1 07-10-04

handle=D:\RMANTEST\FULL_DBTEST_YYYYMMDD%_U%.BAK comment=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:06

完成 backup 07-10-04

 

启动 backup 07-10-04

当前日志已存档

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在启动存档日志备份集

通道 ORA_DISK_1: 正在指定备份集中的存档日志

输入存档日志线程 =1 序列 =15 记录 ID=20 时间戳=538928248

通道 ORA_DISK_1: 正在启动段 1 07-10-04

通道 ORA_DISK_1: 已完成段 1 07-10-04

handle=D:\RMANTEST\ARCH_YYYYMMDD%_U%.BAK comment=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02

通道 ORA_DISK_1: 正在删除存档日志

存档日志文件名 =D:\ORACLE92\ADMIN\TEST1\ARCH\ARC00015.001 记录 ID=20 时间戳 =538928248

完成 backup 07-10-04

 

启动 Control File and SPFILE Autobackup 07-10-04

handle=D:\RMANTEST\C-910599446-20041007-00 comment=NONE

完成 Control File and SPFILE Autobackup 07-10-04

 

RMAN>

 

 

 

 

1.1.1.    将当前spfile挪到其他位置来模拟spfile丢失

RMAN> host;

 

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

 

C:\>move D:\oracle92\database\SPFILETEST1.ORA D:\oracle92\database\bak\SPFILETEST1.ORA

 

C:\>dir D:\oracle92\database\SPFILETEST1.ORA

 驱动器 D 中的卷没有标签。

 卷的序列号是 644D-03D9

 

 D:\oracle92\database 的目录

 

找不到文件

 

C:\>dir D:\oracle92\database\bak\SPFILETEST1.ORA

 驱动器 D 中的卷没有标签。

 卷的序列号是 644D-03D9

 

 D:\oracle92\database\bak 的目录

 

2004-10-04  14:06             2,560 SPFILETEST1.ORA

               1 个文件          2,560 字节

               0 个目录 10,708,807,680 可用字节

 

C:\>exit

主机命令完成

 

RMAN>

 

1.1.2.    设置ORACLE_SID

C:\>set ORACLE_SID=TEST1

 

C:\>ECHO ORACLE_SID

ORACLE_SID

 

C:\>

 

1.1.3.    登陆RMAN

C:\>rman

 

恢复管理器: 版本9.2.0.1.0 - Production

 

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

 

RMAN> connect target lunar/lunar@test1

 

已连接到目标数据库 (未启动)

 

RMAN> connect catalog rman/rman@rman

 

连接到恢复目录数据库

 

RMAN>

 

1.1.4.    RMAN中设置DBID

使RMAN知道需要查找哪一个数据库的spfile

(必须在数据关闭的情况下设置DBID

RMAN> set DBID=910599446

 

正在执行命令: SET DBID

 

RMAN>

 

1.1.5.    将数据库启动到nomount状态

RMAN> startup nomount;

 

启动失败: ORA-01078: failure in processing system parameters

LRM-00109: N^7(4r?*2NJ}ND<~ 'D:\ORACLE92\DATABASE\INITTEST1.ORA'

 

正在尝试在没有参数文件的情况下启动 Oracle 例程...

Oracle 例程已启动

 

系统全局区域总计      97589952 字节

 

Fixed Size                      453312 字节

Variable Size                 46137344 字节

Database Buffers              50331648 字节

Redo Buffers                    667648 字节

 

RMAN>

 

1.1.6.    从自动备份中还原参数文件

RMAN> show all;

 

RMAN 配置参数为:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:\RMANTEST\%F';

CONFIGURE DEVICE TYPE DISK PARALLELISM 1;

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

 

RMAN> restore spfile from autobackup;

 

启动 restore 07-10-04

 

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=9 devtype=DISK

通道 ORA_DISK_1: 寻找以下日期的自动备份: 20041007

通道 ORA_DISK_1: 已找到的自动备份: D:\RMANTEST\c-910599446-20041007-00

通道 ORA_DISK_1: 从自动备份复原 SPFILE 已完成

完成 restore 07-10-04

 

RMAN> host;

 

 

恢复管理器完成。

 

C:\>dir D:\oracle92\database\SPFILETEST1.ORA

 驱动器 D 中的卷没有标签。

 卷的序列号是 644D-03D9

 

 D:\oracle92\database 的目录

 

2004-10-07  14:31             2,560 SPFILETEST1.ORA

               1 个文件          2,560 字节

               0 个目录 10,528,374,784 可用字节

 

C:\> exit

 

恢复管理器: 版本9.2.0.1.0 - Production

 

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

 

连接到目标数据库: TEST1(未安装)

连接到恢复目录数据库

 

RMAN>

 

1.1.7.    Shutdown immediate关闭数据库

RMAN> shutdown immediate;

 

Oracle 例程已关闭

 

RMAN>

 

1.1.8.    重新启动数据库

RMAN> set DBID=910599446

 

正在执行命令: SET DBID

 

RMAN> startup

 

已连接到目标数据库 (未启动)

Oracle 例程已启动

数据库已加载

数据库已打开

 

系统全局区域总计     101784276 字节

 

Fixed Size                      453332 字节

Variable Size                 75497472 字节

Database Buffers              25165824 字节

Redo Buffers                    667648 字节

 

RMAN>




相关文章

相关软件