检查一个数据文件是否是否是当前联机表空间的一部分,查询v$BACKUP视图。
这个视图只对用户管理的联机表空间的备份有用,因为RMAN备份和脱机表空间备份都不需要数据文件处于备份模式。
一些用户管理的表空间的备份需要将表空间置于备份模式来防止可能的块断裂。
然而在备份模式中,对数据库的更新会比平常产生更多的redo数据。
当数据库处于OPEN状态时,V$BACKUP视图最有用。
在实例失败之后,它也立即变得非常有用,因为它会显示在失败那一时刻的文件备份状态。
使用这些信息可以帮你确定是否将表空间置于备份状态了。
如果当前使用的控制文件是一个还原的备份,或是在介质失败后创建的新的控制文件,则v$BACKUP没有用。
因为还原的或新创建的控制文件中不包含需要的信息来精确地填充v$BACKUP。
如果你已经还原了一个文件的备份,则该文件在v$BACKUP中STATUS,反映的是该文件的旧版本的备份状态,
而不是当前版本的备份状态。因此这个视图可能包含关于还原的文件的误导数据。
|
# 查看哪些表空间中的数据文件已经被置于备份模式中 # STATUS = ACTIVE,表明文件已经处于备份模式中; # STATUS = NOT ACTIVE,表明文件没有处于备份模式中,这是因为没有执行ALTER TABLESPACE...BEGIN BACKUP或 # ALTER DATABASE BEGIN BACKUP语句。 select t2.name as "Tablespace", t1.file#, t1.name as "Datafile", t3.status from v$datafile t1, v$tablespace t2, v$backup t3 where t1.ts# = t2.ts# and t3.file# = t1.file# and t3.status = 'ACTIVE';
TB_NAME DF# DF_NAME STATUS ---------------------- ---------- -------------------------------- ------ TOOLS 7 /oracle/oradata/trgt/tools01.dbf ACTIVE USERS 8 /oracle/oradata/trgt/users01.dbf ACTIVE |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1097940/ ,如需转载,请注明出处,否则将追究法律责任。