oracle用户角色与权限

程序人员:DML,数据库设计人员:DDL

一、用户管理

概念:

用户是以对象的形式存在的,依然需要数据字典。

1.如何创建用户(DBA)
create user user_name identified by password
[default tablespace tablespacename]
[temporary tablespace tablespacename]
[quota number[k|m] unlimited on tablespace_name]
[profile profile_name|default]
[password expire]
[account lock|unlock]

解释:

quota:用户在表空间上的使用限额。
profile:用户操作的资源文件,不指定则使用默认配置资源文件。
passworld expire:用户密码失效,则在第一次使用时候必须修改密码。

2.查询用户信息

SELECT username,user_id,default_tablespace,temporary_tablespace,created,lock_date,profile 
FROM dba_users 

3.查看用户表空间配额

SELECT * FROM dba_ts_quotas;

4.概要文件

用途:资源限制命令,口令限制命令

CREATE PROFILE ml_profile LIMIT
CPU_PER_SESSION 10000
LOGICAL_READS_PER_SESSION 20000
CONNECT_TIME 60
IDLE_TIME 30
SESSIONS_PER_USER 10
FAILED_LOGIN_ATTEMPTS 3 
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME 30
PASSWORD_GRACE_TIME 6 ;

5.查询profile数据字典

SELECT * FROM dba_profiles

6.创建用户指定概要文件

CREATE USER ml IDENTIFIED BY 123456 
PROFILE ml_profile ;

7.配置已有的配置文件

ALTER USER ml PROFILE ml_profile ;

8.修改概要文件

ALTER PROFILE ml_profile LIMIT
CPU_PER_SESSION 1000
PASSWORD_LIFE_TIME 10 ;

9.删除概要文件

DROP PROFILE ml_profile CASCADE ;

10修改用户密码

ALTER USER ml IDENTIFIED BY helloworld

10.修改锁定状态

ALTER USER ml ACCOUNT LOCK ; 

11.删除用户

DROP USER username cascade;

注意:cascade会删除该用户下所有对象。

二、权限管理

概念:

系统权限:进行数据库资源操作的权限:用户与角色,概要文件,同义词系统,表,表空间,索引,会话,视图,序列,子程序。
对象权限:维护数据库对象的能力,由一个用户操作另一个用户的对象。
语法:

grant 权限...
to [用户名...|角色名,...|public]
[with admin option]

1.给用户授予CREATE SESSION权限(用户登录权限)

GRANT CREATE SESSION TO username;

2.用户授权(with admin option 可以将权限授予其他用户)

GRANT CREATE TABLE , CREATE SEQUENCE  , CREATE VIEW TO username WITH ADMIN OPTION ;

3.查看用户权限

SELECT * FROM dba_sys_privs ;

4.权限回收

REVOKE CREATE TABLE , CREATE VIEW FROM username;

5.为一用户授予另一个用户的表的权限

GRANT SELECT , INSERT ON scott.dept TO user1 ;

6.回收权限

REVOKE SELECT , INSERT ON scott.dept FROM user1;

7.查询当前登录用户所有对象权限

SELECT * FROM user_tab_privs_recd ;

8.查询某一个列的权限

SELECT * FROM user_col_privs_recd ;

9.创建角色

概念:一组权限的概念

CREATE ROLE 角色名称 
[NOT IDENTIFIED | IDENTIFIED BY 密码 ;

10.创建带有密码的角色

CREATE ROLE guan_role_b IDENTIFIED BY guan123;

11.查看数据字典

select *from dba_roles;

12.为角色授权

GRANT CREATE SESSION , CREATE TABLE , CREATE VIEW , CREATE SEQUENCE TO guan_role_b;

13.查询角色权限

SELECT * FROM role_sys_privs

14.角色授予用户

GRANT guan_role_b TO user1 ;

15.查询用户权限

SELECT * FROM session_privs ;

16.回收权限

REVOKE CREATE SESSION FROM guan_role_b ;

17.删除角色

DROP ROLE guan_role_b;

18 .将CONNECT、RESOURCE角色授予c##mldnuser用户

GRANT CONNECT , RESOURCE TO user1

19.通过sys用户查询CONNECT和RESROUCE角色所拥有的权限

SELECT * 
FROM role_sys_privs 
WHERE role IN ('CONNECT' , 'RESOURCE')
ORDER BY role ; 

总结

你在哪,我在哪

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 章节目标 通过本章学习,学员应达到如下目标:理解用户概念;掌握创建用户方法;理解权限概念;理解如何进行权限分配和收...
    涎涎阅读 776评论 0 1
  • 一、用户管理 1、创建用户 2、修改用户 3、删除用户 二、权限管理 1、系统权限 - 授权操作 2、对象权限 -...
    Ada54阅读 1,429评论 0 3
  • 一、源题QUESTION 1The instance abnormally terminates because ...
    猫猫_tomluo阅读 1,657评论 0 2
  • REST API 可以让你用任何支持发送 HTTP 请求的设备来与 Parse 进行交互,你可以使用 REST A...
    Caroline嗯哼阅读 2,087评论 0 0
  • Oracle简介 Oracle数据库是Oracle(甲骨文)公司的核心产品,适合于大型项目的开发;银行、电信、电商...
    技术宅老陈阅读 1,097评论 0 0