免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3625 | 回复: 1
打印 上一主题 下一主题

ORACLE数据文件以及表空间(转) [复制链接]

论坛徽章:
3
处女座
日期:2014-11-05 11:02:4315-16赛季CBA联赛之四川
日期:2015-12-10 14:37:4015-16赛季CBA联赛之天津
日期:2017-09-08 18:39:34
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-13 18:30 |只看该作者 |倒序浏览
本帖最后由 godymoon 于 2011-01-13 18:35 编辑

ORACLE实例/ORACLE数据库/数据库服务器
实例(Instance)
实例是一个非固定的,基于内存的基础进程与内存结构。当服务器关闭以后,实例也就不存在了。


数据库:
数据库指的是固定的,基于磁盘的数据文件、控制文件、日志文件、参数文件和归档日志文件等。一般情况下,安装的ORACLE数据库都是一个数据库中包含一个实例,也成为单实例。

数据库服务器
数据库服务器(Database Server)一般指的是数据库各软件部分(如:SQLPLUS、 OEM和EXP/IMP等)、实例及数据库3个主要部分,是由安装在服务器上的所有软件(包括各种类型的文件),以及启动成功后的实例组成。
表空间与数据文件
在Oracle系统中,表空间与数据文件是Oracle数据库结构的基本要素。
1、        表空间
在Oracle数据库系统中,用于存放数据库表、索引、和回滚字段等对象的磁盘逻辑空间成为表空间(Table Space)。
一般在完成Oracle系统的安装并创建Oracle实例后,系统将自动建立多个表空间,介绍如下:
(1)SYSTEM表空间
SYSTEM表空间用于存放Oracle系统内部表和数据字典的数据,如表名、列名和用户名等。一般不赞成将用户创建的表、索引等存放在SYSTEM表空降中。SYSTEM表空间对应的数据文件是system01.dbf,如果表空间对应的数据文件比较小的话,也可以追加另外一个新的数据文件。
(2)SYSAUX表空间
SYSAUX表空间是Oracle 11G以后新增的表空间,主要用于存放Oracle系统内部常用样例用户的对象,如存放CRM用户的表和索引等。SYSAUX表空间一般不存储用户的数据,有Oracle系统内部自动维护,该表空间对应的数据文件为sysaux01.dbf。
(3)撤销表空间
撤销表空间(Undo Tablespace)是用于存储撤销信息的表空间。当我们对数据库进行修改(包括insert、update、delete操作)时,Oracle系统自动使用这个撤销表空间来临时存放修改前的数据(Before Image)。当修改操作完成并提交(Commit)后,Oracle系统可根据要保留修改前的数据时间长短来释放撤销表空间的部分空间。一般在创建Oracle实例后,Oracle系统自动创建一个名为UNDOTBS1的撤销表空间,这个撤销表空间对应的数据文件是UNDOTBS01.DBF。
(4)USERS表空间
USER是Oracle建议用户使用的表空间,可以在这个表空间上创建各种对象,如创建的表、索引等。Oracle的基本样例用户SCOTT的对象就存放在USERS表空间中。一般在创建Oracle实例完成后,USERS表空间被创建,对应的数据文件为users.dbf。
除了Oracle系统默认创建的表空间外,用户还可以根据应用系统的规模及其所要存放的对象类型创建多个表空间,以区分用户数据与系统数据,索引和数据。此外,不同应用的数据应将不同表空间的文件放在不同的盘上,减少I/O冲突。
数据文件
数据文件(Data File)是用于保存用户应用数据和Oracle系统内部数据的文件。由于Oracle数据库由表空间组成,因此每个表空间可以包含一个或多个数据文件。
   一般来说,可以在创建表空间时创建一个或多个数据文件,也可以对已经存在的表空间追加新的数据文件。数据文件可以分为下面两种类型的数据:
(1)系统数据
管理用户数据和Oracle系统本身的数据,如用户建立的表的名称、列的名称以及字段类型等属于用户数据,这些数据自动被存放在系统表空间对应的system01.dbf文件中;而Oracle系统内部的数据字典、表,如DBA_USERS、DBA_DATE_FILES等所存放的数据属于Oracle系统内部的数据,这些数据也存放在系统表空间对应的system01.dbf文件中。
(2)用户文件
用户数据指的是用户应用系统的数据,包括与应用系统有关的所有相关信息,表空间和数据文件是一对不可分离的数据库实例,他们具有下列特点:
表空间是一个数据库的逻辑区;
每个表空间由一个或多个数据文件组成;
一个数据文件只能属于一个表空间。

临时表空间
临时表空间(Temporary Tablespace)是Oracle系统用于存放与排序有关的特殊表空间,临时表空间相当于数据库系统的一块白板,当在操作中需要进行排序时,Oracle系统就将排序的数据临时存放在该表空间中,当排序处理完成后即可释放排序数据所占的空间,因此称之为临时表空间。与一般的永久表空间一样,临时表空间也对应着一个或多个临时文件(Tempfile)。从Oracle9i以后,Oracle将临时表空间所对应的临时数据文件与一般数据文件分开,要了解数据库实例当前的临时表空间和临时数据文件的信息,可从DBA_TEMP_FILES数据字典中查询。

控制文件
控制文件是一个存储Oracle实例信息、数据文件和日志文件信息的内部二进制文件。控制文件一般在Oracle系统安装时自动创建,控制文件所存放的路径由服务器参数文件SPFileEsid.ora的control_file参数值来确定。
  由于控制文件存放有数据文件、日志文件等信息,因此Oracle实例在启动时必须访问控制文件。实际上,当Oracle实例在正常启动时,系统首先访问的是初始化参数文件SPFILE;然后Oracle为系统全局区(SGA)分配内存,这时Oracle实例处于安装状态,控制文件处于打开状态,接下来Oracle自动读出控制文件中的所有数据文件和日志文件信息;并打开所有数据文件及所有日志文件信息以便所有用户都可以访问。
  控制文件内部除了存放Oracle实例,以及创建日期、数据文件和日志文件外,在系统运行过程中,还存放有系统更改号、监测点信息以及归档的当前状态等信息。如果Oracle环境启用RMAN备份的话,控制文件中会存放RMAN的备份信息。
  Oracle数据库系统出于安全考虑,在安装Oracle数据库或者创建实例时,系统会自动创建2个或3个控制文件,每个控制文件记录有相同的信息。这样在数据库运行时,如果某个控制文件损坏,Oracle会自动使用另外一个控制文件。当所有控制文件都损坏时系统将停止工作。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2011-01-13 19:39 |只看该作者
基本的理论性东西。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP