数据库管理员可以在数据库处于开启(open)状态时令除 SYSTEM

表空间(tablespace)之外的任何表空间联机(online)(可访问)或脱机(offline)(不可访问)。SYSTEM

表空间在数据库处于开启(open)状态时总是处于联机状态,因为Oracle需要使用其中的数据字典(data dictionary)。

表空间(tablespace)通常处于联机(online)状态,以便数据库用户访问其中的数据。但是数据库管理员可以在对表空间进行维护,备份或恢复操作时,令表空间脱机(offline)。

令表空间脱机

当一个表空间(tablespace)脱机(offline)后,Oracle不允许任何SQL语句继续引用此表空间内的对象(schema

object)。如果一个活动事务(activetransaction)中的 SQL

语句正好在使用被置为脱机状态的表空间内的对象,其事务性也不会被破坏。Oracle使用 SYSTEM

表空间内的延迟回滚段(deferred rollback segment)为此事务中已完成的 SQL

语句保存回滚信息(rollback

data)。当脱机表空间被重新置位联机(online)状态后,Oracle会在需要时应用这些回滚信息。

表空间(tablespace)联机(online)或脱机(offline)时,SYSTEM

表空间内的数据字典(data dictionary)会进行记录。如果用户关闭(shut

down)一个数据库时某个表空间处于脱机状态,那么这个表空间在数据库下次被装载(mount)、打开(open)后依旧保持脱机状态。

用户只能将一个表空间(tablespace)联机(online)到创建她的数据库中,因为只有这个数据库的 SYSTEM

表空间中才保存着与此表空间相关的必要的数据字典(data

dictionary)信息。一个脱机(offline)的表空间不能被Oracle之外的工具打开或编辑。因此脱机表空间不能被移动到其他数据库中。

当某些错误发生时,Oracle会自动地将相关的联机表空间(online

tablespace)切换到脱机(offline)状态。例如,当数据库写入进程(database

writerprocess,DBWn)多次尝试向表空间的数据文件(datafile)写入失败后,Oracle就会将此表空间切换到脱机状态。此时尝试访问脱机表空间内数据表的用户将会得到错误信息。如果是介质故障(media

failure)导致此次磁盘 I/O 失败,用户必须在处理故障后恢复(recover)受影响的表空间。

特殊情况下的表空间使用

用户可以将不同类型的数据分开存储在不同的表空间(tablespace)中。当用户因为某些任务而令某个表空间脱机(offline)后,其余表空间仍保持联机(online)状态,其中的数据对用户依然可用。但是表空间脱机后也会导致特殊情况发生。例如,有两个表空间分别用于存储表及此表对应的索引,将出现以下问题:●

如果包含索引的表空间脱机,那么查询依旧可以访问表数据,因为对表数据的访问并不一定需要索引数据。

● 如果包含表的表空间脱机,那么查询将无法访问表数据,因为脱机表空间内的对象无法被引用。

如果Oracle能够从联机(online)表空间(tablespace)中获得执行一个SQL语句的足够的信息,那么语句就将被执行。如果相关信息必须从脱机(offline)的表空间中获得,那么语句将失败。

只读表空间

使用只读表空间(read-only

tablespace)的主要目的是为了避免对静态、且容量大的数据库内容进行备份和恢复操作。Oracle不会更新只读表空间内的数据,因此这类表空间的数据文件(datafile)可以放置在

CD-ROM 或 WORM之类的只读介质(read-only media)上。

提示:用户只能将一个表空间(tablespace)联机(online)到创建她的数据库,因此只读表空间(read-only

tablespace)技术不适用于存档工作(archiving)。

只读表空间(read-only

tablespace)不能被修改。如需更新一个只读表空间,首先要使表空间可读写。在更新后,还可以将表空间恢复到只读状态。

因为只读表空间(read-only

tablespace)不能被修改,只要没有将只读表空间置于可读写状态,就无需对其进行重复的备份操作。当用户需要恢复数据库时,也没必要恢复只读表空间,原因同前所述。

进行此操作必须具有ALTER TABLESPACE 或 MANAGE TABLESPACE 系统权限,GRANT ALTER

TABLESPACE TO "USER";

GRANT MANAGE TABLESPACE TO "USER";(双引号内必须大写)

