(1)创建Oracle表空间
create tablespace test datafile 'D:\Database\data\test_data.dbf' size 20M autoextend on next 5Mmaxsize 500M;
解释:
创建表空间应该使用 create tablespace 命令;
test:表空间名称;
datafile ‘D:\Database\data\test_data.dbf’ :指定表空间的物理文件;
size 20M :指定物理文件的初始大小
autoextend:指定当数据量超过物理文件的存储空间时,自动增加文件大小;
on next 5M:指定每次增长的尺寸为5M;
maxsize 500M:指定表空间的最大尺寸为500M;
注意:
datafile:这里的‘D:\Database\data’路径必须已经存在,否则无法创建表空间会报错;
执行SQL语句时,结尾的”;”务必写上!!!
检验:
select tablespace_name,file_name from dba_data_files order by file_name;
查询结果如图:
(2)表空间的使用
表空间很重要的一个作用就是规划数据表。也就是说,每个数据表都是某个表空间的子对象。数据表的真实数据也是存在于表空间的物理文件中。因此了解表空间的使用规则,对于明确Oracle数据库结构有着重要意义。
用户登录数据库后,在创建新的数据表时没有指定要将表创建于那个表空间时,都会将数据表自动创建于该用户的默认表空间。默认表空间相当于用户的工作空间。
获取数据库中所有用户的默认表空间
select user_id,username,default_tablespace from dba_users order by username;
查询结果如图:
利用alter database 命令修改数据库的默认表空间
alter database default tablespace test;
再次查询结果如图:
补充:
普通用户的默认表空间有两种来源:
一是创建用户时分配或后期手动修改;
二是从未进行分配或者修改动作,那么则使用数据库的默认表空间。
Oracle 11g数据库默认表空间未USERS,因此,未指定默认表空间而创建的用户,都使用表空间USERS。当修改数据库的默认表空间为TEST,哪些未指定默认表空间而创建的用户就会使用表空间TEST。
(3)表空间的重命名与删除
表空间的重命名{将表空间‘test’重命名未test_data}
alter tablespace test rename to test_data;
查看数据库中的表空间:
查看数据库中所用用户的默认表空间:
删除表空间{删除表空间test_data}
drop tablespace test_data including contents and datafiles;
解释:
上述sql语句,用于删除表空间,并包含表空间中所有的内容和数据文件。
删除表空间的注意事项:
表空间不是任何数据表的默认表空间时,才可以删除,否则报错!!!
所以此时将默认表空间替换为USERS;
alter database default tablespace "USERS";
再次删除即可;
推荐教学:《Oracle视频教学》