oracle 11.2 操控文件复原51CTO博客 - 超凡娱乐

oracle 11.2 操控文件复原51CTO博客

2019-03-06 10:19:58 | 作者: 惜玉 | 标签: 文件,操控,复原 | 浏览: 1492

******************************************
1.操控文件备份分类
******************************************
一般分为:
1)在线镜像备份
2)结构备份
3)前史备份
康复时优先考虑镜像备份.
除了镜像备份外其它备份康复首要依照下面的过程:
过程1:从备份中复原操控文件
过程2:运用重做日志介质康复数据库
过程3:重设日志翻开数据库
运用resetlogs指令翻开数据库的原因是recover指令只能修正操控文件中的
数据库物理结构信息无法修正操控文件中的当时重做日志的序列号等信息,
当你recover指令完结后,操控文件中当时日志序列号仍是备份时的序列号,
国语陈腐.
******************************************
2.recover database几种差异
******************************************
第一类:SQL>recover database;
该指令用来对一切数据文件进行康复,并且只能运用保存
在文件体系上的归档日志和在线日志。运用该指令的条件
是操控文件不能是复原或重建得来的,即操控文件有必要
是在线的或损坏镜像复原的.
第二类:SQL>recover database using backup controfile;
该指令用来对一切数据文件以及操控文件进行康复,并且只能运用保存
在文件体系上的归档日志和在线日志。
第三类:RMAN>recover database;
该指令用来对一切数据文件以及操控文件进行康复,并且能够运用
增量备份、备份中的和文件体系上的归档日志以及文件体系上的在线日志.
******************************************
3.运用在线镜像康复
******************************************
/***
根本过程:
1)startup nomount
2)检查日志了解操控文件损坏状况
3)运用体系指令仿制或手动仿制将损坏的操控文件替换
4)alter database mount
5)alter database open
*****/
一、操控文件损坏的康复(一个文件)
损坏单个操控文件是比较简单康复的,因为一般的数据库体系,操控文件都不是一个,
并且一切的操控文件都互为镜像,只需仿制一个好的操控文件替换坏的操控文件就能够了。
--办法1:运用spfile多路复用
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      E:\APP\ADMINISTRATOR\ORADATA\O
                                                 RCL\CONTROL01.CTL, E:\APP\ADMI
                                                 NISTRATOR\FLASH_RECOVERY_AREA\
                                                 ORCL\CONTROL02.CTL
SQL> shutdown immediate
数据库现已封闭。
现已卸载数据库。
ORACLE 例程现已封闭。
host del E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL
SQL> startup
ORACLE 例程现已发动。
Total System Global Area  599785472 bytes
Fixed Size                  1250380 bytes
Variable Size             171969460 bytes
Database Buffers          423624704 bytes
Redo Buffers                2940928 bytes
ORA-00205: ?????????, ??????, ???????
SQL> shutdown immediate;
ORA-01507: ??????
ORACLE 例程现已封闭。
SQL> host copy E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL
已仿制         1 个文件。
SQL> startup
ORACLE 例程现已发动。
Total System Global Area  599785472 bytes
Fixed Size                  1250380 bytes
Variable Size             171969460 bytes
Database Buffers          423624704 bytes
Redo Buffers                2940928 bytes
数据库装载结束。
数据库现已翻开。
SQL> show parameter control_files;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      E:\APP\ADMINISTRATOR\ORADATA\O
                                                 RCL\CONTROL01.CTL, E:\APP\ADMI
                                                 NISTRATOR\FLASH_RECOVERY_AREA\
                                                 ORCL\CONTROL02.CTL
