您的位置:首页 > 数据库 > Oracle

ORACLE创建用户 管理用户常用语句

2009-11-25 10:33 453 查看
http://www.ok3g.cn/Html/141.html

创建用户的过程

1创建用户

Create user 用户名 identified by 密码;

(如果是数字则要加双引号”<st1:chmetcnv w:st="on" unitname="”" sourcevalue="111111" hasspace="False" negative="False" numbertype="1" tcsc="0">111111”</st1:chmetcnv>,如果是字母就不用)

2授权给某个用户

Grant connect,resource to 用户名;(只有用户有了connect 和 resource后才能操作其他表)

3授DBA 权限

Grant dba to 用户名;

4撤权:
revoke 权限... from 用户名;

举例

用默认用户名密码system/manager登陆创建新用户:

create user test1 identified by test1;
grant connect,resource to test1;

查看Oracle用户权限的部分语句

1.查看所有用户

select * from all_users; -------查看所有的用户

select * from user_users; --------查看当前用户

2.查看用户或角色系统权限:

select * from user_sys_privs; --------查看当前用户的权限

select * from DBA_sys_privs where GRANTEE ='EB_ETL' --------查看某个用户的权限

3.查看角色所包含的权限

SELECT * FROM ROLE_ROLE_PRIVS;

select * from role_sys_privs; -------

select * from role_sys_privs WHERE ROLE LIKE 'CONNECT'; --查询connect角色的权限

select * from role_sys_privs WHERE ROLE LIKE 'RESOURCE'; --查询 RESOURCE角色的权限

SELECT * FROM ROLE_ROLE_PRIVS WHERE ROLE LIKE 'CONNECT';

SELECT * FROM ROLE_ROLE_PRIVS WHERE ROLE LIKE 'RESOURCE';

4.查看用户对象权限

select * from all_tab_privs; --------查看所用的用户的可操作表权限

select * from user_tab_privs; --------查看当前用户的表可操作权限

5.查看用户或角色所拥有的角色

select * from user_role_privs; ------查看当前用户的角色

select * from DBA_role_privs; ------查看当前用户的角色

select * from DBA_role_privs WHERE GRANTEE ='EB_ETL' ; ------查看某个用户的角色

实际应用的例子

创建一个只读的Oracle用户

grant connect to username
grant select any table to username
当然 ,这个权限还是不能select sys用户下的表的

因为sys是数据字典的拥有者,要select sys下的所有对象,必须有select any dictionary的权限

备注:

一般情况下创建用户都会赋予grant connect to username权限,甚至grant connect,resource to username;

但connect包含了alter session权限,认为不是非常安全,也可以修改成以下的形式.

grant create session to user;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: