Oracle学习笔记十:用户权限管理

一、数据库模式schema

Oracle学习笔记十:用户权限管理

二、用户管理

2.1、创建用户所涉及内容

  • 确定用户需要将对象存储在哪个表空间
  • 决定每个表空间中该用户的使用限额
  • 指派缺省表空间和临时表空间
  • 开始创建一个用户
  • 赋予权限和角色给用户

2.2、创建用户并设置初始口令

CREATE USER hello IDENTIFIED BY world DEFAULT TABLESPACE data TEMPORARY TABLESPACE temp;

2.3、删除用户

1)删除用户:

DROP USER hello;

2)使用 CASCADE 条件删除用户及其用户中包含的所有对象:

DROP USER hello CASCADE;

3)当前正连接到Oracle服务器的用户不能被删除。

4)获取用户相关信息:

  • DBA_USERS
  • DBA_TS_QUOTAS

三、权限管理

3.1、系统权限

  • 有100多种
  • ANY 关键字 是指用户在任何模式下都具有
  • GRANT 命令由于授予权限
  • REVOKE 命令回收权限 

3.2、系统权限举例

Oracle学习笔记十:用户权限管理

3.3、授予系统权限

GRANT CREATE SESSION TO hello;

GRANT CREATE SESSION TO hello WITH ADMIN OPTION;

3.4、回收系统权限

REVOKE CREATE TABLE FROM hello;

3.5、授予对象权限

GRANT EXECUTE ON dbms_output TO hello;

GRANT UPDATE ON test.student to hello WITH GRANT OPTION;

3.6、回收对象权限

REVOKE SELECT ON test.student FROM hello;

3.7、获取权限信息

  • DBA_SYS_PRIVS
  • SESSION_PRIVS
  • DBA_TAB_PRIVS
  • DBA_COL_PRIVS

四、用户权限管理案例一

4.1、案例说明:

业务系统上线,需要创建1个用户:

  • 用户名:hello
  • 密码:world
  • 默认表空间:test01
  • 默认临时表空间:testtemp
  • 权限:dba
  • 测试可以远程连接

1)操作方法如下:

CREATE USER hello IDENTIFIED BY world DEFAULT TABLESPACE test01 TEMPORARY TABLESPACE testtemp;

grant dba to hello;

五、用户权限管理案例二

5.1、案例说明:

业务系统下线,需要清理用户、表空间信息

  • 删除用户:hello
  • 删除表空间:test01,testtemp

1)操作方法如下:

drop user hello cascade;

DROP TABLESPACE test01 INCLUDING CONTENTS AND DATAFILES;

DROP TABLESPACE testtemp INCLUDING CONTENTS AND DATAFILES;

2)查看用户:

select username from dba_users;

3)查看表空间:

select FILE_NAME,TABLESPACE_NAME from dba_data_files;

 

上一篇:Mysql 时间格式默认空串 '0000-00-00 00:00:00' select抛出异常的解决方法


下一篇:允许mysql 远程登录