探索表空间01_之概念

简介: 探索ORACLE_之表空间01_概念      表空间是数据库系统中逻辑的一部分,通常一个数据库包含了一个或多个表空间,一个表空间同时又包含了一个或多个数据文件。

探索ORACLE_之表空间01_概念

     表空间是数据库系统中逻辑的一部分,通常一个数据库包含了一个或多个表空间,一个表空间同时又包含了一个或多个数据文件。当然一个数据文件只能同时属于一个表空间,且一个表空间只能同时属于一个数据库,结构如图:

    

在oracle10g中最少有两个系统表空间:

一个是system表空间:system表空间用来存储数据库系统中自身的数据字典,存储过程,函数,包,和触发器,用来记录数据库的结构和状态。我们所做的任何操作修改操作都有可能会改变system表空间的内容。比如创建表空间,添加数据文件,创建删除表等等。

另外一个是sysaux表空间: sysaux表空间是10g以后出来的一个新表空间是作为system的辅助表空间,像许多数据库的辅助工具和可选组件及其对象存储在sysaux表空间,它是oracle工具及可选组件的默认表空间,例如oem等工具。

     当然还有其它的一些系统表空间,在此我们娓娓道来;

USER表空间: 用来存放用户数据信息的。

UNDO表空间: 用于存放事物回滚和撤销产生的旧undo块。

TEMP表空间:存放排序产生临时数据,数据库重启后,temp表空间将会清空。

 

     表空间的三种状态

联机状态:要保证表空间的可读性首先必须使表空间在联机状态下,这样表空间内的数据才可是可读的。

脱机状态:使表空间进入脱机状态一般是为了使数据库的某一表空间临时失效,其它表空间正常运行,再者就是对表空间维护,一致性备份,数据库升级等 (一般很少脱机)

只读状态:只读表状态必须是表空间联机状态下的,而且更多的是用于表空间的维护,比如一致性备份,数据库升级等操作。

读写状态:读写状态表空间同样必须是在联机状态下的,这个时候的表空间是可以做任意操作的。

注意:system表空间必须是联机读写状态,因为数据库的启动和关闭都将访问和更改system表空间的内容

 

      表空间类型

永久表空间:用来存放永久数据的,例如系统表空间,用户表空间等,其特点是:数据库被关闭后,数据仍然保留,不会照成数据丢失。

临时表空间:有点类似于操作系统的内存,其作用就是建立一个临时的数据处理区域,比如大量的查询和排序操作都将用到临时表空间。而且为了提高效率一般都会对临时表空间进行分组管理。

 

      表空间管理方式:

字典管理:是数据库一直以来到8i的表空间默认管理方式,它是将各个区的信息都存储在数据字典里面,通过数据字典来记录每个区的使用情况。需要执行递归SQL来得到更多空间,而且对字典的更新必须是串行的,他们不可能同时进行,开销会很大,所以在9i以后要尽量避免

 

 

本地管理:在oracle 9i中新推出来的一种表空间管理方式,也是9i以后的默认表空间管理方式。所谓本地管理,是指Oracle不再利用数据字典表来记录Oracle表空间里面的区的使用状况,而是在每个表空间的数据文件的头部加入了一个位图区,在其中记录每个区的使用状况。每当一个区被使用,或者被释放以供重新使用时,Oracle都会更新数据文件头部的这个记录,反映这个变化。其有点是减少对数据字典访问所照成的冲突,其次就是减少了递归空间的管理,采用自动管理的extents大小或统一的extents大小,同时也不会产生回退信息,不需要合并相邻的剩余表空间;减少了空间碎片,对临时表空间提供了更好的管理。

注意:

1、 system表空间如果是采用的本地管理方式,所创建的用户表空间将不能采用字典管理方式。反过来则可以。

2、 本地管理方式和字典管理方式是可以进行切换的,但建议在切换之前最好对相应的表空间进行备份后再切换

 

 

 

 

     表空间是数据库系统中逻辑的一部分,通常一个数据库包含了一个或多个表空间,一个表空间同时又包含了一个或多个数据文件。当然一个数据文件只能同时属于一个表空间,且一个表空间只能同时属于一个数据库。

    

在oracle10g中最少有两个系统表空间:

一个是system表空间:system表空间用来存储数据库系统中自身的数据字典,存储过程,函数,包,和触发器,用来记录数据库的结构和状态。我们所做的任何操作修改操作都有可能会改变system表空间的内容。比如创建表空间,添加数据文件,创建删除表等等。

另外一个是sysaux表空间: sysaux表空间是10g以后出来的一个新表空间是作为system的辅助表空间,像许多数据库的辅助工具和可选组件及其对象存储在sysaux表空间,它是oracle工具及可选组件的默认表空间,例如oem等工具。

     当然还有其它的一些系统表空间,在此我们娓娓道来;

USER表空间: 用来存放用户数据信息的。

