oracle对象权限

oracle对象权限
oracle对象权限

对象权限:

授权

grant [对象权限] on [表名] to [用户名] with grant option;

撤销权限:

revoke [对象权限] on [表名] from [用户名];

select * from tab;查询当前登录用户自己的表

对象权限,如果把中间的一个用户的权限收回,那么这个用户传递下去的权限一并收回。

了解:如何授权表的某一列权限

update,insert

desc emp;查询表结构

角色

如何创建一个自定义角色

create role [角色名称] identified by [密码];

在给用户授予自定义角色时,如果把这个自定义角色给删除,那么这个角色授予的用户权限也删除。

角色

如何创建一个自定义角色

create role[角色名]identified by [密码]

SQL> create role u11;

角色已创建。

SQL> conn u1/123

已连接。

SQL> conn system/123456

已连接。

SQL> revoke connect from u1;

撤销成功。

SQL> conn u1/123

ERROR:

ORA-01045: user U1 lacks CREATE SESSION privilege; logon denied

警告: 您不再连接到 ORACLE。SQL> conn system/123456

已连接。

SQL> grant create session to u11 ; 授权成功。

SQL> show user

USER 为 "SYSTEM"

SQL> grant u11 to u1;

授权成功。

SQL> conn u1/123

已连接。

SQL> conn system/123456

已连接。

SQL> drop role u11;

角色已删除。

SQL>

SQL> conn / as sysdba;

已连接。

SQL> drop user scott cascade;

用户已删除。

SQL> create user SCOTT identified by TIGER;

用户已创建。

SQL> grant connect,resource to SCOTT;

SQL> revoke connect from SCOTT;

撤销成功。

SQL> conn SCOTT/TIGER;

ERROR:

ORA-01045: user SCOTT lacks CREATE SESSION privilege; logon denied

警告: 您不再连接到 ORACLE。

SQL> grant connect to SCOTT;

SP2-0640: 未连接

SQL> conn / as sysdba;

已连接。

SQL> grant connect to SCOTT;

授权成功。

SQL> conn SCOTT/TIGER;

已连接。

SQL> show user

USER 为 "SCOTT"

SQL> grant connect to u1;

grant connect to u1

*

第 1 行出现错误:

ORA-01932: ADMIN 选项未授权给角色 'CONNECT'

SQL> conn / as sysdba;

已连接。

SQL> grant connect to SCOTT with admin option;

授权成功。

SQL> conn SCOTT/TIGER;

已连接。

SQL> grant connect to u1;

授权成功。

SQL> grant connect to u1 with admin option;

授权成功。

SQL> create user u2 identified by 123;

用户已创建。

SQL> conn u1/123;

已连接。

SQL> grant connect to u2;

授权成功。

SQL> conn / as sysdba;

已连接。

SQL> revoke connect from u1;

撤销成功。

SQL> conn u2/123;

已连接。

SQL> conn SCOTT/TIGER;

已连接。

SQL> select * from tab;

未选定行

SQL> conn / as sysdba;

已连接。

SQL> drop user SCOTT;

用户已删除。

SQL> @ C:\Users\acer\Desktop\实训\第二次课\scott.sql

SQL> SELECT * from tab;

TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- BONUS TABLE

DEPT TABLE

EMP TABLE

SALGRADE TABLE

SQL> select * from emp;

SQL> conn u2/123

已连接。

SQL>

SQL> select * from tab;

未选定行

SQL> select * from emp;

select * from emp

*

第 1 行出现错误:

ORA-00942: 表或视图不存在

SQL>

SQL> show user

USER 为 "U2"

SQL> select * from scott.emp;

select * from scott.emp

*

第 1 行出现错误:

ORA-00942: 表或视图不存在

SQL> conn SCOTT/TIGER;

已连接。

SQL> select * from tab;

TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- BONUS TABLE

DEPT TABLE

EMP TABLE

SALGRADE TABLE

SQL> select * from emp;

SQL> grant select on emp to u1;

授权成功。

SQL> grant select on emp to u1 with grant option; 授权成功。

SQL> grant create session to u1 ;

grant create session to u1

*

第 1 行出现错误:

ORA-01031: 权限不足

SQL> conn/ as sysdba

已连接。

SQL> grant create session to u1 ;

授权成功。

SQL> conn u1/123

已连接。

SQL> select * from scott.emp;SQL> grant select on emp to u1; 授权成功。

SQL> grant select on emp to u1 with grant option;

授权成功。