也可以使表空间中所有的数据文件或临时文件脱机,然后还能联机,而不影响表空间自己的脱机或联机状态。

脱机表空间的原因

使数据库的一部分失效,同时允许对数据库剩余部分进行正常访问。

进行脱机表空间备份(尽管表空间在联机并正使用的情况下也能备份)

在升级或维护应用程序时,使应用程序和它的那组表临时不可用。

脱机表空间选项

NORMAL

如果表空间所有数据文件都没有错误,表空间可以正常脱机。写入错误导致表空间所有数据文件都不能脱机。当指定OFFLINE

NORMAL时,Oracle对所有数据文件一边进行检查一边将他们脱机。

TEMPORARY

表空间能临时脱机,即使表空间的一个或多个数据文件有错误。当指定OFFLINE

TEMPORARY选项时,Oracle将还没脱机的数据文件脱机,同时对他们进行检查。如果没有数据文件脱机,然后用临时选项脱机,当联机表空间时不需要介质恢复。但是,如果有表空间的文件因写入错误脱机,然后将表空间临时脱机,在将表空间联机之前需要介质恢复。

IMMEDIATE

表空间能立即脱机,不等Oracle对任何数据文件做检查。在指定OFFLINE

IMMEDIATE的情况下,当联机表空间时需要介质恢复。如果数据库运行在NOARCHIVELOG模式下,表空间不能立即脱机。

FOR RECOVER

将在恢复集中的数据库表空间脱机,以便进行时间点恢复。

注意:

如果必须脱机表空间,尽量用NORMAL选项(默认)。这将保证表空间联机时不需要恢复。尽管部分恢复后用ALTER DATABASE

OPEN

RESETLOGS语句重置了重做日志序列,依然不需要恢复。只有当不能正常脱机表空间的时候才指定TEMPORARY选项。这种情况下,只有因错误被脱机的文件在表空间联机时才需要恢复。只有当指定NORMAL和TEMPORARY都不行的情况下才用IMMEDIATE选项。

脱机表空间前的考虑:

验证表空间不含有活动的回滚段,这样的表空间不能脱机。

你可能想改变表空间的位置,这个表空间的用户已经将它指定为默认的或临时的表空间。这是明智的,因为当脱机时,他们不能访问表空间的对象,不能排序表空间区域(sort

areas in the tablespace)。

联机表空间

只要数据库打开,Oracle数据库的表空间都能恢复联机。如果要联机的表空间不是“干净”脱机(即用NORMAL选项的ALTER

TABLESPACE OFFLINE语句),在联机之前必须先对表空间进行介质恢复。否则,Oracle返回错误并保持表空间脱机。

改变数据文件或临时文件的可用性

ALTER

TABLESPACE语句的子句能改变表空间中所有数据文件或临时文件的联机或脱机状态。影响联机/脱机状态的特定语句:

ALTER TABLESPACE ... DATAFILE

{ONLINE|OFFLINE}

ALTER TABLESPACE ... TEMPFILE

{ONLINE|OFFLINE}

你只需要输入表空间名称,不是单独的数据文件或临时文件。所有数据文件或临时文件都受到影响,但表空间自己的联机/脱机状态不变。大多数情况下,上面ALTER

TABLESPACE语句能执行,只要数据库挂载,即使没有打开。如果是SYSTEM表空间,重做表空间,或默认临时表空间,数据库一定不能打开。ALTER

DATABASE DATAFILE 和 ALTER DATABASE

TEMPFILE语句也有ONLINE/OFFLINE子句,但在那些语句里需要输入所有表空间的文件名。语法与改变表空间可用性的ALTER

TABLESPACE … ONLINE|OFFLINE语句不同,因为那是不同的操作。ALTER

TABLESPACE语句将数据文件和表空间脱机,但不能用于改变临时表空间或它的临时文件。

案例:

SELECT tablespace_name

FROM dba_tablespaces

ALTER TABLESPACE users OFFLINE NORMAL;

ALTER TABLESPACE users ONLINE;

