你是否对获得Oracle对象的权限的实际操作感到十分头疼?如果是这样子的话,以下的文章将会给你相应的解决方案,以下的文章主要是介绍获得Oracle权限的方案,即,通过TABLE FUNCTION获得Oracle权限。
专注于为中小企业提供成都网站设计、网站建设、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业南丹免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
系统权限 角色权限 ,Oracle提供了以DBA_* ROLE_* SESSION_* 等开头的系统视图供用户查询权限分配的信息,我们也可以通过OEM等其他工具来得到这些权限,在这里我们如果通过TABLE FUNCTION来获得这些Oracle权限.
声明:由于获得权限需要系统视图的支持,我们需要dba_sys_privs,dba_role_privs,role_sys_privs,role_tab_privs,dba_tables有读Oracle权限,当然,可以把下面的包建立在sys用户下面,也可以通过授权模式在其他用户上使用.
创建包:
1:创建对象
- SQL>create type PrivsList is table of varchar2(4000);
- SQL>/
2:创建包
包中只列举了一些常用的获得Oracle权限的功能
create or replace package ManPrivs is
—Author : LIYAN
—Created : 2009-8-26 10:06:18
—Purpose :
执行此包中过程需要对dba_sys_privs,dba_role_privs,role_sys_privs,role_tab_privs,dba_tables有读权限
并且拥有DBA授权能力
建议系统权限以及角色权限授权、权限回收操作使用OEM完成
查询角色包含角色权限建议使用OEM完成
- Function ListTabPrivs(ObjOwner varchar2 ,
ObjName varchar2 default null, Privs varchar2 default null,
IsRevoke varchar2 default ‘N’,- Grantee varchar2 default null) return PrivsList pipelined;
查看对象的表格Oracle权限
- Example:
- select * from table(manprivs.ListTabPrivs(‘sh,hr’,“,‘select,update,delete,insert’,'N‘,'PUBLIC’));
- */
- Function ListSysPrivs(ObjOwner varchar2 default null) return PrivsList pipelined;
产看对象的系统权限
- Example:
- select * from table(ManPrivs.ListSysPrivs(‘sh,hr’));
- */
- Function ListRolePrivs(ObjOwner varchar2 default null) return PrivsList pipelined ;
查看对象的角色Oracle权限
- Example:
- select * from table(ManPrivs.ListRolePrivs(‘sh,hr’));
- */
- Function ListRoleSysPrivs(ObjOwner varchar2 default null) return PrivsList pipelined ;
查看对象拥有角色的系统权限
- Example:
- select * from table(ManPrivs.ListRoleSysPrivs(‘sh,hr’));
- */
- Function ListRoleTabPrivs(ObjOwner varchar2 default null) return PrivsList pipelined ;
查看对象拥有角色的表格权限
- Example:
- SELECT * fROM TABLE(MANPRIVS.ListRoleTabPrivs(‘SH,HR’))
- */
- Function ListRoleRolePrivs(ObjOwner varchar2 default null) return PrivsList pipelined ;
- Procedure RevokeTabPrivs(ObjOwner varchar2, ObjName varchar2 default null, Privs varchar2 default null,
- Grantee varchar2 default null);
回收对象的表格Oracle权限
- Example:
- Execute ManPrivs.RevokeTabPrivs(‘HR’,“,”,‘PUBLIC’)
- */
- Procedure GrantTabPrivs(ObjOwner varchar2, ObjName varchar2, Privs varchar2,
- Grantee varchar2);
对特定的对象进行授予特殊Oracle权限
- Example:
- Execute ManPrivs.GrantTabPrivs(‘hr’,'jobs‘,’select,update,insert‘,'public’)
- */
- end ManPrivs;
上述的相关内容就是对通过TABLE FUNCTION获得Oracle权限的描述,希望会给你带来一些帮助在此方面。
【编辑推荐】
本文名称:获得Oracle权限的TABLEFUNCTION实操
链接URL:http://www.gawzjz.com/qtweb/news29/164079.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联