SQL> grant create session to u1 ;

grant create session to u1

*

第 1 行出现错误:

ORA-01031: 权限不足

SQL> conn/ as sysdba

SQL> grant create session to u1 ;

授权成功。

SQL> conn u1/123

已连接。

SQL> select * from scott.emp; SQL> conn/ as sysdba

已连接。

SQL> grant create session to u2;

授权成功。

SQL> conn u2/123;

已连接。

SQL> select * from scott.emp; select * from scott.emp

*

第 1 行出现错误:

ORA-00942: 表或视图不存在

SQL> conn u1/123;

已连接。

SQL> grant select on scott.emp to u2; 授权成功。

SQL> conn u2/123;

SQL> select * from scott.emp;

SQL> conn SCOTT/TIGER

已连接。

SQL> revoke select on scott.emp from u1; 撤销成功。

SQL> conn u1/123;

已连接。

SQL> select * from scott.emp;

select * from scott.emp

*

第 1 行出现错误:

ORA-00942: 表或视图不存在

SQL> conn u2/123;

已连接。

SQL> select * from scott.emp;

select * from scott.emp

*

第 1 行出现错误:

ORA-00942: 表或视图不存在

SQL> show user;

USER 为 "U2"

SQL> conn SCOTT/TIGER

SQL> grant select,update(empno,ename) on emp to u1;

授权成功。

SQL> conn u1/123

已连接。

SQL> select * from scott.emp;

SQL> update scott.emp set empno=123 where empno=7934;

已更新 1 行。

SQL> select * from scott.emp;

SQL> update scott.emp set empno=111,ename='111' where empno=123; 已更新 1 行。

SQL> select * from scott.emp;

SQL> conn SCOTT/TIGER

已连接。

SQL> grant delete(empno) on emp to u1;

grant delete(empno) on emp to u1

*

第 1 行出现错误:

ORA-00969: 缺失 ON 关键字

SQL> grant delete on emp to u1;

SQL> revoke update(empno,ename) on emp from u1;

revoke update(empno,ename) on emp from u1

*

第 1 行出现错误:

ORA-01750: UPDATE/REFERENCES 只能从整个表而不能按列 REVOKE SQL> revoke update on emp from u1;

撤销成功。

SQL> update scott.emp set empno=123 where empno=111; update scott.emp set empno=123 where empno=111

*

第 1 行出现错误:

ORA-01031: 权限不足

SQL> conn / as sysdba

已连接。

SQL> select * from dba_roles;

ROLE PASSWORD AUTHENTICAT

------------------------------ -------- -----------

CONNECT NO NONE

RESOURCE NO NONE

DBA NO NONE

SQL> create role u11;

SQL> conn u1/123;

已连接。

SQL> conn/ as sysdba;

已连接。

SQL> revoke create session from u1;

撤销成功。

SQL> conn u1/123;

ERROR:

ORA-01045: user U1 lacks CREATE SESSION privilege; logon denied

警告: 您不再连接到 ORACLE。

SQL> conn/ as sysdba;

已连接。

SQL> grant create session to u11;

授权成功。

SQL> grant u11 to u1;

授权成功。

SQL> conn u1/123;

已连接。

SQL>

SQL> show user

USER 为 "U1"

SQL> conn/ as sysdba

已连接。

SQL> drop role u11;

角色已删除。

SQL> conn u1/123

ERROR:

ORA-01045: user U1 lacks CREATE SESSION privilege; logon denied 警告: 您不再连接到 ORACLE。

Oracle权限不足问题集锦

Oracle Oracle权限不足问题集锦 跟Oracle数据库打交道的DBA都会遇到过 “Insufficient privileges”这样的错误, 出现权限不足问题的情况各有不同在本次的 Oracle系列电子书中,我们就总结了网友在 使用Oracle数据时遇到的Insufficient privileges错误。 ORA-01031:Insufficient privileges错误解决方法 以sysdba登录时的Insufficient privileges错误 Windows集群下的ORA-12638和ORA-01031错误 在不同的模式下执行SQL语句 TechTarget 中国《Oracle电子书》 1

TechTarget 中国《Oracle 电子书》 2

