resetlogs & noresetlogs 探究

resetlogs & noresetlogs 探究

最近做试验求证出这两个选项到底是什么作用:

很多人说,resetlogs就是不完全恢复,这是不对的,做不完全恢复必须使用resetlogs,但resetlogs也可以做完全恢复。而noresetlogs则是必须做完全恢复时使用。resetlogs会重置日志序列号强制清空或重建REDO,而noresetlogs则不会这么做。

数据库恢复分完全恢复和不完全恢复,完全恢复就是完整恢复数据库全部数据,但是完全恢复也要根据丢失的文件类型有所区分。

第一种情况,我们假设仅仅控制文件丢失,而其他文件没有丢失(主要是归档和REDO),那么恢复的时候如果选择从 备份中恢复控制文件。恢复后,控制文件会去读数据文件头中与CHECKPOINT SCN对应的RBA信息来确定从那个序列的归档日志开始恢复,一直推进恢复到NEXT SCN是无穷大的那个REDOLOG,此时恢复是完全恢复的,但打开的时候还要以resetlogs方式打开,这样要重置归档日志的sequence,也就是说,如果你恢复时使用了备份控制文件,那么打开数据库时必然是要resetlogs的。附 测试用例:

SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 35
下一个存档日志序列 37
当前日志序列 37
SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ------------
FIRST_CHANGE# FIRST_TIME
------------- --------------
1 1 37 52428800 1 NO CURRENT
341837 29-12月-08

2 1 35 52428800 1 YES ACTIVE
341817 29-12月-08

3 1 36 52428800 1 YES ACTIVE
341827 29-12月-08


SQL> select count(*) from t;

COUNT(*)
----------
30

10条记录在备份中,10条在归档日志中,10条在当前的REDO中,以下模拟控制文件丢失

SQL> shutdown abort;
ORACLE 例程已经关闭。
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断


C:Documents and SettingsAdministrator>del G:oradataorcl*.CTL

C:Documents and SettingsAdministrator>rman target /

恢复 管理器: Release 11.1.0.6.0 - Production on 星期一 12月 29 17:41:07 2008

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

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

RMAN> startup nomount;

Oracle 实例已启动

系统全局区域总计 535662592 字节

Fixed Size 1334380 字节
Variable Size 213910420 字节
Database Buffers 314572800 字节
Redo Buffers 5844992 字节

RMAN> restore controlfile from 'G:backupCTL_C-1202355191-20081229-02';

启动 restore 于 29-12月-08
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=153 设备类型=DISK

通道 ORA_DISK_1: 正在还原控制文件
通道 ORA_DISK_1: 还原完成, 用时: 00:00:07
输出文件名=G:ORADATAORCLCONTROL01.CTL
输出文件名=G:ORADATAORCLCONTROL02.CTL
输出文件名=G:ORADATAORCLCONTROL03.CTL
完成 restore 于 29-12月-08

RMAN> alter database mount;

数据库已装载
释放的通道: ORA_DISK_1

RMAN> recover database;

启动 recover 于 29-12月-08
启动 implicit crosscheck backup 于 29-12月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=153 设备类型=DISK
已交叉检验的 3 对象
完成 implicit crosscheck backup 于 29-12月-08

启动 implicit crosscheck copy 于 29-12月-08
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 29-12月-08

搜索恢复区中的所有文件
正在编制文件目录...
目录编制完毕

已列入目录的文件的列表
=======================
文件名: G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_27_4OK6HKRW_.
RC
文件名: G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_28_4OK6J11G_.
RC
文件名: G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_29_4OK6JKBQ_.
RC
文件名: G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_30_4OK6K37T_.
RC
文件名: G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_31_4OK6KO7B_.
RC
文件名: G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_32_4OK6L76C_.
RC
文件名: G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_33_4OK6LS8S_.
RC
文件名: G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_34_4OK6MCHN_.
RC
文件名: G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_35_4OK6MX8S_.
RC
文件名: G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_36_4OK6NH6T_.
RC

使用通道 ORA_DISK_1

正在开始介质的恢复

