DDL(Date Definition Language) and DCL(Date Control Language)-创建表空间/用户及用户授权


Oracle与MySQL的区别

    Oracle是以用户为核心的,也就是说在Oracle中管理表(Table)的基本单位是用户,当前用户下有哪几张表。而MySQL是以数据库为核心的,管理表(Table)的基本单位是数据库,当前数据库下有哪几张表。


表空间

创建表空间

CREATE TABLESPACE test_cnblogs  --创建一个表空间叫test_cnblogs
DATAFILE 'E:\test_cnblogs.dbf'  --存储位置设置在E盘根路径下,切记名称后缀为.dbf
SIZE 100m                       --初始空间设置为100MB大小
AUTOEXTEND ON                   --设置动态扩容,每次10MB
NEXT 10m;

删除表空间

DROP TABLESPACE test_cnblogs;  --删除名叫test_cnblogs的表空间

用户

创建用户

CREATE USER liuxiaojiang    --创建登录用户liuxiaojiang
IDENTIFIED BY liuxiaojiang  --设置该用户密码为liuxiaojiang
DEFAULT TABLESPACE test_cnblogs;  --指定该用户出生的表空间为test_cnblogs

给用户授权(GRANT)

Oracle数据库中常用角色

connect --连接角色,基本角色
resource --开发者角色
dba --超级管理员角色
--授予liuxiaojiang用户connect、resource角色权限。一般创建应用程序开发用户可以授予这两个角色的权限。
GRANT CONNECT,RESOURCE TO liuxiaojiang;

--授予liuxiaojiang用户dba角色权限。
GRANT DBA TO liuxiaojiang;  --给liuxiaojiang这个用户授权dba角色(注意:GRANT属于DCL,不属于DDL)

--授予用户liuxiaojiang用户在zhang用户下person表的SELECT,DELETE,UPDATE,INSERT权限,授予具体的对象权限是对于权限严格控制的一种方案。
GRANT SELECT,DELETE,UPDATE,INSERT ON zhang.person TO CHENMH;

--授予用户chenmh用户zhang下person表的所有权限
GRANT ALL PRIVILEGES ON zhang.person to liuxiaojiang;

回收权限(REVOKE)

--回收liuxiaojiang用户的角色权限
REVOKE CONNECT,RESOURCE FROM liuxiaojiang;

--回收liuxiaojiang用户的系统权限
REVOKE CREATE FROM liuxiaojiang;

--回收用户对象权限,回收liuxiaojiang用户在zhang用户下person表的所有权限,如果是单个授予的权限需要单个的收回
REVOKE ALL PRIVILEGES ON zhang.person FROM liuxiaojiang;

切换用户

--使用PL/SQL Developer,点击session(会话)手动注销当前登录账号,输入账号与密码切换登录用户

解锁用户

--示例
--解锁scott用户,scott用户的密码默认为tiger
--解锁scott用户
ALTER USER scott ACCOUNT UNLOCK;

--解锁scott用户的密码
ALTER USER scott IDENTIFIED BY tiger;

posted @ 2021-02-20 12:04  End_Unripe  阅读(160)  评论(0编辑  收藏  举报