TechTarget 中国《Oracle 电子书》 3 解决创建存储过程时的 Insufficient privileges 错误 问:我需要使用Toad 在我的schema 中创建一个存储过程。 但是出现了“Insufficient privileges.”的错误。当我以 System 连接并将schema 的名称添加到表的前缀中 (schema.tablename),系统提示表不存在。请问问题出在哪里?我该如何解决? 答:为了在你的schema 中创建一个存储过程,你需要 有CREATE PROCEDURE 系统权限。你可以通过查询用户的DBA_SYS_PRIVS 来进行查看。此外,如果存储过程要参考对象,该用户还需要拥有相应的对象权限。举例来说,如果存储过程插入一行数据到SCOTT .EMP 表中,针对该表,用户必须被授予INSERT 权限。授权不能通过角色,你必须直接将对象权限授予用户。 (作者:Brian Peasland 译者:孙瑞 来源:TT 中国)

oracle权限及角色

角色是相关权限的集合,使用角色能够简化权限的管理。简而言之就是oracle 可以事先把一系列权限集中在一起(角色),打包赋予给用户,那么用户就具有了角色的一系列权限。 oracle预定义角色有25种,它是oracle提供的角色。经常用到的角色有connect、resource、dba三种角色。建一个用户,多数情况下,只要给用户赋予connect和resource角色就够了。 connect角色具有一般应用开发人员需要的大部分权限,connect角色具有的系统权限如下: alter session create cluster create database link create session create table create view create sequence resource角色具有开发人员需要的其他权限,如建立存储过程、触发器等,resource角色等,resource角色隐含了unlimited tablespace系统权限(无限制表空间),resource的系统权限有: create cluster

create indextype create table create sequence create type create procedure create trigger dba角色具有所有系统权限及with admin option选项,默认dba用户为sys和system,它们可以将任何系统权限授予给其他用户。但是dba角色不具备sysdba 和sysoper的权限,即启动和关闭数据库。 select*from tab; --查询所有的用户 select*from dba_users; --查询所有的角色 select*from dba_roles; -- 权限有140多种,要赋值给用户,使用sql grant sql语句,太麻烦,产生角色概念(23种角色),先把权限赋值给角色,比如说connect

oracle常用权限语句

oracle 用户创建及权限设置 权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> conn / as sysdba; SQL>create user username identified by password SQL> grant dba to username; SQL> conn username/password SQL> select * from user_sys_privs; 我们将从创建 Oracle 用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对 Oracle 用户权限表有个深入的了解。 一、创建 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二、登陆sqlplus / as sysdba;// 登陆sys帐户sqlplus sys as sysdba;// 同上 sqlplus scott/tiger;//登陆普通用户scott sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott 三、管理用户 create user zhangsan;//在管理员帐户下,创建用户zhangsan alter user scott identified by tiger;//修改密码

四,授予权限 1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限 /*管理员授权*/ grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限 grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限 grant create table to zhangsan;//授予创建表的权限 grante drop table to zhangsan;//授予删除表的权限 grant insert table to zhangsan;//插入表的权限 grant update table to zhangsan;//修改表的权限 grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public) 2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权 /*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/ grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限 grant drop on tablename to zhangsan;//授予删除表的权限 grant insert on tablename to zhangsan;//授予插入的权限 grant update on tablename to zhangsan;//授予修改表的权限 grant insert(id) on tablename to zhangsan; grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限 五、撤销权限 基本语法同grant,关键字为revoke 六、查看权限 select * from user_sys_privs;//查看当前用户所有权限 select * from user_tab_privs;//查看所用用户对表的权限 七、操作表的用户的表 /*需要在表名前加上用户名,如下*/ select * from zhangsan.tablename 八、权限传递 即用户A将权限授予B,B可以将操作的权限再授予C,命令如下: grant alert table on tablename to zhangsan with admin option;//关键字 with admin option grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似 九、角色 角色即权限的集合,可以把一个角色授予给用户 create role myrole;//创建角色

oracle权限全集

oracle权限全集 alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任意序列的权限 alter any snapshot 修改任意快照的权限 alter any table 修改任意表的权限 alter any trigger 修改任意触发器的权限 alter cluster 修改拥有簇的权限 alter database 修改数据库的权限 alter procedure 修改拥有的存储过程权限 alter profile 修改资源限制简表的权限 alter resource cost 设置佳话资源开销的权限 alter rollback segment 修改回滚段的权限 alter sequence 修改拥有的序列权限 alter session 修改数据库会话的权限 alter sytem 修改数据库服务器设置的权限 alter table 修改拥有的表权限 alter tablespace 修改表空间的权限 alter user 修改用户的权限 analyze 使用analyze命令分析数据库中任意的表、索引和簇audit any 为任意的数据库对象设置审计选项 audit system 允许系统操作审计

