权限主要可以分成三类:系统权限、角色、对象权限,角色是一类系统权限的分组,

Oracle 的角色存放在表 dba_roles 中,某角色包含的系统权限存放在 dba_sys_privs 中,

包含的对象权限存放在 dba_tab_privs 中。

2.1、系统权限:

系统权限其实就是用户在当前用户架构下所具有的权限,在11g中系统权限有200个,

比如create table,UNLIMITED TABLESPACE等。

1、查询当前用户拥有的系统权限:

select * from session_privs;

2、查询某一个用户的系统权限:

select * from dba_role_privs where GRANTEE='<用户名>';

select * from dba_sys_privs where GRANTEE='<用户名>';

2.2、角色:

角色其实就是一类系统权限的分组,所以给用户分配角色其实也是在给用户分配系统权限;

1、在oracle中有三个比较常用的角色:

1)

CONNECT(基本的连接), RESOURCE(程序开发),DBA(数据库管理);

2)

DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构;

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构;

CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构;

3)

对于普通用户:授予connect, resource权限;

对于DBA管理用户:授予connect,resource, dba权限;

4)查看RESOURCE和CONNECT角色中所包含的系统权限:

SELECT * FROM dba_sys_privs WHERE grantee IN ('RESOURCE', 'CONNECT') ORDER BY 1;

2、查询当前用户拥有的角色:

SELECT * FROM USER_ROLE_PRIVS;

3、查询当前用户拥有的角色和对应的系统权限:

select * from role_sys_privs;

2.3、对象权限(表级权限):

对象权限指的是其它拥有用户的对象的权限,即对表的操作权限,其它用户对象的权限包括:

SELECT,DELETE,UPDATE,ALTER,INSERT,INDEX,REFERENCES,FLASHBACK,DEBUG,QUERY REWRITE,ON COMMIT REFRESH;

1、查询当前用户拥有的对象权限:

SELECT * FROM USER_TAB_PRIVS;

2.4、grant授权:

1、授予用户系统权限:

GRANT CREATE VIEW TO <用户名>;

#给用户添加"RESOURCE"角色权限中没有的创建视图的权限;

补充:

#CREATE DATABASE LINK:建立表空间链接

#CREATE SYNONYM:建立同义词

2、授予用户角色权限:

GRANT CONNECT,RESOURCE TO <用户名>;

3、授予用户对象权限:

GRANT SELECT,INSERT,UPDATE,DELETE ON <表名> TO <用户名>;

GRANT ALL PRIVILEGES ON <表名> to <用户名>;

grant connect,select any table to <用户名>;

#所有表赋予查询权限

2.5、REVOKE 回收权限:

1、回收系统权限:

REVOKE CREATE VIEW FROM <用户名>;

2、回收角色权限:

REVOKE CONNECT,RESOURCE FROM <用户名>;

3、回收对象权限:

REVOKE INSERT,UPDATE,DELETE ON <表名> FROM <用户名>;

2.5、角色管理:

1、创建一个角色:

create role <角色名>;

2、将系统权限授权给角色:

grant create any table,create procedure to <角色名>;

3、查看角色所包含的权限

SELECT * FROM dba_sys_privs WHERE grantee IN ('<角色名>') ORDER BY 1;

4、将角色授权给用户:

grant <角色名> to <用户名>;

alter user <用户名> default role <角色名>;

#将指定角色设置为指定用户的默认角色;

5、生效角色:

set role <角色名>;

#使特定的角色生效;

set role all;

#将所有的角色生效;

set role none;

#将所有的角色失效;

6、删除角色:

drop role <角色名>;

#角色删除后,原来拥用该角色的用户就不再拥有该角色了,相应的权限也就没有了;

2.6、用户操作:

1、创建用户:

create user <用户名> identified by <密码>;

alter user <用户名> identified by <密码>;

#修改密码;

2、删除用户:

drop user <用户名> cascade;

3、设置用户密码登录后失效,并要求修改密码:

alter user <用户名> password expire;

4、账户锁定和解锁:

alter user 用户名 account lock;

#账户锁定;

alter user 用户名 account unlock;

#解锁账号;

5、启用scott用户:

