一、表空间
临时表空间
创建临时表空间范例
CREATE TEMPORARY TABLESPACE duke_temp /* 临时表空间名称:duke_temp */ tempfile 'C:oracle ablespaceduke_temp.dbf' /* 表空间路径 */ size 50m /* 空间初始大小:50M*/ autoextend ON /* 开启自动扩展 */ NEXT 50m /* 空间满了一次扩展50M*/ maxsize 6G /* 空间最终大小6G,可设为 unlimited 大小不受限制*/ extent management local;
表空间
创建表空间范例
CREATE TABLESPACE duke_data /* 临时表空间名称:duke_temp */ datafile 'C:oracle ablespaceduke_data.dbf' /* 表空间路径 */ size 50m /* 表空间初始大小:50M */ autoextend ON /* 开启自动扩展*/ NEXT 50m /* 表空间满了后一次扩展50M */ maxsize 10G /* 空间最终大小10G,可设为 unlimited 大小不受限制*/ logging extent management local;
删除表空间
DROP TABLESPACE duke_temp INCLUDING CONTENTS AND DATAFILES;
执行完之后,找到对应的 .dbf 文件删除。
二、用户
Oracle 是以用户为单位来管理的,所有的对象都依赖于用户,因此 Oracle 中工作的起步就是建立一个自己的用户。Oracle 中默认的超级用户有SYSTEM和SYS,SYATEM拥有所有的数据字典视图,而SYS拥有数据库字典视图所依赖的基表,因此SYS的权限是最高的,SYSTEM次之。
除超级用户外,Oracle 内部还有一些演示用例的用户,比较著名的有Scott,但这些用户默认都是锁定的,要解锁才能使用。
下面列出了关于用户的一些常用SQL语句,需要以管理员身份执行,如果忘记了超级用户密码,可以使用 connect/as sysdba 以sys 的身份登录。
解锁 scott:
alter user scott account unlock;
创建其他用户:
/* duke 是用户名,duke123 是密码。*/ create user duke identified by duke123;
修改用户的密码,该命令也可以在本用户中使用
/* duke 是用户名,duke456 是密码。*/ alter user duke identified by duke456;
给已存在的用户指定一个临时表空间:
/* duke 是用户名,duke_temp 临时表空间名称。*/ alter user duke TEMPORARY TABLESPACE duke_temp;
给已存在的用户指定一个表空间:
/* duke 是用户名,duke_data 表空间名称。*/ alter user duke DEFAULT TABLESPACE duke_data;
创建用户同时并指定临时表空间与表空间
CREATE USER duke /* 用户名 */ IDENTIFIED BY duke123 /* 密码 */ DEFAULT TABLESPACE duke_data /* 表空间 */ TEMPORARY TABLESPACE duke_temp /* 临时表空间 */
用户授予权限
新创建的用户是不能直接登陆的,需要给它授予必要的权限。一般我们给用户授予两个系统内置的角色权限,他们时 connect 和 resource。
connect 使得用户可以登录;resource 使得用户可以进行程序开发,如建立表、触发器等。授权命令如下:GRANT CONNECT,RESOURCE TO duke;
一条命令:建立用户 + 授权
GRANT CONNECT,RESOURCE TO duke IDENTIFIED BY duke123;
用户撤销权限
revoke resource from duke;
删除用户
说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。drop user duke cascade;