本篇文章给大家带来了关于Oracle的相关知识,其中主要介绍了关于表空间的相关问题,包括了表空间的创建、使用、重命名、删除等等内容,下面一起来看一下,希望对大家有帮助。
推荐教程:《Oracle视频教程》
Oracle表空间在逻辑结构上处于数据库之下。利用表空间可以更灵活地规划数据库结构。一个数据库可以包含多个表空间,每个表空间可以包含多个数据表。表空间会有独立地物理文件,这使得用户可以自行决定表空间地大小、位置等。
create tablespace test datafile 'D:\Database\data\test_data.dbf' size 20M autoextend on next 5M maxsize 500M;
创建表空间应该使用 create tablespace 命令;
test:表空间名称;
datafile ‘D:Databasedatatest_data.dbf’ :指定表空间的物理文件;
size 20M :指定物理文件的初始大小
autoextend:指定当数据量超过物理文件的存储空间时,自动增加文件大小;
on next 5M:指定每次增长的尺寸为5M;
maxsize 500M:指定表空间的最大尺寸为500M;
datafile:这里的‘D:Databasedata’路径必须已经存在,否则无法创建表空间会报错;
执行SQL语句时,结尾的";"务必写上!!!
select tablespace_name,file_name from dba_data_files order by file_name;
查询结果如图:
表空间很重要的一个作用就是规划数据表。也就是说,每个数据表都是某个表空间的子对象。数据表的真实数据也是存在于表空间的物理文件中。因此了解表空间的使用规则,对于明确Oracle数据库结构有着重要意义。
用户登录数据库后,在创建新的数据表时没有指定要将表创建于那个表空间时,都会将数据表自动创建于该用户的默认表空间。默认表空间相当于用户的工作空间。
select user_id,username,default_tablespace from dba_users order by username;
查询结果如图:
alter database default tablespace test;
再次查询结果如图:
普通用户的默认表空间有两种来源:
一是创建用户时分配或后期手动修改;
二是从未进行分配或者修改动作,那么则使用数据库的默认表空间。
Oracle 11g数据库默认表空间未USERS,因此,未指定默认表空间而创建的用户,都使用表空间USERS。当修改数据库的默认表空间为TEST,哪些未指定默认表空间而创建的用户就会使用表空间TEST。
alter tablespace test rename to test_data;
查看数据库中所用用户的默认表空间:
drop tablespace test_data including contents and datafiles;
上述sql语句,用于删除表空间,并包含表空间中所有的内容和数据文件。
表空间不是任何数据表的默认表空间时,才可以删除,否则报错!!!
alter database default tablespace "USERS";
推荐教程:《Oracle视频教程》
以上是图文解析oracle表空间的创建、使用、重命名与删除的详细内容。更多信息请关注PHP中文网其他相关文章!