scott是一个系统已经新建好的普通用户,用户名scott,密码默认tiger,

默认状态是被锁定,DBA用户执行"alter user scott account unlock"可以

解锁登陆;

2、oracle用户和权限的更多相关文章

  1. Oracle用户,权限,角色以及登录管理 scoot 授权

    Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em.除非你对它授予了sysdba的系统权限或者syspoer系统权限. sy ...

  2. Oracle 用户和权限

    Oracle 用户和权限Oracle 中,一般不会轻易在一个服务器上创建多个数据库,在一个数据库中,不同的项目由不同的用户访问,每一个用户拥有自身创建的数据库对象,因此用户的概念在 Oracle中非常 ...

  3. Oracle用户、权限、角色管理学习(文字很系统)

     Oracle用户.权限.角色管理 2009-03-16 13:20:50 标签:oracle 数据库  休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明 ...

  4. Oracle 用户管理权限

    Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...

  5. Oracle用户、权限、角色管理(转)

    http://blog.csdn.net/junmail/article/details/4381287 Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户 ...

  6. Oracle用户、权限、角色管理

    Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的).   二.系统权 ...

  7. oracle用户、权限操作

    oracle用户操作,权限操作: 1.创建用户,并让用户默认表空间为tb1: create user 用户名 identified by 密码 default namespace tb1 2.授权: ...

  8. oracle用户和权限

    在oracle中,一个服务器上一般只有一个数据库.在一个数据库中,不同的用户项目由不同的用户访问,每一个用户拥有自身创建的数据库对象,当一个用户想访问其它用户下的数据库对象时,必须由对方授予一定的权限 ...

  9. oracle 用户系统权限

    conn sys as sysdba; create user test identified by test; grant create session to test; grant create ...

随机推荐

  1. 查看 swappiness 值

    Swap的使用频率  发表于 2017-06-02 |  分类于 Linux |  评论数: 通过调整swappiness的值, 可以调整系统使用 swap 的频率 该值越小, 表示越大限度的使用物理 ...

  2. gitlab同步插件gitlab-mirrors报错<已解决,未找到原因>

    今天下午在使用gitlab-mirrors同步插件时,发现一直在报错 # ~/gitlab-mirrors/add_mirror.sh --git --project-name manifests - ...

  3. 联想INTEL X86台式机 用光驱启动 usb光驱启动

    联想INTEL X86台式机  用光驱启动 usb光驱启动 启动项顺序 都要调整 主要顺序 自动顺序 出错顺序 按下f10 f12

  4. Linux自动执行任务

    Linux自动执行任务 耗奇害死猫关注 2018.01.04 10:19:45字数 74阅读 142 单次执行用at和batch,周期性任务执行用crontab.任务执行结束后会将结果返回给发起人,通 ...

  5. 021.Python的内置函数

    内置函数 1 abs 绝对值函数 res = abs(-9.9867) print(res) 执行 [root@node10 python]# python3 test.py 9.9867 2 rou ...

  6. 第35章-CentOS7实战

    补充安装软件包 yum -y install vim lrzsz bash-completion telnet nmap 关闭selinux:/etc/selinux/config 关闭防火墙:sys ...

  7. Boa Web Server 缺陷报告及其修正方法

    综述 Boa 作为一种轻巧实用的 WEB 服务器广泛应用于嵌入式设备上, 但 Boa 对实现动态网页的 CGI  的支持上仍存在一些缺陷, 本文描述了 Boa 对 CGI 的 Status/Locat ...

  8. VMware vRealize Suite 8.4 发布 - 多云环境的云计算管理解决方案

    VMware vRealize Suite 8.4.0, Release Date: 2021-04-15 概述 VMware vRealize Suite 是一种多云环境的云计算管理解决方案,为 I ...

  9. 27.Qt Quick QML-State、Transition

    1.State所有组件均具有默认状态,该状态定义对象和属性值的默认配置.可以通过向States属性添加State组件来定义新状态,以允许组件在不同配置之间切换.许多用户界面设计都是由State状态实现 ...

  10. GO文件读写01---读文件

    打开文件 package main import ( "fmt" "os" ) /* buffer 缓冲区 utility 便利的工具 util 便捷工具(傻瓜 ...