--办法2: 通过初始化文件修正设置多路操控文件仿制
1)直接修正服务器参数文件.
create pfile=e:\initorcl.ora from spfile;
2_修正修正e:\initorcl.ora文件.
修正control_files部分,将丢掉的操控文件删去.如:
*.control_files=E:\app\Administrator\oradata\orcl\control01.ctl,
E:\app\Administrator\flash_recovery_area\orcl\control02.ctl
修正为:
*.control_files=E:\app\Administrator\oradata\orcl\control01.ctl
3)发动
startup pfile=e:\initorcl.ora;
阐明:
1、丢掉单个操控文件是比较简单的,因为数据库中一切的操控文件都是镜像的,只需求简
单的仿制一个好的就能够了
2、主张镜像操控文件在不同的磁盘上
3、主张多做操控文件的备份,长时刻保存一份由alter database backup control file
to trace发生的操控文件的文本备份
******************************************
4.运用手动备份复原
******************************************
/***根本过程:
1)startup nomount
2)restore controlfile from autobackup;
3)alter database mount
4)recover database指令康复数据库
5)alter database open resetlogs
*****/
事例演示:
--(1).运用手动备份操控文件和参数文件
run {
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to E:\backup\controlfile\bak_%F;
allocate channel c1 device type disk format  E:\backup\data\bak_%u;
allocate channel c2 device type disk format E:\backup\data\bak_%u;
backup tablespace users ;
release channel c1;
release channel c2;
}
allocate channel for maintenance device type disk;
旧的 RMAN 装备参数:
CONFIGURE CONTROLFILE AUTOBACKUP OFF;
新的 RMAN 装备参数:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
已成功存储新的 RMAN 装备参数
旧的 RMAN 装备参数:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO E:\backup\bak_%F;
新的 RMAN 装备参数:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO E:\backup\controlfile\bak_%F;
已成功存储新的 RMAN 装备参数
开释的通道: ORA_DISK_1
分配的通道: c1
通道 c1: SID=202 设备类型=DISK
分配的通道: c2
通道 c2: SID=201 设备类型=DISK
发动 backup 于 2013-07-23 14:52:39
通道 c1: 正在发动悉数数据文件备份集
通道 c1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00004 称号=F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 c1: 正在发动段 1 于 2013-07-23 14:52:41
通道 c1: 已完结段 1 于 2013-07-23 14:52:42
段句柄=E:\BACKUP\DATA\BAK_89OFFHPP 符号=TAG20130723T145241 注释=NONE
通道 c1: 备份集已完结, 通过时刻:00:00:01
完结 backup 于 2013-07-23 14:52:42
发动 Control File and SPFILE Autobackup 于 2013-07-23 14:52:42
段 handle=E:\BACKUP\CONTROLFILE\BAK_C-1320546556-20130723-08 comment=NONE
完结 Control File and SPFILE Autobackup 于 2013-07-23 14:52:45
开释的通道: c1
开释的通道: c2
RMAN> allocate channel for maintenance device type disk;
分配的通道: ORA_MAINT_DISK_6
通道 ORA_MAINT_DISK_6: SID=202 设备类型=DISK
--(2).模仿删去操控文件
SQL> show parameters control_files;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      F:\APP\ADMINISTRATOR\ORADATA\O
                                                 RCL\CONTROL01.CTL, F:\APP\ADMI
                                                 NISTRATOR\ORADATA\ORCL\CONTROL
                                                 02.CTL, F:\APP\ADMINISTRATOR\O
                                                 RADATA\ORCL\CONTROL03.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