线程 1 序列 27 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008
12_29O1_MF_1_27_4OK6HKRW_.ARC 存在于磁盘上
线程 1 序列 28 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008
12_29O1_MF_1_28_4OK6J11G_.ARC 存在于磁盘上
线程 1 序列 29 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008
12_29O1_MF_1_29_4OK6JKBQ_.ARC 存在于磁盘上
线程 1 序列 30 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008
12_29O1_MF_1_30_4OK6K37T_.ARC 存在于磁盘上
线程 1 序列 31 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008
12_29O1_MF_1_31_4OK6KO7B_.ARC 存在于磁盘上
线程 1 序列 32 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008
12_29O1_MF_1_32_4OK6L76C_.ARC 存在于磁盘上
线程 1 序列 33 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008
12_29O1_MF_1_33_4OK6LS8S_.ARC 存在于磁盘上
线程 1 序列 34 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008
12_29O1_MF_1_34_4OK6MCHN_.ARC 存在于磁盘上
线程 1 序列 35 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008
12_29O1_MF_1_35_4OK6MX8S_.ARC 存在于磁盘上
线程 1 序列 36 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008
12_29O1_MF_1_36_4OK6NH6T_.ARC 存在于磁盘上
线程 1 序列 37 的归档日志已作为文件 G:ORADATAORCLREDO01.LOG 存在于磁盘上
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_27_4OK
HKRW_.ARC 线程=1 序列=27
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_28_4OK
J11G_.ARC 线程=1 序列=28
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_29_4OK
JKBQ_.ARC 线程=1 序列=29
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_30_4OK
K37T_.ARC 线程=1 序列=30
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_31_4OK
KO7B_.ARC 线程=1 序列=31
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_32_4OK
L76C_.ARC 线程=1 序列=32
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_33_4OK
LS8S_.ARC 线程=1 序列=33
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_34_4OK
MCHN_.ARC 线程=1 序列=34
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_35_4OK
MX8S_.ARC 线程=1 序列=35
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_36_4OK
NH6T_.ARC 线程=1 序列=36
归档日志文件名=G:ORADATAORCLREDO01.LOG 线程=1 序列=37 ------这一步注意看,是重点,是RESETLOGS方式自动恢复的
介质恢复完成, 用时: 00:00:05
完成 recover 于 29-12月-08

RMAN> exit


恢复管理器完成。

C:Documents and SettingsAdministrator>sqlplus / as sysdba

SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 12月 29 17:43:30 2008

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


连接到:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项


SQL> alter database open resetlogs;

数据库已更改。

SQL> select count(*) from nam.t;

COUNT(*)
----------
30

SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1
下一个存档日志序列 1
当前日志序列 1
SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- --------------
1 1 1 52428800 1 NO CURRENT
341863 29-12月-08

2 1 0 52428800 1 YES UNUSED
0

3 1 0 52428800 1 YES UNUSED
0


SQL>

至此完成完全恢复,事实证明不完全恢复时是必须RESETLOGS,但是完全恢复时如果使用备份控制文件来恢复,那么使用RESETLOGS一样可以完全恢复。但是丢失控制文件也可以不使用RESETLOGS方式打开数据库,这样也就可以避免重置日志序列号带来的不变,详情请见第四种情况




第二种情况,不完全恢复,不管你是要什么样的不完全恢复,SCN,TIME,跨越REDO,都必须使用resetlogs。测试用例可以参见EYGLE老师的相关教程。





第三种情况,丢失REDOLOG,这就更需要resetlogs了,因为resetlogs能够重建REDOLOG。如果你的REDOLOG、控制文件、数据文件丢失的话,需要先恢复控制文件,然后restore database;recover database;alter database open resetlogs;注意,这时候做的是不完全恢复,因为REDO没有了。在recover过程中可能会报错然后自动退出RMAN,无视,alter database open resetlogs即可,附测试用例:
C:Documents and SettingsAdministrator>sqlplus / as sysdba

SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 12月 29 15:12:57 2008

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


连接到:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown abort;
ORACLE 例程已经关闭。
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断


C:Documents and SettingsAdministrator>rman target /

恢复管理器: Release 11.1.0.6.0 - Production on 星期一 12月 29 15:13:30 2008

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

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

RMAN> startup nomount;

Oracle 实例已启动

系统全局区域总计 535662592 字节

Fixed Size 1334380 字节
Variable Size 213910420 字节
Database Buffers 314572800 字节
Redo Buffers 5844992 字节

RMAN> restore controlfile from 'g:backupCTRL_C-1202355191-20081229-05'
2> ;

启动 restore 于 29-12月-08
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=153 设备类型=DISK

通道 ORA_DISK_1: 正在还原控制文件
通道 ORA_DISK_1: 还原完成, 用时: 00:00:07
输出文件名=G:ORADATAORCLCONTROL01.CTL
输出文件名=G:ORADATAORCLCONTROL02.CTL
输出文件名=G:ORADATAORCLCONTROL03.CTL
完成 restore 于 29-12月-08

RMAN> alter database mount;

数据库已装载
释放的通道: ORA_DISK_1

RMAN> restore database;

