---- -------------------
1 ACTIVE 583374 2012/07/17 19:59:23
2 ACTIVE 586090 2012/07/18 09:35:40
3 CURRENT 586181 2012/07/18 09:39:21
现在,日志组3变成了当前日志组了,相应的first_change#也发生了变化。
再来继续我们事情。为了产生更多的归档日志,我们不断的插入,提交,却换。
[sql]
SQL> insert into t values(3,dbms_flashback.get_system_change_number);
1 row created.
SQL> commit;
Commit complete.
SQL> alter system switch logfile;
System altered.
SQL> insert into t values (4,dbms_flashback.get_system_change_number);
1 row created.
SQL> commit;
Commit complete.
SQL> alter system switch logfile;
System altered.
SQL> insert into t values (5,dbms_flashback.get_system_change_number);
1 row created.
SQL> commit;
Commit complete.
SQL> alter system switch logfile;
System altered.
SQL> insert into t values(6,dbms_flashback.get_system_change_number);
1 row created.
SQL> commit;
Commit complete.
SQL> alter system switch logfile;
System altered.
SQL> insert into t values (7,dbms_flashback.get_system_change_number);
1 row created.
SQL> commit;
Commit complete.
SQL> alter system switch logfile;
System altered.
SQL> insert into t values (8,dbms_flashback.get_system_change_number);
1 row created.
SQL> commit;
Commit complete.
SQL> alter system switch logfile;
System altered.
SQL> select * from t;
ID SCN
---------- ----------
1 585887
2 586129
3 586643
4 586666
5 586692
6 586722
7 586751
8 586805
www.2cto.com
我们再来看一下,当前日志组是哪一组?
[sql]
SQL> select group#,status,first_change#,first_time from v$log;
GROUP# STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------------- ------------- -------------------
1 ACTIVE 586734 2012/07/18 09:45:12
2 ACTIVE 586762 2012/07/18 09:46:15
3 CURRENT 586816 2012/07/18 09:47:15
当前的日志组是3.那么,我们再来插入。
[sql]
SQL> insert into t values(9,dbms_flashback.get_system_change_number);
1 row created.
SQL> commit;
Commit complete.
这时,我们并没有却换日志组。然后,再插入。
[sql]
SQL> insert into t values(10,dbms_flashback.get_system_change_number);
1 row created.
注意了,此时,我们没有提交也没有却换。那么,第9,10条的数据都在日志组3上面。
这里,我们模拟一个实验来阐述备份与恢复的基本原理。
实验:正常关机下,数据文件损坏的完全恢复。
[sql]
[oracle@localhost ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jul 17 20:48:19 2012
Copyright (c) 1982, 2005,
Oracle. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
[oracle@localhost ORCL]$ cd datafile/
[oracle@localhost datafile]$ ls
o1_mf_example_8050jhm7_.dbf o1_mf_temp_8050j34j_.tmp
o1_mf_sysaux_8050fk3w_.dbf o1_mf_undotbs1_8050fkc6_.dbf
o1_mf_system_8050fk2z_.dbf o1_mf_users_