--(3)发动数据库,检查过错日志
SQL> startup
ORACLE 例程现已发动。
Total System Global Area 2538741760 bytes
Fixed Size                  2257872 bytes
Variable Size            1627393072 bytes
Database Buffers          889192448 bytes
Redo Buffers               19898368 bytes
ORA-00205: ?????????, ??????, ???????
F:\app\Administrator\diag\rdbms\orcl\orcl\trace
Tue Jul 23 14:58:29 2013
ALTER DATABASE   MOUNT
ORA-00210: cannot open the specified control file
ORA-00202: control file: F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
ORA-27041: unable to open file
OSD-04002: 无法翻开文件
O/S-Error: (OS 2) 体系找不到指定的文件。
ORA-00210: cannot open the specified control file
ORA-00202: control file: F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
ORA-27041: unable to open file
OSD-04002: 无法翻开文件
O/S-Error: (OS 2) 体系找不到指定的文件。
ORA-00210: cannot open the specified control file
ORA-00202: control file: F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
ORA-27041: unable to open file
OSD-04002: 无法翻开文件
O/S-Error: (OS 2) 体系找不到指定的文件。
ORA-205 signalled during: ALTER DATABASE   MOUNT...
Tue Jul 23 14:58:29 2013
Checker run found 3 new persistent data failures
---(4).运用手动备份康复
C:\>rman target /
康复管理器: Release 11.2.0.3.0 - Production on 星期二 7月 23 15:02:11 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
已连接到方针数据库: ORCL (未装载)
/****************************常见过错***************************************
--因为操控文件丢掉,未装载数据库.所以不能查询备份状况
RMAN> list backup of controlfile;  
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: list 指令 (在 07/23/2013 15:03:06 上) 失利
ORA-01507: 未装载数据库
---备份为备份到快速康复区,所以不能找到备份
RMAN> restore controlfile from autobackup;
发动 restore 于 2013-07-23 15:03:40
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
康复区方针: F:\arch
用于查找的数据库名 (或数据库的仅有称号): ORCL
通道 ORA_DISK_1: 在康复区中没有找到 AUTOBACKUP
因为未设置 DBID 而未测验运用格局 "%F" 查找 AUTOBACKUP
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 指令 (在 07/23/2013 15:03:41 上) 失利
RMAN-06172: 没有找到 AUTOBACKUP, 或许指定的句柄不是有用副本或片段
**********************************************************************/
RMAN> restore controlfile from E:\BACKUP\CONTROLFILE\BAK_C-1320546556-20130723-08;
发动 restore 于 2013-07-23 15:06:07
运用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在复原操控文件
通道 ORA_DISK_1: 复原完结, 用时: 00:00:02
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
完结 restore 于 2013-07-23 15:06:09
RMAN> alter database mount;
数据库已装载
开释的通道: ORA_DISK_1
RMAN> recover database;
发动 recover 于 2013-07-23 15:11:35
发动 implicit crosscheck backup 于 2013-07-23 15:11:35
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
已穿插查验的 1 方针
完结 implicit crosscheck backup 于 2013-07-23 15:11:37
发动 implicit crosscheck copy 于 2013-07-23 15:11:37
运用通道 ORA_DISK_1
完结 implicit crosscheck copy 于 2013-07-23 15:11:37
查找康复区中的一切文件
正在编制文件目录...
没有为文件编制目录
运用通道 ORA_DISK_1
正在开端介质的康复
线程 1 序列 1055 的归档日志已作为文件 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG 存在于磁盘上
归档日志文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG 线程=1 序列=1055
介质康复完结, 用时: 00:00:02
完结 recover 于 2013-07-23 15:11:53
RMAN> alter database open resetlogs;
SQL> archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     1
下一个存档日志序列   1
当时日志序列           1
******************************************
5.运用主动备份复原
******************************************
/***根本过程:
1)startup nomount
2)restore controlfile from autobackup;
3)alter database mount
4)recover database指令康复数据库
5)alter database open resetlogs
*****/
事例演示:
--(1).运用主动备份操控文件和参数文件
run {
configure controlfile autobackup on;
configure CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE  type disk clear;
allocate channel c1 device type disk format  E:\backup\data\bak_%u;
allocate channel c2 device type disk format E:\backup\data\bak_%u;
backup tablespace users ;
release channel c1;
release channel c2;
}
allocate channel for maintenance device type disk;
旧的 RMAN 装备参数:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
新的 RMAN 装备参数:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
已成功存储新的 RMAN 装备参数
RMAN 装备参数已成功重置为默认值
开释的通道: ORA_DISK_1
分配的通道: c1
通道 c1: SID=129 设备类型=DISK
分配的通道: c2
通道 c2: SID=198 设备类型=DISK
发动 backup 于 2013-07-23 15:54:44
通道 c1: 正在发动悉数数据文件备份集
通道 c1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00004 称号=F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 c1: 正在发动段 1 于 2013-07-23 15:54:44
通道 c1: 已完结段 1 于 2013-07-23 15:54:45
段句柄=E:\BACKUP\DATA\BAK_8DOFFLE4 符号=TAG20130723T155444 注释=NONE
通道 c1: 备份集已完结, 通过时刻:00:00:01
完结 backup 于 2013-07-23 15:54:45
发动 Control File and SPFILE Autobackup 于 2013-07-23 15:54:45  
段 handle=F:\ARCH\ORCL\AUTOBACKUP\2013_07_23\O1_MF_S_821548486_8YWFP782_.BKP   --备份方位
comment=NONE  
完结 Control File and SPFILE Autobackup 于 2013-07-23 15:54:49
开释的通道: c1
开释的通道: c2
RMAN> allocate channel for maintenance device type disk;
分配的通道: ORA_MAINT_DISK_1
通道 ORA_MAINT_DISK_1: SID=129 设备类型=DISK
RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT;  --检查autobackup方位
db_unique_name 为 ORCL 的数据库的 RMAN 装备参数为:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO %F; # default
--(2).模仿删去操控文件
shutdown  immediate;
SQL> show parameters control_files;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      F:\APP\ADMINISTRATOR\ORADATA\O
                                                 RCL\CONTROL01.CTL, F:\APP\ADMI
                                                 NISTRATOR\ORADATA\ORCL\CONTROL
                                                 02.CTL, F:\APP\ADMINISTRATOR\O
                                                 RADATA\ORCL\CONTROL03.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
