<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->
--=============================
--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> Selectdistinctprivilegefromdba_tab_privs;
2. 系统权限:针对数据库系统而言的。
a) 查询oracle 中所有的系统权限,一般是 dba
sql Select*fromsystem_privilege_maporderbyname;
?查看一個角色包含的权限
a) .一個角色包含的系統權限
Sql>select*fromdba_sys_privswheregrantee= ' DBA ';
或者
Sql>select*fromrole_sys_privswhererole=' DBA';
这里的DBA 代表你要查询的角色名,可以是 CONNECT,RESOURCE,DBA,...
b) .一个角色包含的对象权限
Sql>select*fromdba_tab_privswheregrantee='角色名 ';
?oracle有多少中角色
Select*fromdba_roles; (用 system 省份登录,即可查看 )
?如何查看某个用户,具有什么角色
Select*fromdba_role_privswheregrantee='用户名 ';
用戶名:scott , sys , system , ......
显示当前用户可以访问的所有数据字典视图
Select*fromdictwherecommentslike'%grant%';
显示当前数据库的全称
SQL>select*fromglobal_name;
GLOBAL_NAME
----------------------------------------
ORACL.REGRESS.RDBMS.DEV. US.ORACLE.COM
红色部分是域名
其他说明
数据字典主要是用来查询数据库系统级别的信息。通过查询数据字典可以获取一下系统信息:
1. 对象定义情况
2. 对象占用空间大小
3. 列信息
4. 约束信息
5. 同义词
......
--the end--
本文介绍了Oracle数据库中用户权限和角色的基本概念,包括如何查询不同类型的权限和角色,以及如何查看用户被授予的具体角色信息。
3671

被折叠的 条评论
为什么被折叠?



