数据库管理员可以在数据库处于开启(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;

原文:http://www.cnblogs.com/qianjin253738234/p/3974606.html

oracle联机和脱机什么意思,Oracle 表空间联机(online)与脱机(offline)相关推荐

  1. oracle表启用online,Oracle 表空间联机(online)与脱机(offline)

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

  2. Oracle的SQL基础之用户与表空间

    前排提示:数据库对象不理解的,可以查看我的关于数据库对象的博文 1.用户 1.1四个系统默认用户 Oracle的安装完成会产生四个系统默认用户,其级别依次是 sys > system > ...

  3. oracle数据库_实例_用户_表空间之间的关系

    oracle数据库_实例_用户_表空间之间的关系 基础概念:Oracle数据库.实例.用户.表空间.表之间的关系 数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制 ...

  4. Oracle→简介、用户、数据字典、表空间及其文件

    https://www.oracle.com/cn/downloads/ 用户 dba_users scott 表空间 dba_tablespaces user_tablespaces dba_use ...

  5. oracle只导入dmp中指定表,oracle 如何导入dmp文件到指定表空间

    oracle 如何导入dmp文件到指定表空间 2010年01月14日星期四 13:27 1. 打开工具Oracle SQL Plus 以dba身份登录sys用户 user: sys password: ...

  6. oracle自动释放表空间,Oracle中关于清除数据和释放表空间

    一.表的重命名 flashback table test2 to before drop rename to test3;--[to test3]将表重命名 drop table test3 purg ...

  7. Oracle的SYS.AUD$占满系统表空间了怎么办

    Oracle的SYS.AUD$占满系统表空间了怎么办 问题分析 应急处理 长远的解决方案 测试环境:关闭审计功能 生产环境:迁移表空间 问题分析 应该反馈无法连接数据库.查看告警日志: [oracle ...

  8. 笔记: 解决oracle impdp导入dmp时, 用户名和表空间与dmp中的不相同导致无法导入的问题

    解决oracle impdp导入dmp时, 用户名和表空间与dmp中的不相同导致无法导入的问题 impdp导入时, 需要增加两个特殊的参数 remap_schema 更改用户名 remap_schem ...

  9. oracle数据导入表空间,ORACLE导入数据文件到指定的表空间

    最近工作中碰见ORACLE导入数据文件到指定的表空间中的事,虽然导入成功了.但这个功能应该算是我们在工作中经常碰见的需求,所以在此作个记录,以后用到也方便查找. 下面直接贴操作流程! Microsof ...

最新文章

  1. spring实例教程
  2. MVC Filter自定义异常(拦截)
  3. CentOS6.4 xen4.2 虚拟机 桥接网络设置
  4. C# 添加服务引用。
  5. Windows下Netron安装
  6. 打印机驱动无法安装到计算机是,解决方法:Win7无法安装打印机,也找不到核心驱动程序包。...
  7. imageview显示服务器图片,imageview 直接加载图片流
  8. Telemetry 标准日志接口如何提升运维效率?
  9. Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用【转】
  10. “拓维元”震撼发布,拓维信息软硬全栈国产自研战略再落一子!
  11. 编译报错unable to initialize decompress status for section .debug_info
  12. 软件测试自我介绍 说什么才能让面试官一下子记住你!
  13. Chrome 护眼插件
  14. ROS_Kinetic_29 kamtoa simulation学习与示例分析(一)
  15. python的pandas库第二关
  16. 小米云服务器安装xp系统6,小米云服务助手XP版
  17. git统计历史上某一段时间代码的修改量
  18. M1 24寸iMac值不值得购买?24寸iMac测评
  19. 大数据时代的互联网分析引擎
  20. 工业品品牌,是时候该重新定义了!

热门文章

  1. AAAI 2022上那些值得关注的NLP论文
  2. 北京内推 | 微软亚洲研究院自然语言计算组招聘NLP研究型实习生
  3. Hugging Face官方课程来了!Transformers库维护者之一授课,完全免费
  4. 推荐系统阅读清单:最近我们在读哪些论文?
  5. 全球最大的AI创意梦工厂!2019中国高校计算机大赛-人工智能创意赛开始报名啦!...
  6. 本周有哪些值得读的 AI 论文?我们替你挑选了 18 篇
  7. 蓝桥备赛第四周 同余+并查集
  8. Docker笔记整理
  9. postman中POST请求时参数包含参数list设置
  10. Illegal access: this web application instance has been stopped already