--(3)发动数据库,检查过错日志
SQL> startup
ORACLE 例程现已发动。
Total System Global Area 2538741760 bytes
Fixed Size                  2257872 bytes
Variable Size            1627393072 bytes
Database Buffers          889192448 bytes
Redo Buffers               19898368 bytes
ORA-00205: ?????????, ??????, ???????
F:\app\Administrator\diag\rdbms\orcl\orcl\trace
Tue Jul 23 14:58:29 2013
ALTER DATABASE   MOUNT
ORA-00210: cannot open the specified control file
ORA-00202: control file: F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
ORA-27041: unable to open file
OSD-04002: 无法翻开文件
O/S-Error: (OS 2) 体系找不到指定的文件。
ORA-00210: cannot open the specified control file
ORA-00202: control file: F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
ORA-27041: unable to open file
OSD-04002: 无法翻开文件
O/S-Error: (OS 2) 体系找不到指定的文件。
ORA-00210: cannot open the specified control file
ORA-00202: control file: F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
ORA-27041: unable to open file
OSD-04002: 无法翻开文件
O/S-Error: (OS 2) 体系找不到指定的文件。
ORA-205 signalled during: ALTER DATABASE   MOUNT...
Tue Jul 23 14:58:29 2013
Checker run found 3 new persistent data failures
---(4).运用主动备份康复
C:\>rman target /
康复管理器: Release 11.2.0.3.0 - Production on 星期二 7月 23 15:02:11 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
已连接到方针数据库: ORCL (未装载)
/****************************常见过错***************************************
--因为操控文件丢掉,未装载数据库.所以不能查询备份状况
RMAN> list backup of controlfile;  
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: list 指令 (在 07/23/2013 15:03:06 上) 失利
ORA-01507: 未装载数据库
**********************************************************************/
RMAN> restore controlfile from autobackup;
发动 restore 于 2013-07-23 16:23:46
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
康复区方针: F:\arch
用于查找的数据库名 (或数据库的仅有称号): ORCL
通道 ORA_DISK_1: 在康复区中找到 AUTOBACKUP F:\ARCH\ORCL\AUTOBACKUP\2013_07_23\O1_MF_S_821548486_8YWFP782_.BKP
因为未设置 DBID 而未测验运用格局 "%F" 查找 AUTOBACKUP
通道 ORA_DISK_1: 正在从 AUTOBACKUP F:\ARCH\ORCL\AUTOBACKUP\2013_07_23\O1_MF_S_821548486_8YWFP782_.BKP 复原操控文件
通道 ORA_DISK_1: 从 AUTOBACKUP 复原操控文件已完结
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
完结 restore 于 2013-07-23 16:23:47
RMAN> alter database mount;
数据库已装载
开释的通道: ORA_DISK_1
RMAN> recover database;
发动 recover 于 2013-07-23 16:25:39
发动 implicit crosscheck backup 于 2013-07-23 16:25:39
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
已穿插查验的 1 方针
完结 implicit crosscheck backup 于 2013-07-23 16:25:40
发动 implicit crosscheck copy 于 2013-07-23 16:25:40
运用通道 ORA_DISK_1
完结 implicit crosscheck copy 于 2013-07-23 16:25:41
查找康复区中的一切文件
正在编制文件目录...
目录编制结束
已列入目录的文件的列表
=======================
文件名: F:\ARCH\ORCL\AUTOBACKUP\2013_07_23\O1_MF_S_821548486_8YWFP782_.BKP
运用通道 ORA_DISK_1
正在开端介质的康复
线程 1 序列 1 的归档日志已作为文件 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG 存在于磁盘上
线程 1 序列 2 的归档日志已作为文件 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG 存在于磁盘上
归档日志文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG 线程=1 序列=1
归档日志文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG 线程=1 序列=2
介质康复完结, 用时: 00:00:03
完结 recover 于 2013-07-23 16:25:58
RMAN> alter database open resetlogs;
SQL> archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     1
下一个存档日志序列   1
当时日志序列           1
******************************************
6.运用前史备份复原
******************************************
-----6.1主动修正不一致
/********根本过程:
1)startup nomount
2)restore controlfile from ;
3)alter database mount
4)recover database指令康复数据库
5)alter database open resetlogs
*********/
事例演示:
--(1).运用手动备份操控文件和参数文件
run {
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to E:\backup\controlfile\bak_%F;
allocate channel c1 device type disk format  E:\backup\data\bak_%u;
allocate channel c2 device type disk format E:\backup\data\bak_%u;
backup tablespace users ;
release channel c1;
release channel c2;
}
allocate channel for maintenance device type disk;
configure controlfile autobackup off;
--(2).新建一个表空间
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOGINDEX01.DBF
create tablespace test
datafile F:\app\administrator\oradata\orcl\test.dbf
size 100m
autoextend on
next 10m maxsize unlimited
extent management local autoallocate
segment   space management auto;
SQL>  select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\TEST.DBF   --现已存在test
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOGINDEX01.DBF
--(3).模仿删去操控文件
SQL> show parameters control_files;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      F:\APP\ADMINISTRATOR\ORADATA\O
                                                 RCL\CONTROL01.CTL, F:\APP\ADMI
                                                 NISTRATOR\ORADATA\ORCL\CONTROL
                                                 02.CTL, F:\APP\ADMINISTRATOR\O
                                                 RADATA\ORCL\CONTROL03.CTL