UNDO表空间: 用于存放事物回滚和撤销产生的旧undo块。

TEMP表空间:存放排序产生临时数据,数据库重启后,temp表空间将会清空。

 

     表空间的三种状态

联机状态:要保证表空间的可读性首先必须使表空间在联机状态下,这样表空间内的数据才可是可读的。

脱机状态:使表空间进入脱机状态一般是为了使数据库的某一表空间临时失效,其它表空间正常运行,再者就是对表空间维护,一致性备份,数据库升级等 (一般很少脱机)

只读状态:只读表状态必须是表空间联机状态下的,而且更多的是用于表空间的维护,比如一致性备份,数据库升级等操作。

读写状态:读写状态表空间同样必须是在联机状态下的,这个时候的表空间是可以做任意操作的。

注意:system表空间必须是联机读写状态,因为数据库的启动和关闭都将访问和更改system表空间的内容

 

      表空间类型

永久表空间:用来存放永久数据的,例如系统表空间,用户表空间等,其特点是:数据库被关闭后,数据仍然保留,不会照成数据丢失。

临时表空间:有点类似于操作系统的内存,其作用就是建立一个临时的数据处理区域,比如大量的查询和排序操作都将用到临时表空间。而且为了提高效率一般都会对临时表空间进行分组管理。

 

      表空间管理方式:

字典管理:是数据库一直以来到8i的表空间默认管理方式,它是将各个区的信息都存储在数据字典里面,通过数据字典来记录每个区的使用情况。需要执行递归SQL来得到更多空间,而且对字典的更新必须是串行的,他们不可能同时进行,开销会很大,所以在9i以后要尽量避免

 

 

本地管理:在oracle 9i中新推出来的一种表空间管理方式,也是9i以后的默认表空间管理方式。所谓本地管理,是指Oracle不再利用数据字典表来记录Oracle表空间里面的区的使用状况,而是在每个表空间的数据文件的头部加入了一个位图区,在其中记录每个区的使用状况。每当一个区被使用,或者被释放以供重新使用时,Oracle都会更新数据文件头部的这个记录,反映这个变化。其有点是减少对数据字典访问所照成的冲突,其次就是减少了递归空间的管理,采用自动管理的extents大小或统一的extents大小,同时也不会产生回退信息,不需要合并相邻的剩余表空间;减少了空间碎片,对临时表空间提供了更好的管理。

注意:

1、 system表空间如果是采用的本地管理方式,所创建的用户表空间将不能采用字典管理方式。反过来则可以。

2、 本地管理方式和字典管理方式是可以进行切换的,但建议在切换之前最好对相应的表空间进行备份后再切换

 

 

 

目录
相关文章
|
SQL Oracle 关系型数据库
探秘Oracle表空间、用户、表之间的关系
 之前的DRP项目虽然用到了oracle,但是所有数据库对象的建立都是按文档来的,并没有仔细思考总结,后面再次用到oracle时,不能再那么糊里糊涂的用了,得稍微探索一下下了,究竟这些oracle中的数据库对象之间都存在什么关系呢?
探秘Oracle表空间、用户、表之间的关系
|
4月前
|
存储 关系型数据库 MySQL
认真学习InnoDB的数据存储结构中的区、段与表空间
认真学习InnoDB的数据存储结构中的区、段与表空间
51 2
|
存储 关系型数据库 MySQL
InnoDB 独立表空间与共享表空间
InnoDB 独立表空间与共享表空间
87 0
InnoDB 独立表空间与共享表空间
|
存储 关系型数据库 MySQL
独立表空间结构(1)之区---InnoDB表空间(二十七)
独立表空间结构(1)之区---InnoDB表空间(二十七)
|
存储 关系型数据库 MySQL
独立表空间结构(2)之段---InnoDB表空间(二十八)
独立表空间结构(2)之段---InnoDB表空间(二十八)
|
存储 关系型数据库 MySQL
独立表空间&系统表空间总结---innoDB表空间(三十五)
独立表空间&系统表空间总结---innoDB表空间(三十五)
|
存储 关系型数据库 MySQL
整体结构&InnoDB数据字典(1) --系统表空间结构(三十三)
整体结构&InnoDB数据字典(1) --系统表空间结构(三十三)
|
存储 关系型数据库 MySQL
段的结构 (4)---独立表空间结构(三十)
段的结构 (4)---独立表空间结构(三十)
|
存储 Oracle 关系型数据库
Oracle 数据库表空间不足拓展方法实例演示,表空间剩余大小查看,通过新增表空间文件拓展表空间,表空间文件路径查看
Oracle 数据库表空间不足拓展方法实例演示,表空间剩余大小查看,通过新增表空间文件拓展表空间,表空间文件路径查看
216 0
Oracle 数据库表空间不足拓展方法实例演示,表空间剩余大小查看,通过新增表空间文件拓展表空间,表空间文件路径查看