数据文件、表空间offline用法及区别

对数据库的脱机包括数据文件的脱机和对表空间的脱机,表空间脱机实际就是表空间对应的所有数据文件脱机。

1.         数据文件OFFLINE

数据文件添加到表空间之后不能够被删除的,没有语法支持这么做,如果想不使用该数据文件,唯一是将数据文件设置为OFFLINE状态。执行以下步骤将数据文件设置为OFFLINE状态:

1)         如果是归档模式可以执行如下SQL设置数据文件的状态为OFFLINE:

ALTER DATABASE DATAFILE 'XXXX.DBF' OFFLINE;

2)         如果是非归档模式执行以下SQL将数据文件状态设置为OFFLINE:

ALTER DATABASE DATAFILE 'XXXX.DBF' OFFLINE DROP;

数据文件脱机,数据文件相关的数据字典信息、元数据信息都依然存在,当表空间被删除后,相关数据文件的信息才会被清除。DROP TABLESPACE只是清空Oracle数据字典信息,即使数据文件不存在都可以正常的DROP表空间。对于数据文件的脱机,在设置该数据文件ONLINE的时候都需要对该数据文件执行介质恢复。

如果在非归档模式下使用OFFLINE DROP使数据文件脱机,这就意味着该数据文件可能无法再恢复到ONLINE状态,原因就在于在非归档模式可能没有足够的日志执行ONLINE的介质恢复。如果日志未发生切换,还依然存在的话,依然可以执行介质恢复后使数据文件ONLINE。

2.         表空间OFFLINE

表空间脱机分为正常脱机、临时脱机和立即脱机,下面讨论这三种脱机方式。

1)         OFFLINE NORMAL

这是默认的选项,正常情况表空间的脱机,当重新执行ONLINE时,Oracle会用相应的SCN来更新表空间数据文件头SCN即可正常的ONLINE表空间,不需要执行介质恢复。

ALTER TABLESPACE XXX OFFLINE [NORMAL];

2)         OFFLINE TEMPORARY

如果指定TEMPORARY,Oracle数据库为表空间中所有在线数据文件执行一个检查点,但是不能确保所有文件能被同步。当执行这个语句数据文件已经脱机,那么在使表空间重新ONLINE之前需要执行介质恢复。

ALTER TABLESPACE XXX OFFLINE TEMPORARY;

3)         OFFLINE IMMEDIATE

执行这个操作表示立即使表空间脱机,在下次使表空间ONLINE的时候必须执行介质恢复,介质恢复成功才能使表空间ONLINE:

ALTER TABLESPACE XXX OFFLINE IMMEDIATE;

对于数据文件的脱机来说,在下次ONLINE的时候一定要执行介质恢复过程,如果介质恢复成功,那么就可以成功ONLINE。对于正常的表空间脱机,下次使表空间ONLINE的时候不需要执行介质恢复。对于OFFLINE TEMPORARY的表空间,如果脱机前已经有数据文件是脱机的,那么在表空间上线前也需要执行部分数据文件的介质恢复。对于IMMEDIATE OFFLINE的表空间,在表空间上线前需要对表空间的所有数据文件执行介质恢复。脱机后的数据文件和表空间,在实例重启的时候都不会对数据文件的SCN号进行验证。

时间: 2024-07-28 12:22:54

数据文件、表空间offline用法及区别的相关文章

[20150913]文件检查点-表空间offline.txt

[20150913]文件检查点-表空间offline.txt --oracle从8i以后基本使用增量检查点取代原来的检查点模式,但是如果一个表空间处于热备份模式以及offline时,要将这些表空间包含 --的数据文件所涉及到的脏块写数据文件.这个叫file level Checkpoint(感觉叫tablespace level checkpoint更加合适一些),如何验证 --这个过程,实际上很简单仅仅需要检查v$bh或者x$bh视图,或者转储脏块看看里面的内容是否存在变化,来验证这个过程,还

Oracle bigfile大文件表空间

Database 是由一个或多个被称为表空间(tablespace)的逻辑存储单位构成.表空间内的逻辑存 储单位为段(segment),段又可以继续划分为数据扩展(extent).而数据扩展是由一组连续的数据 块(datablock)构成. 大文件表空间 在Oracle中用户可以创建大文件表空间(bigfile tablespace).这样Oracle数据库使用的表空间 (tablespace)可以由一个单一的大文件构成,而不是若干个小数据文件.这使Oracle可以发挥64位 系统的能力,创建.

Oracle bigfile大文件表空间介绍及其优势和劣势分析

Database 是由一个或多个被称为表空间(tablespace)的逻辑存储单位构成.表空间内的逻辑存 储单位为段(segment),段又可以继续划分为数据扩展(extent).而数据扩展是由一组连续的数据 块(datablock)构成. 大文件表空间 在Oracle中用户可以创建大文件表空间(bigfile tablespace).这样Oracle数据库使用的表空间 (tablespace)可以由一个单一的大文件构成,而不是若干个小数据文件.这使Oracle可以发挥64位 系统的能力,创建.

Oracle Bigfile Tablespace大文件表空间

  Oracle表空间Tablespace是逻辑结构的最高层次,其他分别对应段对象segment.区extent和块block.而物理层面的Oracle数据库是通过一系列的文件构成,其中数据文件datafile是与Tablespace进行对应的对象.     Tablespace与Datafile的关系是一对多的关系.一个表空间Tablespace可以对应多个Datafile,Datafile则是只能归属在一个Tablespace里.传统的Oracle管理概念中,倡导一个表空间中创建多个数据文件

【DB2学习】查看一个数据的表空间详情

db2 => list tablespaces show detail            当前数据库的表空间  表空间标识                        = 0  名称                       = SYSCATSPACE  类型                                       = 数据库管理空间  内容                                = 所有持久数据.常规表空间.  状态             

什么是表空间(tablespace)和系统表空间(System tablespace)的区别?

  表空间(tablespace):是数据库的一个逻辑的存储单元,用来将相关的数据结构组织到一起.   系统表空间:是在数据库建立的时候自动创建的,它包含了整个数据库的数据字典.

探索ORACLE_之表空间02_管理

探索ORACLE_之表空间02_管理 表空间创建参考语法图如下连接: http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_7003.htm#i2231734   创建表空间的语法是: CREATE [SMALLFILE|BIGFILE] [PERMANENT|TEMPORARY|UNDO] TABLESPACE DATAFILE|TEMPFILE datafile_clause[,datafile_clause] [E

[20151028]linux下删除数据文件的恢复细节4

[20151028]linux下删除数据文件的恢复细节4 --前几天一直在做删除数据文件的恢复测试,中间遇到许多问题自己无法解决,从我个人讲我不主张使用句柄的方式来恢复,而更愿意 --使用rman的方式,这种情况仅仅适合非归档模式. --前几天的测试非常混乱,我自己都不知道为什么在删除数据文件的情况下有时候执行alter system checkpoint数据库会直接crash,有 --时候为什么有不会.我再把整个恢复过程做一个总结: 1.测试环境: SCOTT@test> @ &r/ver

[20161108]关于数据文件的问题.txt

[20161108]关于数据文件的问题.txt --昨天看了一些数据文件位图问题,今天探究数据文件的其他问题. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -----------------------------------------------------------------