shutdown immediate;
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
--(3)发动数据库,检查过错日志
SQL> startup
ORACLE 例程现已发动。
Total System Global Area 2538741760 bytes
Fixed Size                  2257872 bytes
Variable Size            1627393072 bytes
Database Buffers          889192448 bytes
Redo Buffers               19898368 bytes
ORA-00205: ?????????, ??????, ???????
---(4).运用手动备份康复
C:\>rman target /
康复管理器: Release 11.2.0.3.0 - Production on 星期二 7月 23 17:11:51 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
已连接到方针数据库: ORCL (未装载)
/****************************常见过错***************************************
--因为操控文件丢掉,未装载数据库.所以不能查询备份状况
RMAN> list backup of controlfile;  
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: list 指令 (在 07/23/2013 15:03:06 上) 失利
ORA-01507: 未装载数据库
---备份为备份到快速康复区,所以不能找到备份
RMAN> restore controlfile from autobackup;
发动 restore 于 2013-07-23 15:03:40
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
康复区方针: F:\arch
用于查找的数据库名 (或数据库的仅有称号): ORCL
通道 ORA_DISK_1: 在康复区中没有找到 AUTOBACKUP
因为未设置 DBID 而未测验运用格局 "%F" 查找 AUTOBACKUP
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 指令 (在 07/23/2013 15:03:41 上) 失利
RMAN-06172: 没有找到 AUTOBACKUP, 或许指定的句柄不是有用副本或片段
**********************************************************************/
RMAN> restore controlfile from E:\BACKUP\CONTROLFILE\BAK_C-1320546556-20130723-0C;
发动 restore 于 2013-07-23 17:13:57
运用方针数据库操控文件代替康复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
通道 ORA_DISK_1: 正在复原操控文件
通道 ORA_DISK_1: 复原完结, 用时: 00:00:01
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
完结 restore 于 2013-07-23 17:13:59
RMAN> alter database mount;
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOGINDEX01.DBF
---复原的操控文件中没有新建的表空间TEST.
RMAN> recover database;
发动 recover 于 2013-07-23 17:16:22
发动 implicit crosscheck backup 于 2013-07-23 17:16:22
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
已穿插查验的 1 方针
完结 implicit crosscheck backup 于 2013-07-23 17:16:24
发动 implicit crosscheck copy 于 2013-07-23 17:16:24
运用通道 ORA_DISK_1
完结 implicit crosscheck copy 于 2013-07-23 17:16:24
查找康复区中的一切文件
正在编制文件目录...
目录编制结束
已列入目录的文件的列表
=======================
文件名: F:\ARCH\ORCL\AUTOBACKUP\2013_07_23\O1_MF_S_821548486_8YWFP782_.BKP
运用通道 ORA_DISK_1
正在开端介质的康复
线程 1 序列 1 的归档日志已作为文件 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG 存在于磁盘上
归档日志文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG 线程=1 序列=1
创立数据文件, 文件号 = 5 称号 = F:\APP\ADMINISTRATOR\ORADATA\ORCL\TEST.DBF   --新建了文件TEST
归档日志文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG 线程=1 序列=1
介质康复完结, 用时: 00:00:03
完结 recover 于 2013-07-23 17:16:36
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\TEST.DBF   --TEST呈现了
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOGINDEX01.DBF
RMAN> alter database open resetlogs;
SQL> archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     1
下一个存档日志序列   1
当时日志序列           1
SQL> alter system switch logfile;
体系已更改。
SQL> archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     1
下一个存档日志序列   2
当时日志序列           2
-----6.2手动修正不一致
/********根本过程:
1)startup nomount
2)restore controlfile from ;
3)alter database mount
4)recover database指令康复数据库
5)alter database open resetlogs
*********/
事例演示:
--(1).运用手动备份操控文件和参数文件
run {
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to E:\backup\controlfile\bak_%F;
allocate channel c1 device type disk format  E:\backup\data\bak_%u;
allocate channel c2 device type disk format E:\backup\data\bak_%u;
backup tablespace users ;
release channel c1;
release channel c2;
}
allocate channel for maintenance device type disk;
旧的 RMAN 装备参数:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
新的 RMAN 装备参数:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
已成功存储新的 RMAN 装备参数
旧的 RMAN 装备参数:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO E:\backup\controlfile\bak_%F;
新的 RMAN 装备参数:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO E:\backup\controlfile\bak_%F;
已成功存储新的 RMAN 装备参数
开释的通道: ORA_DISK_1
分配的通道: c1
通道 c1: SID=129 设备类型=DISK
分配的通道: c2
通道 c2: SID=197 设备类型=DISK
发动 backup 于 2013-07-23 17:24:49
通道 c1: 正在发动悉数数据文件备份集
通道 c1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00004 称号=F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 c1: 正在发动段 1 于 2013-07-23 17:24:49
通道 c1: 已完结段 1 于 2013-07-23 17:24:50
段句柄=E:\BACKUP\DATA\BAK_8LOFFQN1 符号=TAG20130723T172449 注释=NONE
通道 c1: 备份集已完结, 通过时刻:00:00:01
完结 backup 于 2013-07-23 17:24:50
发动 Control File and SPFILE Autobackup 于 2013-07-23 17:24:50
段 handle=E:\BACKUP\CONTROLFILE\BAK_C-1320546556-20130723-0E comment=NONE
完结 Control File and SPFILE Autobackup 于 2013-07-23 17:24:54
开释的通道: c1
开释的通道: c2
configure controlfile autobackup off;
--(2).删去一个表空间
SQL>  select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\TEST.DBF  
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOGINDEX01.DBF
drop tablespace test including contents and datafiles;
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOGINDEX01.DBF
--(3).模仿删去操控文件
SQL> show parameters control_files;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      F:\APP\ADMINISTRATOR\ORADATA\O
                                                 RCL\CONTROL01.CTL, F:\APP\ADMI
                                                 NISTRATOR\ORADATA\ORCL\CONTROL
                                                 02.CTL, F:\APP\ADMINISTRATOR\O
                                                 RADATA\ORCL\CONTROL03.CTL
