课程表

Oracle 基础教程

Oracle 进阶教程

Oracle PL/SQL

Oracle OEM

Oracle 备份和恢复

Oracle RAC

工具箱
速查手册

Oracle 表空间和用户

当前位置:免费教程 » 数据库/运维 » Oracle

一、SQL语句方式创建表空间

1.创建Oracle表空间

创建oracle表空间应该使用create tablespace命令。在指定表空间的同时,应当指定表空间物理文件的存储位置,并同时指定数据文件的初始大小。

例如,在数据库tst中,创建表空间的命令如下:

其中,test为表空间名称;datafile 'E:\Database\data\test_data.dbf ' 指定表空间的物理文件;size 20M指定物理文件的初始大小。

在成功创建表空间之后,可以在数据字典中获得其相关信息。

视图dba_data_files可以用于查看当前数据库中表空间及其物理文件的完整路径。同样,可以在操作系统中查看物理文件的详细信息,如图所示。

从文件的详细信息可以看出其大小为20M,正是文件创建时的大小。尽管此时表空间中并未存储实际数据,Oracle都会预留系统空间,以备将来存储数据。

无论为表空间预留多大的空间,将来都有数据量超出的风险。因此,在创建表空间时,还可以指定数据文件自动扩展机制,如下所示:

autoextend指定当数据量超出物理文件的存储空间时,自动增加文件大小;而on next 5M则指定每次增长的尺寸为5M。

当然,允许物理文件无限制的增长也是存在一定风险的。此时,可以在创建时设定表空间的最大大小,如下所示:

maxsize 500M指定表空间的最大尺寸为500M。

2.表空间的使用

数据库用户的默认表空间。

分析查询结果可知,系统用户sys及system,其默认表空间为表空间SYSTEM;而普通用户的默认表空间为USERS。

普通用户的默认表空间有两种来源,一是创建用户时分配或者后期手动修改;二是从未进行分配或者修改动作,那么则使用数据库的默认表空间。

Oracle 10g数据库默认表空间为USERS,因此,未指定默认表空间而创建的用户,都将使用表空间USERS。下图演示了如何修改数据库的默认表空间,从而联动普通用户的默认表空间做出更改。

利用alter database命令修改数据库的默认表空间。

alter database default tablespace test用于将数据库的默认表空间修改为test。在成功修改之后,当前数据库的用户及其默认表空间信息如下:

3.表空间的重命名及删除

(1)利用rename选项将表空间test重命名为test_data。

alter tablespace test 用于修改表空间test 的属性;rename to test_data 则用于将表空间名称修改为test_data。

当成功修改之后,可以再次查看数据库的表空间状况,如下所示。

分析查询结果可知,表空间test已经成功重命名为test_data。

(2)删除表空间

当一个表空间不再需要时,可以利用drop命令进行删除。但是,此时的表空间必须不被其他用户引用。例如,当前数据库的默认表空间为test_data(由test重命名而来),用户不能删除该表空间。

不能删除使用中的表空间。

Can not drop the default permanent tablespace表明,由于删除目标是当前数据库的默认表空间,因而删除失败。要删除表空间,必须保证所有用户不再以其为默认表空间。

alter database default tablespace users将当前数据库的默认表空间修改为USERS;drop tablespace test_data including contents and datafiles则用于删除表空间,并包含所有内容和数据文件。


二、图形方式创建表空间

准备

这里以Windows平台+11g版本为例,讲解表空间和用户。在Windows开始菜单里打开oracle控制台,输入用户名密码登陆,如下图:

创建表空间

oracle的基本操作有创建数据库,创建建用户,创建表空间等等,这里从创建表空间开始讲起,创建数据库的基本流程就是先建表空间,然后建用户。点击控制台服务器标签:

点击“表空间”后弹出表空间管理窗口,这里可以对表空间过行,创建,编辑和修改的操作。由于oracle是刚刚安装的,列表的表空间是oracle自建的。这几个表空间是不允许删除的。

点击右上角创建按钮,弹出新建表空间窗口 ,主要是由两部分组成,一般信息里配置表空间的名称,表空间类型,及状态等信息,存储里面配置表空间的存储位置,存储文件名称,空间大小等信息:

配置完毕后可以点击“显示SQL”按钮查看SQL语句的详细信息。这些语句可以直接放在数据库连接工具如DbVisualier里面执行。执行语句创建表空间的效果跟控制台里的效果一样。

配置完成后点击“确定”按钮完成表空间的添加:


三、创建用户

点击服务器标签,在“安全性”下点击“用户”:

系统列出当前服务的用户列表:

点击右上角“创建”按钮 ,弹出新建用户窗口用户需要配置的信息比较多,如果对数据库控制不高,只要配置一般信息及角色即可:

首先输入用户的名称,密码,默认表空间及临时表空间。在此要特别注意,新版本的 Oracle 12c 创建用户的方式和以往版本不同,从真正意义上分割了普通用户和管理员用户,创建普通用户的方式和以往是一样的,不同之处是前缀要使用 C## 命名来创建,如我要创建一个 w3xue 的普通用户,那么其语法如下:

  1. create user C##w3xue;

用户信息填写的界面如下:

点击角色标签后弹出用户角色编辑,角色就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。默认用户只有连接的权限:

点击“编辑角色”后弹出角色编辑窗口,选中用户角色后点击“移动”按钮,把角色从左边框选到右边框里表示添加成功,或者直接双击左边角色也可以把角色添加到右边框里。DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。适合初学者测试时使用,没有什么限制。

角色添加成功后点击“确认”完成用户的创建 ,然后可以在用户列表里看到刚刚新建的角色:

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号