概念:
数据库的运行依赖操作系统,而数据保存在操作系统的磁盘上,所以用户向数据表中保存数据,最终数据也是保存在磁盘上。数据可数据和磁盘数据之间存在两种结构:
a、逻辑结构:Oracle中所引入的结构。
b、物理结构:操作系统所拥有的存储结构。
在Oracle,数据库也被称为实例(Instance),而数据库中维护的表空间就像图书馆的书架,而每张表则存放在表空间中。不同的数据文件可存放在一个表空间中,相同的数据文件亦可存放在同一个表空间中。
表空间是Oracle数据库中最大的逻辑结构,每个数据库是由若干个表空间所组成,而一个表空间由多个数据文件组成,用户所创建的数据表统一被表空间所管理,且与其索引、视图、子程序等被表空间保存到不同的区域中。表空间与磁盘上的数据文件对应,所以直接与物理存储结构关联。
Oracle中一般分两类表空间:
a、系统表空间(数据表空间):是在数据库创建时一起建立的,如:用户用于撤销的事务处理,或者数据字典。(system、sysaus)
b、非系统表空间(临时表空间):管理员用于保存用户数据、索引等数据库对象。如:users、temp等。
默认情况下,表空间存放在:oradate > mldn 中。
创建表空间:
*语法:
create [ temporary ] tablespace 表空间名称
[ datafile | temfile 表空间文件保存路径…… ][ size 数字 [ K | M ] ]
[ autoextend on | off ] [ next 数字 [ K | M ] ]
[ logging | nologging ];
*说明:
temporary:创建临时表空间,注意:临时表空间没有日志。
datafile:表空间存放磁盘路径,可设置多个保存路径,
temfile: 表空间临时存放路径,
size: 开辟空间大小,K(字节),M(兆),
autoextend:是否自动扩展表空间,
logging:是否需要对DML进行日志记录,记录下的日志可用于数据恢复。
#例子:
1、创建两个数据表空间:
create tablespace mldn_data
datafile 'd:\mldnds\mldn_data01.dbf' size 50M
'e:\mldnds\mldn_data02.dbf' size 50M
autoextend on next 2M
logging;
2、创建两个临时表空间:
create temporary tablespace mldn_temp
tampfile 'd:\mldnds\mldn_temp01.dbf' size 50M
'e:\mldnds\mldn_temp02.dbf' size 50M
autoextend on next 2M;
注意:
只有管理员才有创建表空间权限(用sys登录)。
查看表空间,
1、可查看"dba_tablespace"字典:只能知道数据库表空间的信息
select * from dba_tablespace;
2、可查看"dba_data_files"和"dba_temp_files"字典:能知道表空间存储路径及信息
select * from dba_data_files;-- 查看数据表空间
select * from dba_temp_files;-- 查看临时表空间
使用表空间:
*语法:
create table 表名(
字段名 字段类型
……)tablespace 表空间名称;
#例子:
create table mytab(
id number
name vachar2(20)
)tablespace mldn_data;
----------------------------------------------------------如有不足还请各位指正---------------------------------------------------------