shutdown immediate;
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
--(3)发动数据库,检查过错日志
SQL> startup
ORACLE 例程现已发动。
Total System Global Area 2538741760 bytes
Fixed Size                  2257872 bytes
Variable Size            1627393072 bytes
Database Buffers          889192448 bytes
Redo Buffers               19898368 bytes
ORA-00205: ?????????, ??????, ???????
---(4).运用手动备份康复
C:\>rman target /
康复管理器: Release 11.2.0.3.0 - Production on 星期二 7月 23 17:31:04 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
已连接到方针数据库: ORCL (未装载)
/****************************常见过错***************************************
--因为操控文件丢掉,未装载数据库.所以不能查询备份状况
RMAN> list backup of controlfile;  
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: list 指令 (在 07/23/2013 15:03:06 上) 失利
ORA-01507: 未装载数据库
---备份为备份到快速康复区,所以不能找到备份
RMAN> restore controlfile from autobackup;
发动 restore 于 2013-07-23 15:03:40
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
康复区方针: F:\arch
用于查找的数据库名 (或数据库的仅有称号): ORCL
通道 ORA_DISK_1: 在康复区中没有找到 AUTOBACKUP
因为未设置 DBID 而未测验运用格局 "%F" 查找 AUTOBACKUP
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 指令 (在 07/23/2013 15:03:41 上) 失利
RMAN-06172: 没有找到 AUTOBACKUP, 或许指定的句柄不是有用副本或片段
**********************************************************************/
RMAN> restore controlfile from E:\BACKUP\CONTROLFILE\BAK_C-1320546556-20130723-0E;
发动 restore 于 2013-07-23 17:31:28
运用方针数据库操控文件代替康复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
通道 ORA_DISK_1: 正在复原操控文件
通道 ORA_DISK_1: 复原完结, 用时: 00:00:01
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
完结 restore 于 2013-07-23 17:31:30
RMAN> alter database mount;
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\TEST.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOGINDEX01.DBF
---复原的操控文件中存在新建的表空间TEST.
RMAN> recover database skip tablespace "TEST";
发动 recover 于 2013-07-23 17:36:32
运用通道 ORA_DISK_1
履行: alter database datafile 5 offline
正在开端介质的康复
线程 1 序列 2 的归档日志已作为文件 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG 存在于磁盘上
归档日志文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG 线程=1 序列=2
介质康复完结, 用时: 00:00:01
完结 recover 于 2013-07-23 17:36:39
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF
F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOGINDEX01.DBF
---表空间TEST消失了.
RMAN> alter database open resetlogs;
SQL> archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     1
下一个存档日志序列   1
当时日志序列           1
SQL> alter system switch logfile;
体系已更改。
SQL> archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     1
下一个存档日志序列   2
当时日志序列           2
******************************************
7.缺失归档日志
******************************************
----1.数据库敞开归档
SQL> archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     3
下一个存档日志序列   5
当时日志序列           5
----2.新建测试表
create tablespace test
datafile F:\app\administrator\oradata\orcl\test.dbf
size 100m
autoextend on
next 10m maxsize unlimited
extent management local autoallocate
segment   space management auto;
select file_name from dba_data_files;
create table t1
(
sid number not null primary key,
sname varchar2(20)
)tablespace test;
insert into t1 values(101,A);
SQL> archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     4
下一个存档日志序列   6
当时日志序列           6
SQL> alter system switch logfile;
体系已更改。
SQL> archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     5
下一个存档日志序列   7
当时日志序列           7
set linesize 300
col name for a60
select  name,sequence#,archived,status
from v$archived_log where status=A and archived=YES ;
NAME                                                          SEQUENCE# ARC S
------------------------------------------------------------ ---------- --- -
F:\ARCH\ARC0000000006_0821554663.0001                                 6 YES A
----3.运用手动备份操控文件和参数文件
run {
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to E:\backup\controlfile\bak_%F;
allocate channel c1 device type disk format  E:\backup\data\bak_%u;
allocate channel c2 device type disk format E:\backup\data\bak_%u;
backup tablespace "TEST" ;
release channel c1;
release channel c2;
}
allocate channel for maintenance device type disk;
RMAN> list backup of controlfile;
备份集列表
===================
BS 关键字  类型 LV 巨细       设备类型 通过时刻 完结时刻
------- ---- -- ---------- ----------- ------------ -------------------
240     Full    10.14M     DISK        00:00:02     2013-07-24 11:16:17
        BP 关键字: 245   状况: AVAILABLE  已紧缩: NO  符号: TAG20130724T111615
段名:E:\BACKUP\CONTROLFILE\BAK_C-1320546556-20130724-01
  包含的操控文件: Ckp SCN: 42235305     Ckp 时刻: 2013-07-24 11:16:15
----4.刺进数据并归档
SQL> select * from t1;
       SID SNAME
---------- --------------------
       101 A