oracle表启用online,Oracle 表空间联机(online)与脱机(offline)相关推荐

  1. oracle表启用online,Oracle数据库启动与关闭

    C:\app\Administrator\virtual\product\12.2.0\dbhome_2\bin>dir oracle.exe 驱动器 C 中的卷没有标签. 卷的序列号是 7E6 ...

  2. oracle是否启用dataguard,Oracle DataGuard管理操作

    DataGuard管理语句 ----- **启动日志应用服务:** alter database recover managed standby database disconnect from se ...

  3. oracle联机和脱机什么意思,Oracle 表空间联机(online)与脱机(offline)

    数据库管理员可以在数据库处于开启(open)状态时令除 SYSTEM 表空间(tablespace)之外的任何表空间联机(online)(可访问)或脱机(offline)(不可访问).SYSTEM 表 ...

  4. 企业实战03:Oracle数据库_用户和表空间

    Oracle数据库专栏 命令后面可以不加;分号 SQL语句后面一定要加;分号 文章目录 用户和表空间 2-1 使用系统用户登录Oracle 系统用户 2-2 Oracle用户和表空间之查看登录用户 2 ...

  5. Oracle Study案例之--基于表空间的时间点恢复(TSPITR)

     Oracle Study案例之--基于表空间的时间点恢复(TSPITR) TSPITR(表空间时间点恢复)用于将一个或多个表空间恢复到过去某个时间点的状态,而其他表空间仍然保持现有状态. TSPIT ...

  6. Oracle 同义词、DBLINK、表空间的使用

    Oracle 同义词 Oracle同义词创建及其作用 Oracle的同义词(synonyms)从字面上理解就是别名的意思,和试图的功能类似,就是一种映射关系.本文介绍如何创建同义词语句,删除同义词以及 ...

  7. 如何手动修改oracle表空间,ORACLE数据库创建和修改表空间

    -建立表空间(oracle中的tablespace(表空间)) CREATE TABLESPACE data01 DATAFILE 'D:\oracle\ora92\oradata\db\DATA01 ...

  8. Oracle 数据库、实例、表空间、用户、数据库对象

    Oracle是一种数据库管理系统,是一种关系型的数据库管理系统.通常情况了我们称的"数据库",包含了物理数据.数据库管理系统.内存.操作系统进程的组合体,就是指这里所说的数据库管理 ...

  9. oracle创建表不在对应表空间,oracle创建表空间

    创建表空间参数详解 语法描述: CREATE [UNDO]  TABLESPACE tablespace_name [DATAFILE datefile_spec1 [,datefile_spec2] ...

最新文章

  1. linux建立ftp suse_SUSE下配置ftp服务器
  2. LeNet训练MNIST
  3. 时间插件只能选择整点和半点_我花一小时自制了三款PPT插件,不仅免费分享,还想手把手教你制作...
  4. JavaFX UI控件教程(十三)之Table View
  5. jdbc mysql myeclipse_关于JDBC连接MySQL的问题,我一直解决不了(Myeclipse 环境下)
  6. python生物数据分析_Python学生物统计-数据可视化-学习笔记5
  7. js时间搓化为今天明天_做猪皮冻,记住“泡一泡,刮一刮,搓一搓”,皮冻晶莹剔透无异味...
  8. 期望dp--BZOJ3450 Easy
  9. 四个好看的table表格样式
  10. ARM体系结构与编程(一)
  11. Java设计模式之观察者模式应用与实战
  12. HDU 5519(Kykneion asma-NNT+CRT)
  13. 搭建情感分析系统,tf-idf,word2vec
  14. 军队文职(数学2+物理)——高等数学 1、函数
  15. 如何用Python制作学术动图?(数据+代码)
  16. IT女新加坡求职记(三篇)
  17. 掉线(自创--根据刘德华《今天》歌词改编)
  18. android bitmap转nv21(YUV420SP)
  19. 【论文学习】MKIoU Loss: Towards Accurate Oriented Object Detection in Aerial Images
  20. Linux下使用df与du命令查看磁盘空间

热门文章

  1. Android工作经验三年总结。(零基础自学Android)
  2. debian下切换内核
  3. laravel阿里SDK对接
  4. 华为BOX300连线及配置
  5. [再寄小读者之数学篇](2014-06-20 Beta 函数)
  6. SpringMVC从基础到源码
  7. 百度SRE工程师提前批一面总结+为二面攒人品
  8. 有效的预防电脑辐射的方法
  9. android ndk x86 arm,NDK r21编译FFmpeg 4.2.2(x86、x86_64、armv7、armv8)
  10. 爆笑笑话集锦,亲们,笑喷你