启动 restore 于 29-12月-08
启动 implicit crosscheck backup 于 29-12月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=153 设备类型=DISK
已交叉检验的 14 对象
完成 implicit crosscheck backup 于 29-12月-08

启动 implicit crosscheck copy 于 29-12月-08
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 29-12月-08

搜索恢复区中的所有文件
正在编制文件目录...
没有为文件编制目录

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 G:ORADATAORCLSYSTEM01.DBF
通道 ORA_DISK_1: 将数据文件 00002 还原到 G:ORADATAORCLSYSAUX01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 G:ORADATAORCLUNDOTBS01.DBF
通道 ORA_DISK_1: 将数据文件 00004 还原到 G:ORADATAORCLUSERS01.DBF
通道 ORA_DISK_1: 将数据文件 00005 还原到 G:ORADATAORCLNAM01.DBF
通道 ORA_DISK_1: 正在读取备份片段 G:BACKUPB__20081229_28_1
通道 ORA_DISK_1: 段句柄 = G:BACKUPB__20081229_28_1 标记 = TAG20081229T142045
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:01:05
完成 restore 于 29-12月-08

RMAN> recover database;

启动 recover 于 29-12月-08
使用通道 ORA_DISK_1

正在开始介质的恢复

线程 1 序列 7 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_1
2_29O1_MF_1_7_4OJV5T1Y_.ARC 存在于磁盘上
线程 1 序列 8 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_1
2_29O1_MF_1_8_4OJV6989_.ARC 存在于磁盘上
线程 1 序列 9 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_1
2_29O1_MF_1_9_4OJWKFC7_.ARC 存在于磁盘上
线程 1 序列 10 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_
12_29O1_MF_1_10_4OJWKCNZ_.ARC 存在于磁盘上
线程 1 序列 11 的归档日志已作为文件 G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_
12_29O1_MF_1_11_4OJWKDKL_.ARC 存在于磁盘上
通道 ORA_DISK_1: 正在开始将归档日志还原到默认目标
通道 ORA_DISK_1: 正在还原归档日志
归档日志线程=1 序列=6
通道 ORA_DISK_1: 正在读取备份片段 G:BACKUPB__20081229_29_1
通道 ORA_DISK_1: 段句柄 = G:BACKUPB__20081229_29_1 标记 = TAG20081229T142204
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_6_4OJYG
PD6_.ARC 线程=1 序列=6
通道 default: 正在删除归档日志
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_6_4OJYG
PD6_.ARC RECID=113 STAMP=674752726
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_7_4OJV5
T1Y_.ARC 线程=1 序列=7
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_8_4OJV6
989_.ARC 线程=1 序列=8
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_9_4OJWK
FC7_.ARC 线程=1 序列=9
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_10_4OJW
KCNZ_.ARC 线程=1 序列=10
归档日志文件名=G:FLASH_RECOVERY_AREAORCLARCHIVELOG2008_12_29O1_MF_1_11_4OJW
KDKL_.ARC 线程=1 序列=11
无法找到归档日志
归档日志线程=1 序列=1
DBGANY: Mismatched message length! [15:18:53.296] (krmiduem)
DBGANY: Mismatched message length! [15:18:53.296] (krmiduem)
………………………………

RMAN> alter database open resetlogs;

使用目标数据库控制文件替代恢复目录
数据库已打开

RMAN> exit

SQL> select * from nam.t;

ID TDATE TSCN
---------- -------------- ----------
1 29-12月-08 339936
2 29-12月-08 339946
3 29-12月-08 339956
4 29-12月-08 339966
1 29-12月-08 339996
2 29-12月-08 339996
3 29-12月-08 339996
4 29-12月-08 339996
1 29-12月-08 340131
2 29-12月-08 340141
3 29-12月-08 340151

ID TDATE TSCN
---------- -------------- ----------
4 29-12月-08 340161

已选择12行。

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ---------------
FIRST_CHANGE# FIRST_TIME
------------- --------------
1 1 1 52428800 1 NO CURRENT
340183 29-12月-08

2 1 0 52428800 1 YES UNUSED
0

3 1 0 52428800 1 YES UNUSED
0


SQL>

从数据验证的结果来看,除了REDO里面的记录没有恢复,其他基本都恢复了,REDO及ARCHIVELOG的序列被重置。



第四种情况,没有丢失控制文件及各种日志,仅丢失数据文件,这种问题比较常见,有可能磁盘损坏造成数据文件丢失,等磁盘故障排除后,需要恢复,此时的恢复就很简单了,restore database;recover database;alter database open;就一切OK,也就是说,在不使用备份控制文件恢复的情况下,是可以使用noresetlog方式打开数据库的。前提有一,不能丢失日志文件。假若丢失了控制文件和数据文件但还是想以noresetlog打开的话,就必须手动以noresetlogs方式重建控制文件,而且REDOLOG的状态都必须正常,否则是无法使用noresetlogs方式打开。
SQL> select count(*) from t;

