Oracle用户角色权限等操作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle 赋予权限

转发评论

02月21日13:00

最基础的sqlplus username/password@[sid] 连接数据库

sqlplus username/password as sysdba 以管理员连接数据库

管理员连接后创建用户sqlplus system/manager@demo as sysdba create user abc identified by abc ; 创建用户abc密码为abc

grant all privileges to abc; 给abc用户赋予所有的权限

给自己留个备份以备不时之需

oracle grant

授权语句--select * from dba_users; 查询数据库中的所有用户

--alter user USERNAME account lock; 锁住用户

--alter user USERNAME account unlock; 给用户解锁

--create user USERNAME identified by USERPASS; 建立用户

一般创建用户后需要授予链接数据库权限

grant connect,resource to USERNAME;

--grant create tablespace to USERNAME; 授权创建表空间

--grant SELECT on TABLENAME to USERNAME; 授权查询

授权其他动作格式相同

如果要把所有表的查询权限分配给用户可以用这样的

grant select any table to USERNAME;

--grant execute on procedure1 to xujin 授权存储过程

--grant UPDATE on TABLENAME to USERNAME with grant option; 授权更新权限转移给xujin用户,许进用户可以继续授权;

--收回权限

--revoke select on table1 from xujin1; 收回查询select表的权限;

--revoke all on table1 from xujin;

/*grant connect to xujin;

revoke connect from xujin

grant select on xezf.cfg_alarm to xujin;

revoke select on xezf.cfg_alarm from xujin;*/

--select table_name,privilege from dba_tab_privs where grantee='xujin' 查询一个用户拥有的对象权限

--select * from dba_sys_privs where grantee='xujin' 查询一个用户拥有的系统权限

--select * from session_privs --当钱会话有效的系统权限

--角色

--create role xujin1;--建立xujin1角色

--grant insert on xezf.cfg_alarm to xujin1; 将插入表的信息

--revoke insert on xezf.cfg_alarm from xujin1; 收回xujin1角色的权限

--grant xujin1 to xujin ; 将角色的权限授权给xujin;

-- create role xujin2;

--grant xujin1 to xujin2; 将角色xujin1授权给xujin2;

--alter user xujin default xujin1,xujin2; 修改用户默认角色

-- DROP ROLE xujin1;删除角色1;

--select * from role_sys_privs where role=xujin1;

--查看许进1角色下有什么系统权限;

--select granted_role,admin_option from role_role_privs where role='xujin2'

--查看xujin1角色下面有什么角色权限

--select * from role_sys_privs where role='xujin2'

--select table_name,privilege from role_tab_privs where role='xujin1'

--select * from dba_role_privs where grantee='xujin' --查看用户下面有多少个角色;

======================详解=========================

GRANT

名称GRANT -- 赋予访问权限

语法GRANT { { SELECT | INSERT | UPDATE | DELETE | REFERENCES | TRIGGER } [,...] | ALL [ PRIVILEGES ] }

ON [ TABLE ] tablename [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { USAGE | SELECT | UPDATE }

[,...] | ALL [ PRIVILEGES ] }

ON SEQUENCE sequencename [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] } ON DATABASE dbname [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { EXECUTE | ALL [ PRIVILEGES ] }

ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { USAGE | ALL [ PRIVILEGES ] }

ON LANGUAGE langname [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }

ON SCHEMA schemaname [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { CREATE | ALL [ PRIVILEGES ] }

ON TABLESPACE tablespacename [, ...]

相关文档
最新文档