insert into t1 values(102,B);
SQL> commit;
提交完结。
SQL> archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     5
下一个存档日志序列   7
当时日志序列           7
alter system switch logfile;
SQL> archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     6
下一个存档日志序列   8
当时日志序列           8
set linesize 300
col name for a60
select  name,sequence#,archived,status
from v$archived_log where status=A and archived=YES ;
NAME                                                          SEQUENCE# ARC S
------------------------------------------------------------ ---------- --- -
F:\ARCH\ARC0000000006_0821554663.0001                                 6 YES A
F:\ARCH\ARC0000000007_0821554663.0001                                 7 YES A
insert into t1 values(103,C);
commit;
alter system switch logfile;
insert into t1 values(104,D);
commit;
alter system switch logfile;
insert into t1 values(105,E);
commit;
alter system switch logfile;
archive log list;
数据库日志形式            存档形式
主动存档             启用
存档结尾            f:\arch
最早的联机日志序列     9
下一个存档日志序列   11
当时日志序列           11
set linesize 300
col name for a60
select  name,sequence#,archived,status
from v$archived_log where status=A and archived=YES ;
NAME                                                          SEQUENCE# ARC S
------------------------------------------------------------ ---------- --- -
F:\ARCH\ARC0000000006_0821554663.0001                                 6 YES A
F:\ARCH\ARC0000000007_0821554663.0001                                 7 YES A
F:\ARCH\ARC0000000008_0821554663.0001                                 8 YES A
F:\ARCH\ARC0000000009_0821554663.0001                                 9 YES A
F:\ARCH\ARC0000000010_0821554663.0001                                10 YES A
----5.模仿删去操控文件
SQL> show parameters control_files;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      F:\APP\ADMINISTRATOR\ORADATA\O
                                                 RCL\CONTROL01.CTL, F:\APP\ADMI
                                                 NISTRATOR\ORADATA\ORCL\CONTROL
                                                 02.CTL, F:\APP\ADMINISTRATOR\O
                                                 RADATA\ORCL\CONTROL03.CTL
shutdown immediate;
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
host del F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
----6.发动数据库,检查过错日志
SQL> startup
ORACLE 例程现已发动。
Total System Global Area 2538741760 bytes
Fixed Size                  2257872 bytes
Variable Size            1627393072 bytes
Database Buffers          889192448 bytes
Redo Buffers               19898368 bytes
ORA-00205: ?????????, ??????, ???????
-----7.运用手动备份康复
--7.1 康复操控文件
C:\>rman target /
康复管理器: Release 11.2.0.3.0 - Production on 星期三 7月 24 12:36:11 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
已连接到方针数据库: ORCL (未装载)
RMAN> restore controlfile from E:\BACKUP\CONTROLFILE\BAK_C-1320546556-20130724-01;
发动 restore 于 2013-07-24 12:36:31
运用方针数据库操控文件代替康复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
通道 ORA_DISK_1: 正在复原操控文件
通道 ORA_DISK_1: 复原完结, 用时: 00:00:01
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
完结 restore 于 2013-07-24 12:36:33
--7.2 装载数据库
RMAN> alter database mount;
--7.3 康复数据库
-7.3.1 recover database
RMAN> recover database;
发动 recover 于 2013-07-24 12:37:50
发动 implicit crosscheck backup 于 2013-07-24 12:37:50
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
已穿插查验的 1 方针
完结 implicit crosscheck backup 于 2013-07-24 12:37:51
发动 implicit crosscheck copy 于 2013-07-24 12:37:51
运用通道 ORA_DISK_1
完结 implicit crosscheck copy 于 2013-07-24 12:37:51
查找康复区中的一切文件
正在编制文件目录...
目录编制结束
已列入目录的文件的列表
=======================
文件名: F:\ARCH\ORCL\AUTOBACKUP\2013_07_23\O1_MF_S_821548486_8YWFP782_.BKP
运用通道 ORA_DISK_1
正在开端介质的康复
线程 1 序列 9 的归档日志已作为文件 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG 存在于磁盘上
线程 1 序列 10 的归档日志已作为文件 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG 存在于磁盘上
线程 1 序列 11 的归档日志已作为文件 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG 存在于磁盘上
归档日志文件名=F:\ARCH\ARC0000000007_0821554663.0001 线程=1 序列=7
无法找到归档日志
归档日志线程=1 序列=8
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 指令 (在 07/24/2013 12:37:58 上) 失利
RMAN-06054: 介质康复正在恳求不知道的线程 1 序列 8 的归档日志以及开端 SCN 42235549 
--提示需求8的归档日志
SQL> select sequence# from v$log where status=CURRENT;
 SEQUENCE#
----------
         7   --当时复原的操控文件中看到的是日志7
/************
提示需求8的归档日志,当时复原的操控文件中看到的是日志7,
只需让oracle抛弃归档日志8,那么康复就能够继续进行.
************/
--7.3.2备份操控文件到trace
alter database backup controlfile to trace;
select value from v$diag_info
where name=Default Trace File;
VALUE
---------------------------------------------------------------------
F:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_757704.trc
检查备份到追寻文件的操控文件
show parameter user_dump_dest;
NAME                TYPE        VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest      string      F:\app\Administrator\diag\rdbms\orcl\orcl\trace
select a.spid from v$process a, v$session b
where a.addr=b.paddr and b.username=SYS;
---内容如下:
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 584
LOGFILE
  GROUP 1 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG  SIZE 50M BLOCKSIZE 512,
  GROUP 2 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG  SIZE 50M BLOCKSIZE 512,
  GROUP 3 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\TEST.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOGINDEX01.DBF