COUNT(*)
----------
32

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- -------------
FIRST_CHANGE# FIRST_TIME
------------- --------------
1 1 19 52428800 1 YES ACTIVE
340578 29-12月-08

2 1 20 52428800 1 YES ACTIVE
340588 29-12月-08

3 1 21 52428800 1 NO CURRENT
340598 29-12月-08


SQL> archive log list;
ORA-01031: 权限不足
SQL> conn / as sysdba
已连接。
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 19
下一个存档日志序列 21
当前日志序列 21
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断


C:Documents and SettingsAdministrator>rman target /

恢复管理器: Release 11.1.0.6.0 - Production on 星期一 12月 29 15:52:36 2008

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

连接到目标数据库: ORCL (DBID=1202355191)

RMAN> backup database plus archivelog delete all input;

……………………过程省略………………………………由于我之前数据库备份搞的序列都乱了,所以需要重新备份用于这个测试,这里我只模拟丢失控制文件的情况

SQL> conn nam/nam
已连接。
SQL> begin
2 for i in 1 .. 10 loop
3 insert into t values(i,sysdate,dbms_flashback.get_system_change_number);
4 commit;
5 execute immediate 'alter system switch logfile';
6 dbms_lock.sleep(15);
7 end loop;
8 end;
9 /

PL/SQL 过程已成功完成。

SQL> begin
2 for i in 1 .. 10 loop
3 insert into t values(i,sysdate,dbms_flashback.get_system_change_number);
4 end loop;
5 commit;
6 end;
7 /

PL/SQL 过程已成功完成。

SQL> select count(*) from t;

COUNT(*)
----------
52

32条记录在备份中,10条在归档中,10条在redo中


SQL> shutdown abort;
ORA-01031: 权限不足
SQL> conn / as sysdba
已连接。
SQL> shutdown abort;
ORACLE 例程已经关闭。
SQL>exit

C:Documents and SettingsAdministrator>rman target /

恢复管理器: Release 11.1.0.6.0 - Production on 星期一 12月 29 16:10:09 2008

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

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

RMAN> startup nomount;

Oracle 实例已启动

系统全局区域总计 535662592 字节

Fixed Size 1334380 字节
Variable Size 213910420 字节
Database Buffers 314572800 字节
Redo Buffers 5844992 字节

RMAN> restore controlfile from 'g:backupCTRL_C-1202355191-20081229-07';
………………………………(过程由于粗心没有及时复制)

RMAN> alter database mount;
………………………………(过程由于粗心没有及时复制)

RMAN> restore database;
………………………………(过程由于粗心没有及时复制)


SQL> shutdown abort;
ORACLE 例程已经关闭。
SQL> startup nomount;
ORACLE 例程已经启动。

Total System Global Area 535662592 bytes
Fixed Size 1334380 bytes
Variable Size 213910420 bytes
Database Buffers 314572800 bytes
Redo Buffers 5844992 bytes
SQL> alter database mount;

数据库已更改。

SQL> alter database backup controlfile to trace;

数据库已更改。

SQL> shutdown abort;
ORACLE 例程已经关闭。
SQL> startup nomount;
ORACLE 例程已经启动。

Total System Global Area 535662592 bytes
Fixed Size 1334380 bytes
Variable Size 213910420 bytes
Database Buffers 314572800 bytes
Redo Buffers 5844992 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'G:ORADATAORCLREDO01.LOG' SIZE 50M,
9 GROUP 2 'G:ORADATAORCLREDO02.LOG' SIZE 50M,
10 GROUP 3 'G:ORADATAORCLREDO03.LOG' SIZE 50M
11 -- STANDBY LOGFILE
12 DATAFILE
13 'G:ORADATAORCLSYSTEM01.DBF',
14 'G:ORADATAORCLSYSAUX01.DBF',
15 'G:ORADATAORCLUNDOTBS01.DBF',
16 'G:ORADATAORCLUSERS01.DBF',
17 'G:ORADATAORCLNAM01.DBF'
18 CHARACTER SET ZHS16GBK
19 ;

控制文件已创建。

SQL> recover database;
完成介质恢复。
SQL> select count(*) from nam.t;

COUNT(*)
----------
52

SQL>


另外,如果丢失初始化参数文件,也不过是在开头多了一个恢复步骤而已

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25458798/viewspace-741068/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25458798/viewspace-741068/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值