讲课时随手记录的一个大致过程!
[@more@]SQL> create table t2(id int) tablespace users;
表已创建。
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
704959
SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;
GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#
---------- ---------------- ---------- --- ---------- -------------
1 ACTIVE 89 YES 1 704431
4 CURRENT 90 NO 1 704878
SQL> insert into t2 values(1);
已创建 1 行。
SQL> select start_scnb from v$transaction;
START_SCNB
----------
704941
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系统已更改。
SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;
GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#
---------- ---------------- ---------- --- ---------- -------------
1 CURRENT 91 NO 1 705008
4 ACTIVE 90 YES 1 704878
SQL> select sequence#,first_change#,next_change# last_change# from v$archived_lo
g where sequence#=90;
SEQUENCE# FIRST_CHANGE# LAST_CHANGE#
---------- ------------- ------------
90 704878 705008
SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;
GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#
---------- ---------------- ---------- --- ---------- -------------
1 CURRENT 91 NO 1 705008
4 ACTIVE 90 YES 1 704878
SQL> insert into t2 values(2);
已创建 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系统已更改。
SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;
GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#
---------- ---------------- ---------- --- ---------- -------------
1 ACTIVE 91 YES 1 705008
4 CURRENT 92 NO 1 705056
SQL> insert into t2 values(3);
已创建 1 行。
SQL> select start_scnb from v$transaction;
START_SCNB
----------
705049
SQL> select start_scnb from v$transaction;
START_SCNB
----------
705049
SQL> select sequence#,first_change#,next_change# last_change# from v$archived_lo
g where sequence#=91;
SEQUENCE# FIRST_CHANGE# LAST_CHANGE#
---------- ------------- ------------
91 705008 705056
SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;
GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#
---------- ---------------- ---------- --- ---------- -------------
1 ACTIVE 91 YES 1 705008
4 CURRENT 92 NO 1 705056
SQL> insert into t2 values(4);
已创建 1 行。
SQL> select start_scnb from v$transaction;
START_SCNB
----------
705049
SQL> commit;
提交完成。
SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;
GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#
---------- ---------------- ---------- --- ---------- -------------
1 ACTIVE 91 YES 1 705008
4 CURRENT 92 NO 1 705056
SQL> insert into t2 values(5);
已创建 1 行。
SQL> select start_scnb from v$transaction;
START_SCNB
----------
705175
SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;
GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#
---------- ---------------- ---------- --- ---------- -------------
1 ACTIVE 91 YES 1 705008
4 CURRENT 92 NO 1 705056
SQL> alter system switch logfile;
系统已更改。
SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;
GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#
---------- ---------------- ---------- --- ---------- -------------
1 CURRENT 93 NO 1 705195
4 ACTIVE 92 YES 1 705056
SQL> select sequence#,first_change#,next_change# last_change# from v$archived_lo
g where sequence#=92;
SEQUENCE# FIRST_CHANGE# LAST_CHANGE#
---------- ------------- ------------
92 705056 705195
SQL> insert into t2 values(6);
已创建 1 行。
SQL> select start_scnb from v$transaction;
START_SCNB
----------
705175
SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;
GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#
---------- ---------------- ---------- --- ---------- -------------
1 CURRENT 93 NO 1 705195
4 ACTIVE 92 YES 1 705056
SQL> commit;
提交完成。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 163577856 bytes
Fixed Size 1247876 bytes
Variable Size 83887484 bytes
Database Buffers 75497472 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSTEM01.DBF'
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSTEM01.DBF'
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
705539
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 703270
3 703270
4 703270
10 703270
11 703270
SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;
GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#
---------- ---------------- ---------- --- ---------- -------------
4 INACTIVE 92 YES 1 705056
1 CURRENT 93 NO 1 705195
SQL> select sequence#,first_change#,next_change# from v$archived_log where seque
nce#>80 and sequence#<=100;
SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
---------- ------------- ------------
81 656053 656078
82 656078 656103
83 656103 656138
84 656138 676584
85 676584 701337
86 701337 704009
87 704009 704175
88 704175 704431
89 704431 704878
90 704878 705008
91 705008 705056
SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
---------- ------------- ------------
92 705056 705195
已选择12行。
SQL> recover datafile 1;
ORA-00279: 更改 703270 (在 09/11/2008 09:15:38 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC86_664888560_1
ORA-00280: 更改 703270 (用于线程 1) 在序列 #86 中
指定日志: {=suggested | filename | AUTO | CANCEL}
ORA-00308: 无法打开归档日志
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC86_664888560_1'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
SQL> recover datafile 1;
ORA-00279: 更改 703270 (在 09/11/2008 09:15:38 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC86_664888560_1
ORA-00280: 更改 703270 (用于线程 1) 在序列 #86 中
指定日志: {=suggested | filename | AUTO | CANCEL}
E:oracleproduct10.2.0flash_recovery_areaTESTARCHIVELOG2008_09_11O1_MF_1_
86_4DJX0JH4_.ARC
ORA-00279: 更改 704009 (在 09/11/2008 09:27:43 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC87_664888560_1
ORA-00280: 更改 704009 (用于线程 1) 在序列 #87 中
ORA-00278: 此恢复不再需要日志文件
'E:oracleproduct10.2.0flash_recovery_areaTESTARCHIVELOG2008_09_11O1_MF_1
_86_4DJX0JH4_.ARC'
指定日志: {=suggested | filename | AUTO | CANCEL}
ORA-00308: 无法打开归档日志
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC87_664888560_1'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
SQL> recover datafile 1;
ORA-00279: 更改 704009 (在 09/11/2008 09:27:43 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC87_664888560_1
ORA-00280: 更改 704009 (用于线程 1) 在序列 #87 中
指定日志: {=suggested | filename | AUTO | CANCEL}
ORA-00308: 无法打开归档日志
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC87_664888560_1'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
SQL> recover datafile 1;
ORA-00279: 更改 704009 (在 09/11/2008 09:27:43 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC87_664888560_1
ORA-00280: 更改 704009 (用于线程 1) 在序列 #87 中
指定日志: {=suggested | filename | AUTO | CANCEL}
ORA-00279: 更改 704175 (在 09/11/2008 09:29:02 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC88_664888560_1
ORA-00280: 更改 704175 (用于线程 1) 在序列 #88 中
ORA-00278: 此恢复不再需要日志文件
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC87_664888560_1'
指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: 无法打开归档日志
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC88_664888560_1'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
ORA-00308: 无法打开归档日志
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC88_664888560_1'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
SQL> recover datafile 1;
ORA-00279: 更改 704175 (在 09/11/2008 09:29:02 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC88_664888560_1
ORA-00280: 更改 704175 (用于线程 1) 在序列 #88 中
指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 704431 (在 09/11/2008 09:38:10 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC89_664888560_1
ORA-00280: 更改 704431 (用于线程 1) 在序列 #89 中
ORA-00278: 此恢复不再需要日志文件
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC88_664888560_1'
ORA-00279: 更改 704878 (在 09/11/2008 09:43:32 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC90_664888560_1
ORA-00280: 更改 704878 (用于线程 1) 在序列 #90 中
ORA-00278: 此恢复不再需要日志文件
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC89_664888560_1'
ORA-00279: 更改 705008 (在 09/11/2008 09:48:11 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC91_664888560_1
ORA-00280: 更改 705008 (用于线程 1) 在序列 #91 中
ORA-00278: 此恢复不再需要日志文件
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC90_664888560_1'
已应用的日志。
完成介质恢复。
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 705538
3 703270
4 703270
10 703270
11 703270
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
705539
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01113: 文件 3 需要介质恢复
ORA-01110: 数据文件 3: 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSAUX01.DBF'
SQL> recover database;
ORA-00279: 更改 703270 (在 09/11/2008 09:15:38 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC86_664888560_1
ORA-00280: 更改 703270 (用于线程 1) 在序列 #86 中
指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 704009 (在 09/11/2008 09:27:43 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC87_664888560_1
ORA-00280: 更改 704009 (用于线程 1) 在序列 #87 中
ORA-00278: 此恢复不再需要日志文件
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC86_664888560_1'
ORA-00279: 更改 704175 (在 09/11/2008 09:29:02 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC88_664888560_1
ORA-00280: 更改 704175 (用于线程 1) 在序列 #88 中
ORA-00278: 此恢复不再需要日志文件
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC87_664888560_1'
ORA-00279: 更改 704431 (在 09/11/2008 09:38:10 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC89_664888560_1
ORA-00280: 更改 704431 (用于线程 1) 在序列 #89 中
ORA-00278: 此恢复不再需要日志文件
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC88_664888560_1'
ORA-00279: 更改 704878 (在 09/11/2008 09:43:32 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC90_664888560_1
ORA-00280: 更改 704878 (用于线程 1) 在序列 #90 中
ORA-00278: 此恢复不再需要日志文件
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC89_664888560_1'
ORA-00279: 更改 705008 (在 09/11/2008 09:48:11 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC91_664888560_1
ORA-00280: 更改 705008 (用于线程 1) 在序列 #91 中
ORA-00278: 此恢复不再需要日志文件
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC90_664888560_1'
已应用的日志。
完成介质恢复。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
705539
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 705538
3 705538
4 705538
10 705538
11 705538
SQL> alter database open;
数据库已更改。
SQL> select *from t2;
ID
----------
1
2
3
4
5
6
已选择6行。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
705540
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 705540
3 705540
4 705540
10 705540
11 705540
SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19602/viewspace-1010546/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/19602/viewspace-1010546/