Chinaunix首页 | 论坛 | 博客
  • 博客访问: 183166
  • 博文数量: 41
  • 博客积分: 2222
  • 博客等级: 大尉
  • 技术积分: 435
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-10 11:19
文章分类

全部博文(41)

文章存档

2011年(5)

2010年(36)

我的朋友

分类: Oracle

2010-08-24 11:50:49

ORACLE中数据字典视图分为3大类,用前缀区别,分别为:USER,ALL 和 DBA,许多数据字典视图包含相似的信息。

其中,USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息

ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息

DBA_*:有关整个数据库中对象的信息

(这里的*可以为TABLES, INDEXES, OBJECTS, USERS等。

1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;   //包括该用户的一些账户信息,如缺省(临时)表空间,账号状态等
2.查看用户系统权限:
select * from dba_sys_privs; //查询某个用户所拥有的系统权限

如:select * from dba_sys_privs where grantee='XXX'

select * from user_sys_privs;//USER_SYS_PRIVS当前用户所拥有的系统权限

select * from SESSION_PRIVS;//session_privs 当前用户所拥有的全部权限


3.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;


4.查看角色:
select * from dba_roles;

ROLE_SYS_PRIVS: 某个角色所拥有的系统权限

 注意: 要以SYS用户登陆查询这个视图,否则返回空.

  ROLE_ROLE_PRIVS: 当前角色被赋予的角色

  SESSION_ROLES: 当前用户被激活的角色

  USER_ROLE_PRIVS: 当前用户被授予的角色

   如:select privilege from role_sys_privs where role=&role   //列如:role='CONNECT'




5.查看用户所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;

6.查看当前用户的缺省表空间
select username,default_tablespace from user_users;

7.查看某个角色的具体权限,如grant connect,resource,create session,create view to TEST;查看RESOURCE具有那些权限,用

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE';

8.用户密码修改
即使用:grant sysdba to tangxm;
select * from v$pwfile_users;   --检查哪些用户具有SYSDBA权限
对SYSDBA用户需要在两个节点上修改密码,然后才能正常使用
alter user tangxm identified by 123;
对普通用户只用在一个节点修改
alter user test identified by 123;   
阅读(1114) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-08-26 14:21:19

Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com