本篇文章给大家带来了关于Oracle的相关知识,其中主要介绍了关于表空间的相关问题,包括了表空间的创建、使用、重命名、删除等等内容,下面一起来看一下,希望对大家有帮助。

推荐教程:《Oracle视频教程》

oracle 表空间

解释:

Oracle表空间在逻辑结构上处于数据库之下。利用表空间可以更灵活地规划数据库结构。一个数据库可以包含多个表空间,每个表空间可以包含多个数据表。表空间会有独立地物理文件,这使得用户可以自行决定表空间地大小、位置等。

(1)创建Oracle表空间

create tablespace test datafile 'D:\Database\data\test_data.dbf' size 20M 
autoextend 
on next 5M
maxsize 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视频教程》

以上就是图文解析oracle表空间的创建、使用、重命名与删除的详细内容,转载自php中文网

点赞(572) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部