oracle表空间
普通表空间
数据字典管理的表空间
数据字典:
描述数据的数据
例子
创建一个表,这个表的数据,这个表的字段,字段的类型,表的外键,等等描述表的基本信息的,这些信息存放在表中,存放信息的表就是数据字典。数据字典存放的数据就是描述整个数据库各种各样的信息。
数据字典组成:
数据字典基本表,数据字典视图。
数据字典基本表
数据字典基本表和普通的表没有区别,里面是存放数据字典的数据,在执行CREATE DATABASE(创建数据库)的时候,通过一个sql.bsp脚本来创建这个基本表。这个基本表的所有者是SYS。放在system的表空间当中。
数据字典视图
- 列名含义清楚
- 视图隐藏了进本表之间的复杂情况
- 所有者是SYS
- 所有的视图都有同义词。用户可以通过别名来访问数据字典视图
- 别名通过catalog.bsp建立
- 存储过程通过catproc.bsp来创建。
数据字典视图分类
- DBA_:包含整个数据库范围内的对象信息。例如:DBA_TABLES包含了数据库范围内的所有表信息。
- ALL_:当前登录用户有权限查看的表信息。例如:ALL_TABLES包含了当前用户有权查看的表信息。
- USER_:当前登录用户所拥有的的对象信息。例如:USER_TABLES包含了当前用户拥有表的信息
查找数据字典视图
可以通过dictionany查找所有,同义名:dict. select table_name from dict
动态性能视图
可以通过表的形式展现出那些在内存和控制文件中的数据。数据库在运行控制文件和内存的数据时,动态性能视图会不断的变化。但数据库重启时,动态性能视图的数据会消失 。
CREATE tablespace 表空间名称
datafile 存储地址 size 存储大小;
#例子
CREATE Tablespace user01
datafiles 'd:\oracledata\user01' siza 10 M;
本地化管理的表空间
- ora9a后系统默认的表空间是本地化管理表空间
- 存储方式: 位图
- 理解:有很多的oracle二进制数据位组成一个数据结构,因为数据位得状态就是是否空闲两种状态所以可以通过二进制的01来表示是否空闲。extents中的数据块就可以用这些数据位表示。所以即使很大的表空间。也可以用很小的位图来表示。
创建本地化管理表空间
CREATE tablespace 表空间名称
datafile 存储地址 size 存储大小
extent management local
CREATE Tablespace user01
datafiles 'd:\oracledata\user01' siza 10 M
extent management local
分配管理方式
1.AUTOALLOCAL:由oracle数据库对区进行自动分配。默认的方式。
CREATE Tablespace user01
datafiles 'd:\oracledata\user01' siza 10 M
extent management local autoallocal
2.UNIFROM:表空间所有区域具有统一的大小。
CREATE Tablespace user01
datafiles 'd:\oracledata\user01' siza 10 M
extent management local unifrom 512k
本地管理表空间中段的管理方式
- 作用:ORACLE数据库用来管理已用数据块和空闲数据块的方式。
- 手动管理: MANUAL (SEGMENT SPACE MANAGWMENT MANUAL) PCTFREE和PCTUSED两个存储参数控制可用存储区的大小,避免行迁移现象的发生。这两个参数可在创建表空间时设置,也可在数据库的模式对象(表,索引)中设置。模式对象中设置的优先级比表空间的要高。如表和索引中没有设置,则按表空间的设置,如表空间也没设置,则按自动管理方式管理块。
CREATE Tablespace user01
datafiles 'd:\oracledata\user01' siza 10 M
extent management local unifrom 512k
SEGMENT SPACE MANAGWMENT MANUAL;
- 自动管理:AUTO(SEGMENT SPACE MANAGWMENT AUTO)采用位图的方式管理使用的段,管理段中已使用的数据块和空闲数据块。
创建大文件表空间
理解:
oracle 10g 后出现一个可以存储大文件数据库,每个大文件的表空间对应一个数据文件或临时文件。创建表空间的时候默认创建表空间的类型为SMALLFILE.可以通过查询数据字典视图DATABASE_PROPERPIES来查看大文件类型是否为BIGFILE类型。
select * from DATABAE_PROPERTIES WHERE PROPERTY_NAME = 'DEFAULT_TBS_TYPE'
- 创建大文本表空间
CREATE BIGFILE TABLESPACE 表空间名称
DATAFILE '地址' SIZE 10M;
创建大文件表空间时,不能使用segment space management manual语句,并且只能指定一个数据文件
撤销:Ctrl/Command + Z