CHARACTER SET ZHS16GBK
;
--7.3.3先封闭数据库
SQL> shutdown immediate;
ORA-01109: 数据库未翻开
现已卸载数据库。
ORACLE 例程现已封闭。
--7.3.4发动数据库到nomount状况
SQL> startup  force nomount;
ORACLE 例程现已发动。
Total System Global Area 2538741760 bytes
Fixed Size                  2257872 bytes
Variable Size            1627393072 bytes
Database Buffers          889192448 bytes
Redo Buffers               19898368 bytes
--7.3.5 新建操控文件
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 584
LOGFILE
  GROUP 1 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG  SIZE 50M BLOCKSIZE 512,
  GROUP 2 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG  SIZE 50M BLOCKSIZE 512,
  GROUP 3 F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\TEST.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOG01.DBF,
  F:\APP\ADMINISTRATOR\ORADATA\ORCL\JINRILOGINDEX01.DBF
CHARACTER SET ZHS16GBK
;
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
---7.3.6 运用新建的操控文件recover database
RMAN>recover database;
发动 recover 于 2013-07-24 12:52:16
运用方针数据库操控文件代替康复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
正在开端介质的康复
无法找到归档日志
归档日志线程=1 序列=11
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 指令 (在 07/24/2013 12:52:20 上) 失利
RMAN-06054: 介质康复正在恳求不知道的线程 1 序列 11 的归档日志以及开端 SCN 42237323
SQL> select sequence#,status,group# from v$log;
 SEQUENCE# STATUS               GROUP#
---------- ---------------- ----------
        10 INACTIVE                  1
         9 INACTIVE                  3
        11 CURRENT                   2   --日志11在联机日志中
     
SQL>col member for a50
SQL>select * from v$logfile;
    GROUP# STATUS  TYPE    MEMBER                                             IS_
---------- ------- ------- -------------------------------------------------- ---
         2 STALE   ONLINE  F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG       NO --需求的日志
         1 STALE   ONLINE  F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG       NO
         3 STALE   ONLINE  F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG       NO
SQL> recover database using backup controlfile;
ORA-00279: ?? 42237323 (? 07/24/2013 11:50:11 ??) ???? 1 ????
ORA-00289: ??: F:\ARCH\ARC0000000011_0821554663.0001
ORA-00280: ?? 42237323 (???? 1) ??? #11 ?
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG
F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG
已运用的日志。
完结介质康复。
--7.5翻开数据库
alter database open resetlogs;
--7.6找回暂时数据文件
alter tablespace temp add tempfile F:\app\Administrator\oradata\orcl\temp02.dbf
reuse;
--7.7 catalog指令找回备份信息
RMAN> list backup;
运用方针数据库操控文件代替康复目录
阐明与材料档案库中的任何备份都不匹配
catalog start with E:\backup\;
查找与款式 E:\backup\ 匹配的一切文件
数据库不知道文件的列表
=====================================
文件名: E:\BACKUP\controlfile\BAK_C-1320546556-20130723-08
文件名: E:\BACKUP\controlfile\BAK_C-1320546556-20130723-0C
文件名: E:\BACKUP\controlfile\BAK_C-1320546556-20130723-0E
文件名: E:\BACKUP\controlfile\BAK_C-1320546556-20130724-01
文件名: E:\BACKUP\data\BAK_8QOFHPFU
是否的确要将上述文件列入目录 (输入 YES 或 NO)? yes
正在编制文件目录...
目录编制结束
已列入目录的文件的列表
=======================
文件名: E:\BACKUP\controlfile\BAK_C-1320546556-20130723-08
文件名: E:\BACKUP\controlfile\BAK_C-1320546556-20130723-0C
文件名: E:\BACKUP\controlfile\BAK_C-1320546556-20130723-0E
文件名: E:\BACKUP\controlfile\BAK_C-1320546556-20130724-01
文件名: E:\BACKUP\data\BAK_8QOFHPFU
RMAN> list backup;
备份集列表
===================
BS 关键字  类型 LV 巨细       设备类型 通过时刻 完结时刻
------- ---- -- ---------- ----------- ------------ -------------------
1       Full    1.13M      DISK        00:00:00     2013-07-24 11:16:14
        BP 关键字: 1   状况: AVAILABLE  已紧缩: NO  符号: TAG20130724T111614
段名:E:\BACKUP\DATA\BAK_8QOFHPFU
  备份集 1 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时刻            称号
  ---- -- ---- ---------- ------------------- ----
  5       Full 42235299   2013-07-24 11:16:14 F:\APP\ADMINISTRATOR\ORADATA\ORCL\TEST.DBF


版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表超凡娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章