oracle创建表空间【整理】

来源:互联网 发布:mac涂层脱落可以换吗 编辑:程序博客网 时间:2024/05/30 12:30


SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。

Oracle表空间之基本概念

ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
每个ORACLE数据库均有SYSTEM表空间,这是数据库创建时自动创建的。SYSTEM表空间必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表)。
一个小型应用的ORACLE数据库通常仅包括SYSTEM表空间,然而一个稍大型应用的ORACLE数据库采用多个表空间会对数据库的使用带来更大的方便。
例如:便于理解,把oracle数据库看作一个实在房间,表空间可以看作这个房间的空间,是可以自由分配,在这空间里面可以堆放多个箱子(箱子可以看作数据库文件),箱子里面再装物件(物件看作表)。用户指定表空间也就是你希望把属于这个用户的表放在那个房间(表空间)里面。
  表空间是一个虚拟的概念可以无限大,但是需要由数据文件作为载体。

详细参考:http://baike.baidu.com/link?url=bvHh2FYSRMsoubyzuj4g42Vwg33RK8UDkpWlT2pZ8zqif2WEqBVKM_o9LyXQnxzjgzO0ZPVgew7ULSl-hE_57a


Oracle表空间之创建

分为四步,如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行 
第1步:创建临时表空间
create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;

第2步:创建数据表空间
create tablespace user_data logging datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;

第3步:创建用户并指定表空间
create user username identified by password default tablespace user_data temporary tablespace user_temp; 

第4步:给用户授予权限
grant connect,resource,dba to username;

建立表空间(一般建N个存数据的表空间和一个索引空间):create tablespace 表空间名datafile ' 路径(要先建好路径)\***.dbf  ' size *Mtempfile ' 路径\***.dbf ' size *Mautoextend on  --自动增长--还有一些定义大小的命令,看需要 default storage( initial 100K, next 100k,);

create tablespace cordiscmi  logging  datafile 'D:\oracle\dms_01.dbf' size 50m  autoextend on  next 50m maxsize 32767M;create user cordisstg identified by oval163default tablespace cordiscmi   grant connect,resource,dba to cordisstgcreate directory dir_dp as 'C:/'; 



0 0