PL/SQL DBA 創建用戶權限
1、创建新用户
2. 給用戶開通權限命令:
Grant
Createsession,create table,select any table,update any table,insertany
table,delete any table To user_name
或
Grant
Connect,createtable,select any table,update any table,insert any
table,delete any table To user_name
注: 創建新用戶時 create session或connect 必需創建,否則 用户无法登陆PL/SQL;
create session与connect的区别:
create session 是权限,connect是角色,当查询用户权限时,权限可以看到,而角色是看不到的!
3、给用户开通个别表权限
4. 刪除用戶權限命令:
Revoke
createtable,select any table,update any table,insert anytable,delete
any table,sysdab
From user_name
5、 查詢用戶權限:
显示已被授予的全部对象特权:Select * From sys.dba_sys_privs
显示已被授予權限的用戶特权:
Select * From sys.dba_sys_privs a Where A.grantee='username';
6、查詢當前運行的SQL 語句
Select a.machine, a.program, B.piece, b.sql_text
From v$session a, v$sqltext b, v$process c
Where a.paddr = c.addr
and a.sql_hash_value = b.hash_value
Order by B.piece;
7、移除不用的用户
8、创建角色
除了前面讲到的三种系统角色----connect、resource和dba,用户还可以在oracle创建自己的role。用户创建的role可以由表或系统权限或两者的组合构成。为了创建role,用户必须具有createrole系统权限。下面给出一个create role命令的实例:
create role student;
这条命令创建了一个名为student的role。
一旦创建了一个role,用户就可以给他授权。给role授权的grant命令的语法与对对用户的语法相同。在给role授权时,在grant命令的to子句中要使用role的名称,如下所示:
grant select on class to student;
现在,拥有student 角色的所有用户都具有对class表的select权限。
9、删除角色
要删除角色,可以使用drop role命令,如下所示:
drop role student;
指定的role连同与之相关的权限将从数据库中全部删除。