backup any table 备份任意表的权限 become user 切换用户状态的权限 commit any table 提交表的权限 create any cluster 为任意用户创建簇的权限 create any index 为任意用户创建索引的权限 create any procedure 为任意用户创建存储过程的权限create any sequence 为任意用户创建序列的权限create any snapshot 为任意用户创建快照的权限create any synonym 为任意用户创建同义名的权限create any table 为任意用户创建表的权限 create any trigger 为任意用户创建触发器的权限create any view 为任意用户创建视图的权限 create cluster 为用户创建簇的权限 create database link 为用户创建的权限 create procedure 为用户创建存储过程的权限 create profile 创建资源限制简表的权限 create public database link 创建公共数据库链路的权限create public synonym 创建公共同义名的权限 create role 创建角色的权限 create rollback segment 创建回滚段的权限 create session 创建会话的权限 create sequence 为用户创建序列的权限

oracle 查看用户、权限、角色

查看用户、权限、角色的命令和视图 a 1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户系统权限: select * from dba_sys_privs; select * from session_privs; select * from user_sys_privs; 3.查看用户对象权限: select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs; 4.查看所有角色: select * from dba_roles; 5.查看用户所拥有的角色: select * from dba_role_privs; select * from user_role_privs; b 概述 与权限,角色相关的视图大概有下面这些: DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限 USER_SYS_PRIVS: 查询当前用户所拥有的系统权限 SESSION_PRIVS: 查询当前用户所拥有的全部权限 ROLE_SYS_PRIVS:查询某个角色所拥有的系统权限 注意: 要以SYS用户登陆查询这个视图,否则返回空. ROLE_ROLE_PRIVS: 当前角色被赋予的角色 SESSION_ROLES: 当前用户被激活的角色 USER_ROLE_PRIVS: 当前用户被授予的角色 另外还有针对表的访问权限的视图: TABLE_PRIVILEGES ALL_TAB_PRIVS ROLE_TAB_PRIVS: 某个角色被赋予的相关表的权限 oracle与用户角色权限相关的视图 Oracle 本身的数据字典设计我个人觉得很合理, 因为DBA_xxx, ALL_xxx,USER_xxx 让人一看大概就知道这个视图是干什么用的. 本文简要总结了一下与权限,角色相关的视图. 一. 概述 与权限,角色相关的视图大概有下面这些: 1、DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限。 2、USER_SYS_PRIVS: 查询当前用户所拥有的系统权限。

Oracle常用权限操作

Oracle系统默认的几个用户: sys --------本地管理用户,具有最高数据库管理权限 system------网络管理用户,权限次于sys scott-------普通用户,默认是锁住的(不可用) 默认情况下: scott 密码是tiger sys 密码是change_on_install system 密码是manager sysman 密码是oem_temp 启动监听器服务:lsnrctl start 启动实例服务:oradim -starup -sid orcl 显示当前用户:show user; 登录用户:sqlplus / as sysdba (sys网络管理员用户登录) sqlplus username/password (普通用户) -->sqlplus -->请输入用户名:username -->请输入口令:password 创建用户:create user zhangsan identified by zhangsan; 修改用户密码:alter user lisi identified by lll; 用户断开数据库连接:disconn; 当前用户重新连接:conn username/password; 删除用户:drop user username; 设置显示宽度:set linesize 400; 系统权限管理: 授予会话权限:grant create session to zhangsan; 授予建表权限:grant create table to zhangsan; 授予无限制使用表空间的权限:grant unlimited tablespace to zhangsan; 授予权限:grant 权限to 用户名; 撤销权限:revoke 权限from 用户名; 查询用户的系统权限:select * from user_sys_privs; 用户权限管理: grant select on mytab to lisi; grant update on mytab to lisi; grant delete on mytab to lisi; grant insert on mytab to lisi; revoke select on mytab from lisi; 授予其他用户对当前用户表中的【某个字段】的操作权限:grant update(pass) on mytab to lisi; 授予其他用户操作表的所有权限: grant all on mytab to lisi; 撤销其他用户操作表的所有权限: revoke all on mytab from lisi; 查询其他用户对【当前用户表】的操作权限:

Oracle 权限设置

一、权限分类: 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理: 1、系统权限分类: DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。 2、系统权限授权命令: [系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)] 授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...; [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。] 例: SQL> connect system/manager SQL> Create user user50 identified by user50; SQL> grant connect, resource to user50; 查询用户拥有哪里权限: SQL> select * from dba_role_privs; SQL> select * from dba_sys_privs; SQL> select * from role_sys_privs; 删除用户:SQL> drop user 用户名cascade; //加上cascade则将用户连同其创建的东西全部删除 3、系统权限传递: 增加WITH ADMIN OPTION选项,则得到的权限可以传递。 SQL> grant connect, resorce to user50 with admin option; //可以传递所获权限。 4、系统权限回收:系统权限只能由DBA用户回收 命令:SQL> Revoke connect, resource from user50;

Oracle用户权限表的管理方法

我们将通过介绍命令的方式,谈谈Oracle用户权限表的管理方法,希望对大家有所帮助。 我们将从创建Oracle用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对Oracle用户权限表有个深入的了解。 一、创建 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二、登陆 sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott 三、管理用户 create user zhangsan;//在管理员帐户下,创建用户zhangsan alert user scott identified by tiger;//修改密码 create user zhangsan;//在管理员帐户下,创建用户zhangsan alert user scott identified by tiger;//修改密码 四,授予权限 1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限

/*管理员授权*/ grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限 grant create table to zhangsan;//授予创建表的权限 grante drop table to zhangsan;//授予删除表的权限 grant insert table to zhangsan;//插入表的权限 grant update table to zhangsan;//修改表的权限 grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public) /*管理员授权*/ grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限 grant create table to zhangsan;//授予创建表的权限 grante drop table to zhangsan;//授予删除表的权限 grant insert table to zhangsan;//插入表的权限 grant update table to zhangsan;//修改表的权限 grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public) 2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权/*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/ grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限 grant drop on tablename to zhangsan;//授予删除表的权限 grant insert on tablename to zhangsan;//授予插入的权限 grant update on tablename to zhangsan;//授予修改表的权限 grant insert(id) on tablename to zhangsan;

Oracle GRANT 附权限详解

Oracle GRANT附权详解 GRANT名称 GRANT—赋予一个用户,一个组或所有用户访问权限 GRANT privilege [, ...] ON object [, ...] TO { PUBLIC | GROUP group | username } 输入 privilege 可能的权限有: SELECT 访问声明的表/视图的所有列/字段. INSERT 向声明的表中插入所有列字段. UPDATE 更新声明的所有列/字段. DELETE 从声明的表中删除所有行. RULE 在表/视图上定义规则(参见CREATE RULE 语句). ALL 赋予所有权限. object 赋予权限的对象名.可能的对象是: ?table (表) ?view (视图) ?sequence (序列) ?index (索引) PUBLIC 代表是所有用户的简写. GROUP group

将要赋予权限的组group.目前的版本中,组必须是用下面方法显式创建 的. username 将要赋予权限的用户名.PUBLIC 是代表所有用户的简写. 输出 CHANGE 如果成功,返回此信息. ERROR: ChangeAcl: class "object" not found 如果所声明的对象不可用或不可能对声明的组或用户赋予权限. 描述 GRANT允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限.对象创建后,除了创建者外,除非创建者赋予(GRANT)权限,其他人没有访问对象的权限. 一旦用户有某对象的权限,他就可以使用那个特权.不需要给创建者赋予(GRANT)对象的权限,创建者自动拥有对象的所有权限,包括删除它的权限. 注意 目前,要想在Postgres 里面只赋予几列权限,你必须创建一个包含那几列的视图(view),然后把权限赋予那几个视图。 使用psql z 命令获取关于现存对象权限的更多信息: Database = lusitania +------------------+---------------------------------------------+ | Relation | Grant/Revoke Permissions | +------------------+---------------------------------------------+ | mytable | {"=rw","miriam=arwR","group todos=rw"} | +------------------+---------------------------------------------+ Legend: uname=arwR -- privileges granted to a user group gname=arwR -- privileges granted to a GROUP =arwR -- privileges granted to PUBLIC r -- SELECT w -- UPDATE/DELETE a -- INSERT R -- RULE arwR -- ALL

oracle角色权限详解

