Oracle 用户,角色,权限概述

来源:互联网 发布:做java程序员 编辑:程序博客网 时间:2024/05/17 21:48

--=============================

--author:_yeeXun

--date:发表于 @2010年12月26日 10:01:00

--address:Jau 17-304

--==============================

在建立用户时,oracle会把用户的信息存放到数据字典中,当给用户授予权限或角色时,oracle会将权限和角色的信息存放到数据字典。

通过查询dba_users可显示所有数据库用户的详细信息。

通过查询数据字典视图dba_sys_privsx,可显示用户所具有的系统权限。

通过查询数据字典视图dba_tab_privs,可显示用户具有的对象权限。

通过查询数据字典dba_col_privs,可显示用户具有的列权限。

通过查询数据库字典视图dba_role_privs,可显示用户具有的角色。

 

角色和权限的关系

一个角色拥有许多权限,角色有权限构成。

权限分两种:

1.对象权限:

a) 查询oracle中所有对象权限,一般是dba

sql> Select  distinct  privilege  from dba_tab_privs;

2.系统权限:针对数据库系统而言的。

a) 查询oracle中所有的系统权限,一般是dba

sql Select  * from system_privilege_map order by name;

?查看一個角色包含的权限

a).一個角色包含的系統權限

Sql> select  * from dba_sys_privs where grantee='DBA';

或者

Sql> select  * from role_sys_privs where role='DBA';

这里的DBA代表你要查询的角色名,可以是CONNECT,RESOURCE,DBA,...

b).一个角色包含的对象权限

Sql> select  * from dba_tab_privs where grantee='角色名';

?oracle有多少中角色

Select  * from dba_roles;(system省份登录,即可查看)

?如何查看某个用户,具有什么角色

   Select  * from dba_role_privs where grantee='用户名';

   用戶名:scottsyssystem......

显示当前用户可以访问的所有数据字典视图

Select  * from  dict  where comments  like '%grant%';

显示当前数据库的全称

SQL> select * from global_name;

GLOBAL_NAME

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

ORACL.REGRESS.RDBMS.DEV.US.ORACLE.COM

红色部分是域名

 

其他说明

数据字典主要是用来查询数据库系统级别的信息。通过查询数据字典可以获取一下系统信息:

1.对象定义情况

2.对象占用空间大小

3.列信息

4.约束信息

5.同义词

......

--the end--

原创粉丝点击