设置表空间为备份状态,实际上是将表空间备份作标记,即热备份标记,此表空间的数据文件的系统改变号将停止修改,并对数据文件作热备份标记.这样,被备份的的数据文件将发生3个方面的主要变化(标记).
1) .
SQL> select file#,status,change#,time from v$backup;
FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- --------------
1 NOT ACTIVE 1116985 15-4月 -07
2 NOT ACTIVE 1116985 15-4月 -07
3 NOT ACTIVE 1116985 15-4月 -07
4 NOT ACTIVE 1116985 15-4月 -07
5 NOT ACTIVE 1116985 15-4月 -07
6 NOT ACTIVE 1116985 15-4月 -07
7 NOT ACTIVE 1116985 15-4月 -07
已选择7行。
SQL> alter tablespace popgo01 begin backup;
表空间已更改。
SQL> select file#,status,change#,time from v$backup;
FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- --------------
1 NOT ACTIVE 1116985 15-4月 -07
2 NOT ACTIVE 1116985 15-4月 -07
3 NOT ACTIVE 1116985 15-4月 -07
4 NOT ACTIVE 1116985 15-4月 -07
5 ACTIVE 1340547 26-4月 -07
6 NOT ACTIVE 1116985 15-4月 -07
7 NOT ACTIVE 1116985 15-4月 -07
已选择7行。
2).
检查点停止修改,文件头被冻结.查询数据字典v$datafile, dba_data_file,检测POPGO01表空间的数据文件的检查点号.
SQL> select a.file#,a.checkpoint_change#,b.file_name
2 from v$datafile a,dba_data_files b
3 where a.file#=b.file_id;
FILE# CHECKPOINT_CHANGE# FILE_NAME
---------- ------------------ ---------------------------------------------
1 1339804 D:/ORACLE/ORADATA/JUSTIN/SYSTEM01.DBF
2 1339804 D:/ORACLE/ORADATA/JUSTIN/UNDOTBS01.DBF
3 1339804 D:/ORACLE/ORADATA/JUSTIN/SYSAUX01.DBF
4 1339804 D:/ORACLE/ORADATA/JUSTIN/USERS01.DBF
5 1340547 D:/ORACLE/ORADATA/JUSTIN/POPGO01.DBF
6 1339804 D:/ORACLE/ORADATA/JUSTIN/POPGO02.DBF
7 1339804 D:/ORACLE/ORADATA/JUSTIN/PERFSTAT.DBF
已选择7行。
查询看出,数据文件POPGO01.DBF的检查点号与其它数据文件是不同的,如果这时正常关闭数据库,则系统拒绝关闭:
SQL> shutdown immediate;
ORA-01149: 无法关闭 - 文件 5 设置了联机备份
ORA-01110: 数据文件 5: 'D:/ORACLE/ORADATA/JUSTIN/POPGO01.DBF'
3).
数据文件头作FUZZY标记,表示该数据文件正处于热备份期间:
SQL> select file#,status,FUZZY,name from v$datafile_header;
FILE# STATUS FUZ NAME
---------- ------- --- --------------------------------------
1 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/SYSTEM01.DBF
2 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/UNDOTBS01.DBF
3 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/SYSAUX01.DBF
4 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/USERS01.DBF
5 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/POPGO01.DBF
6 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/POPGO02.DBF
7 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/PERFSTAT.DBF
已选择7行。
补充:
第三中.FUZZY.有疑问?!道理应该只有POPGO01.DBF为YES,而其它的数据文件也表示为YES?!,或者这个参数已不能来标记部分数据库联机备份时的变化.(10g和9i此参数意义不一样了?!)
SQL> alter tablespace popgo01 end backup;
表空间已更改。
SQL> alter system archive log current;
系统已更改。
SQL> select file#,status,FUZZY,name from v$datafile_header;
FILE# STATUS FUZ NAME
---------- ------- --- -------------------------------------------
1 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/SYSTEM01.DBF
2 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/UNDOTBS01.DBF
3 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/SYSAUX01.DBF
4 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/USERS01.DBF
5 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/POPGO01.DBF
6 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/POPGO02.DBF
7 ONLINE YES D:/ORACLE/ORADATA/JUSTIN/PERFSTAT.DBF