Oracle DCL

DCL语言

表空间相关

创建表空间

语法

1
2
3
4
5
create tablespace 表空间的名称
datafile '文件的路径'
size 初始化大小
autoextend on -- 是否允许自动扩展
next 每次扩展的大小;

示例

1
2
3
4
5
create tablespace mytest
datafile 'd:/OracleStore/mytest.dbf'
size 100m
autoextend on
next 10m;

删除表空间

语法

1
drop tablespace 表空间的名称;

示例

1
drop tablespace mytest;

用户相关

查看用户

1
2
-- 查看当前用户
select user FROM dual;

创建用户

语法

1
2
3
create user 用户名(当oracle版本大于oracle12时需要为 c##用户名)
identified by 密码
default tablespace 表空间的名称;

示例

1
2
3
create user zhangsan
identified by 123456
default tablespace mytest;

删除用户

授权用户

语法

1
2
3
grant 系统权限列表 to 用户名;
-- 或者
grant 实体权限列表 on 表名称 to 用户名;

二、权限列表

系统权限分类:(系统权限只能由DBA用户授出)

DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
实体权限分类:select、update、insert、alter、index、delete、all

三、演示

1
2
3
4
5
6
7
8
9
grant CONNECT to zhangsan;
或者
grant CONNECT,RESOURCE to zhangsan;
或者
grant CONNECT,RESOURCE,DBA to zhangsan;
或者
grant DBA to zhangsan;
或者
grant all on emp to zhangsan;

给用户分配其他表空间

取消授权

语法

1
2
3
revoke 系统权限列表 from 用户名;
或者
revoke 实体权限列表 on 表名称 from 用户名;

二、注意事项

系统权限只能由DBA用户回收

示例

1
2
3
4
5
6
7
8
9
revoke CONNECT from zhangsan;
或者
revoke CONNECT,RESOURCE from zhangsan;
或者
revoke CONNECT,RESOURCE,DBA from zhangsan;
或者
revoke DBA from zhangsan;
或者
revoke all on emp from zhangsan;

修改密码

语法

1
alter user 用户名 identified by "密码";

示例

1
alter user zhangsan identified by "123456";

Oracle DCL
https://flepeng.github.io/042-Oracle-22-命令-Oracle-DCL/
作者
Lepeng
发布于
2025年3月22日
许可协议