每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。Oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。 数据库系统权限(Database System Privilege)允许用户执行特定的命令集。例如,CREATE TABLE权限允许用户创建表,GRANT ANY PRIVILEGE 权限允许用户授予任何系统权限。 数据库对象权限(Database Object Privilege)使得用户能够对各个对象进行某些操作。例如DELETE权限允许用户删除表或视图的行,SELECT权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。 一、创建用户 Oracle内部有两个建好的用户:SYSTEM和SYS。用户可直接登录到SYSTEM 用户以创建其他用户,因为SYSTEM具有创建别的用户的权限。在安装Oracle 时,用户或系统管理员首先可以为自己建立一个用户。例如: create user user01 identified by u01; (上面user01是创建的用户u01是密码) 该命令还可以用来设置其他权限,详细情况参见自学资料。要改变一个口令,可以使用alter user命令: alter user user01 identified by usr01; 现在user01的口令已由“u01”改为“usr01”。 除了alter user命令以外,用户还可以使用password命令。如果使用password命令,用户输入的新口令将不在屏幕上显示。有dba特权的用户可以通过password命令改变任何其他用户的口令;其他用户只能改变自己的口令。 当用户输入password命令时,系统将提示用户输入旧口令和新口令,如下所示: password Changing password for user01 Old password: New password: Retype new password:

oracle权限大全

Oracle权限笔记 一、系统的默认用户 1.sys;//系统管理员,拥有最高权限 2.system;//本地管理员,次高权限 3.scott;//普通用户,密码默认为tiger,默认未解锁 二、登陆 1.sqlplus / as sysdba;//登陆sys帐户 2.sqlplus sys as sysdba;//同上 3.sqlplus scott/tiger;//登陆普通用户scott 三、管理用户 1.create user zhangsan;//在管理员帐户下,创建用户zhangsan 2.alert user scott identified by tiger;//修改密码 四,授予权限 1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限, 必须授予权限 2、/*管理员授权*/ 3、grant create session to zhangsan;//授予zhangsan用户创建session的 权限,即登陆权限 4、grant unlimited session to zhangsan;//授予zhangsan用户使用表空间 的权限 5、grant create table to zhangsan;//授予创建表的权限 6、grante drop table to zhangsan;//授予删除表的权限 7、grant insert table to zhangsan;//插入表的权限 8、grant update table to zhangsan;//修改表的权限 9、grant all to public;//这条比较重要,授予所有权限(all)给所有用户 (public) oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权 1./*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的 */ 2.grant select on tablename to zhangsan;//授予zhangsan用户查看指 定表的权限 3.grant drop on tablename to zhangsan;//授予删除表的权限 4.grant insert on tablename to zhangsan;//授予插入的权限 5.grant update on tablename to zhangsan;//授予修改表的权限 6.grant insert(id) on tablename to zhangsan;

oracle权限角色

oracle权限角色 文章分类:数据库 一、权限分类: 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理: 1、系统权限分类: DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可 以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。 2、系统权限授权命令: [系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)] 授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...; [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys 用户相同的权限,system用户的权限也可以被回收。] 例: SQL> connect system/manager SQL> Create user user50 identified by user50; SQL> grant connect, resource to user50; 查询用户拥有哪里权限: SQL> select * from dba_role_privs; SQL> select * from dba_sys_privs; SQL> select * from role_sys_privs; 删除用户:SQL> drop user 用户名 cascade; //加上cascade则将用户连同其

ORACLE权限、角色全集

ORACLE权限、角色全集 角色: CONNECT 数据库连接角色,用于连接数据库,具有创建簇、数据库链接、序列、同义词、表和视图,以及修改会话的权利 DBA 数据库管理员角色,具有所有使用ADMIN选项创建的系统权限,可以将系统权限授予其他用户或角色 DELETE_CATALOG_ROLE 删除目录角色,可以删除或重建数据字典 EXECUTE_CATALOG_ROLE 执行目录角色,能够执行所有系统包 EXP_FULL_DATABASE 能够使用导出程序执行数据库的完全和增量导出 IMP_FULL_DATABASE 能够使用导入程序执行数据库的完全导入 RESOURCE 可以创建簇、表、序列以及PL/SQL编程用方案对象,包括过程、程序包、触发器等SELECT_CATALOG_ROLE 查询数据字典表或视图 AQ_USER_ROLE,AQ_ADMINISTRATOR_ROLE 用于oracle高级查询功能 RECOVERY_CATALOG_OWNER 用于创建拥有恢复库的用户 HS_ADMIN_ROLE异构服务需要这个角色去访问数据字典中的表 CTXAPP 验证intermedia的安装 EJBCLIENT:验证java ejb客户端 GATHER_SYSTEM_STATISTICS:获取系统状态统计信息 GLOBAL_AQ_USER_ROLE:全局的高级查询权限 GLOBAL HS_ADMIN_ROLE使用HASH函数的功能完成特殊的要求 AQ_USER_ROLE:这也是高级查询权限,并且授予用户执行DBMS_AQ的权限AUTHENTICATEDUSER:验证用户 OEM_MONITOR:OEM监视 OLAP_DBA:OLAP管理员,和数据仓库有关 WKUSER:oracle文件服务器搜索的权利 WM_ADMIN_ROLE:拥有所有特权,是一个类似管理员的用户,授予这个角色默认也授予DBA权限XDBADMIN:XML DATABASE ADMIN JAVADEBUGPRIV NO JAVAIDPRIV NO

