Oracle 表空间、用户

一、表空间

  • 临时表空间
    • 创建临时表空间范例
CREATE TEMPORARY TABLESPACE duke_temp         /* 临时表空间名称:duke_temp */
tempfile 'C:\oracle\tablespace\duke_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\tablespace\duke_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;

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://dukec.cn/archives/2019101416521895041

Buy me a cup of coffee ☕.