Oracle系统权限说明解释

Oracle数据库的系统和对象权限:: alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任意序列的权限 alter any snapshot 修改任意快照的权限 alter any table 修改任意表的权限 alter any trigger 修改任意触发器的权限 alter cluster 修改拥有簇的权限 alter database 修改数据库的权限 alter procedure 修改拥有的存储过程权限 alter profile 修改资源限制简表的权限 alter resource cost 设置佳话资源开销的权限 alter rollback segment 修改回滚段的权限 alter sequence 修改拥有的序列权限 alter session 修改数据库会话的权限 alter sytem 修改数据库服务器设置的权限 alter table 修改拥有的表权限 alter tablespace 修改表空间的权限 alter user 修改用户的权限 analyze 使用analyze命令分析数据库中任意的表、索引和簇audit any 为任意的数据库对象设置审计选项 audit system 允许系统操作审计 backup any table 备份任意表的权限 become user 切换用户状态的权限 commit any table 提交表的权限 create any cluster 为任意用户创建簇的权限 create any index 为任意用户创建索引的权限 create any procedure 为任意用户创建存储过程的权限 create any sequence 为任意用户创建序列的权限 create any snapshot 为任意用户创建快照的权限 create any synonym 为任意用户创建同义名的权限 create any table 为任意用户创建表的权限 create any trigger 为任意用户创建触发器的权限 create any view 为任意用户创建视图的权限 create cluster 为用户创建簇的权限 create database link 为用户创建的权限 create procedure 为用户创建存储过程的权限 create profile 创建资源限制简表的权限 create public database link 创建公共数据库链路的权限 create public synonym 创建公共同义名的权限 create role 创建角色的权限 create rollback segment 创建回滚段的权限 create session 创建会话的权限

2020年(Oracle管理)oracle系统权限列表

(Oracle管理)oracle系 统权限列表

详细描述Oracle系统特权 https://www.360docs.net/doc/f64353593.html,2009-11-1811:14佚名IT168我要评论(0) 摘要:这里介绍Oracle系统特权,Oracle10G有170多种系统特权,所有这些特权被列举在SYSTE_PRIVILEGE_MAP数据目录视图中。读者应该熟悉以下几组特权。 标签:Oracle系统特权 Oracle帮您准确洞察各个物流环节 Oracle经过长时间的发展,很多用户都很了解Oracle系统特权了,这里我发表一下个人理解,和大家讨论讨论。特权借助于GRANT语句分配给一个用户或角色,并且可以借助于REVOKE语句取消。Oracle10G数据库有3种类型的特权: 1.对象特权模式对象上的特权,比如表、视图、序列、过程和包等模式对象。要想使用这些对象,需要该对象上的特权。 2.系统特权数据库级操作上的特权,比如连接到数据库,创建用户、更改数据库或消耗极大数据的表空间等操作。 3.角色特权一个用户作为一个角色所拥有的对象与系统特权。角色是用来管理特权组的工具。Oracle系统特权允许被授权者执行系统级DataDefinitionLanguage语句(如CREATE,ALTER和DROP)或DataManipulationLanguage语句。Oracle10G有170多种系统特权,所有这些特权被列举在SYSTE_PRIVILEGE_MAP数据目录视图中。读者应该熟悉以下几组特权 序列 1.CREATESEQUENCE允许被授权者在他们自己的模式中创建新的序列 2.CREATEANYSEQUENCE允许被授权者在任意一个模式中创建新的序列 3.ALTERANYSEQUENCE允许被授权者修改数据库中任意一个序列的属性 4.DROPANYSEQUENCE允许从数据库内的任意一个模式中删除任意一个序列

oracle管理权限和角色

oracle管理权限和角色 介绍 这一部分主要看看oracle中如何管理权限和角色,权限和角色的区别在哪里。 当刚刚建立用户时,用户没有任何权限,也不能执行任何操作。如果要执行某种特定的数据库操作,则必需为其授予系统的权限;如果用户要访问其它方案的对象,则必需为其授予对象的权限,为了简化权限的管理,可以使用角色。 权限: 权限是指执行特定类型sql命令或是访问其它方案对象的权利,包括系统权限和对角权限两种。 系统权限介绍 系统权限是指执行特定类型sql命令的权利,它用于控制用户可以执行的一个或是一组数据库操作。比如当用户具有create table权限时,可以在其方案中建表,当用户具有create any table权限时,可以在任何方案中建表。oracle提供了160多中系统权限。常用的有: create session 连接数据库; create view 建视图; create procedure 建过程、函数、包; create cluster 建簇; create table 建表;

create public synonym 建同义词; create trigger 建触发器; 显示系统权限 oracle提供了166系统权限,而且oracle的版本越高,提供的系统权限就越多,我们可以查询数据字典视图system_privilege_map,可以显示所有系统权限。 基本语法: select * from system_privilege_map order by name; oracle11GR2中提供了208个系统权限。 授予系统权限 一般情况,授予系统权限是有dba完成的,如果用其它用户来授予系统权限,则要求用户必需具有grant any privilege的系统权限在授予系统权限时,可以带有with admin option选项,这样,被授予权限的用户或是角色还可以将该系统权限授予其它的用户或是角色。为了让大家快速入门,我们举例说明: 1、创建两个用户ken,tom初始阶段他们没有任何权限,如果登陆就会出错误的信息。 1.1、创建两个用户,并指定密码。 SQL>create user ken identified by ken; SQL>create user tom identified by tom; 2、给用户ken授权 2.1、授予create session和create table权限时带with admin option

oracle系统权限列表

oracle系统权限列表 ://database.51cto 2018-11-18 11:14 佚名IT168 我要评论(0) 摘要:那个地点介绍Oracle系统特权,Oracle 10G有170多种系统特权,所有这些特权被列举在SYSTE_PRIVILEGE_MAP数据名目视图中。读者应该熟悉以下几组特权。 标签:Oracle系统特权 Oracle帮您准确洞悉各个物流环节 Oracle通过长时刻的进展,专门多用户都专门了解Oracle系统特权了,那个地点我发表一下个人明白得,和大伙儿讨论讨论。特权借助于GRANT语句分配给一个用户或角色,同时能够借助于REVOKE语句取消。Oracle 10G数据库有3种类型的特权: 1. 对象特权模式对象上的特权,比如表、视图、序列、过程和包等模式对象。要想使用这些对象,需要该对象上的特权。 2. 系统特权数据库级操作上的特权,比如连接到数据库,创建用户、更换数据库或消耗极大数据的表空间等操作。 3. 角色特权一个用户作为一个角色所拥有的对象与系统特权。角色是用来治理特权组的工具。 Oracle系统特权承诺被授权者执行系统级Data Definition Language语句(如CREATE,ALTER 和DROP)或Data Manipulation Language语句。Oracle 10G有170多种系统特权,所有这些特权被列举在SYSTE_PRIVILEGE_MAP数据名目视图中。读者应该熟悉以下几组特权 序列 1. CREATE SEQUENCE承诺被授权者在他们自己的模式中创建新的序列 2. CREATE ANY SEQUENCE承诺被授权者在任意一个模式中创建新的序列 3. ALTER ANY SEQUENCE承诺被授权者修改数据库中任意一个序列的属性 4. DROP ANY SEQUENCE承诺从数据库内的任意一个模式中删除任意一个序列 5. SELECT ANY SEQUENCE 会话 1. CREATE SESSION承诺被授权者连接到数据库。该特权对用户账户是必需的,但对软件账户可能是不受欢迎的。 2. ALTER SESSION承诺被授权者执行ALTER SESSIONS语句 3. ALTER RESOURCE COST承诺被授权者修改ORACLE为一个概况中的资源约束运算资源成本的方式。 4. RESTRICTED SESSION承诺数据库在RESTRICTED SESSION模式时连接到数据库,一样是为了治理性目的。 同义词 1. CREATE SYNONYM承诺在自己的对象模式中创建同义词 2. CREATE ANY SYNONYM承诺在任意对象模式中创建新的同义词 3. CREATE PUBLIC SYNONYM承诺被授权者创建新的公用同义词。这些同义词对数据库中的所有用户差不多上可访问的。 4. DROP ANY SYNONYM承诺从任意对象模式中删除任意一个同义词

相关主题
相关文档
最新文档