oracle权限管理

来源:互联网 发布:mud游戏制作软件 编辑:程序博客网 时间:2024/05/17 13:10

创建用户

 

create user 用户名

identified by 密码

default tablespace 表空间

temporary tablespace 表空间

quoat 整数 K|M |unlimited on 表空间

 

限制用户

用户加锁 alter user 用户名 account lock;

用户解锁 alter user 用户名 account unlock;

用户口令即刻失效

alter user 用户名password expire

 

删除用户

drop user 用户名 cascade

 

create user lisi identified by lisi;

 

显示当前用户:show user;

 

系统权限
grant create session to lisi;
grant create table to lisi;
grant unlimited tablespace to lisi;

 

revoke create session from lisi;
revoke create table from lisi;
revoke unlimited tablespace from lisi;

 

把create session的权限授于所有用户,public 代表所有用户
grant create session to public;

 

查看当前用户拥有哪些系统权限
select * from user_sys_privs;

 


对象权限
grant select on mytab to lisi;
grant all on mytab to lisi;

 

revoke select on mytab from lisi;
revoke all on mytab from lisi;

 

把对mytab表的select权限授于所有用户,public 代表所有用户
grant select on mytab to public;

 

查看当前用户拥有哪些对象权限
select * from user_tab_privs;

 

其中对象权限可以控制到列
grant update(name) on mytab to lisi;
grant insert(name) on mytab to lisi;
注意:查询和删除不能控制到列

 

查看当前用户控制到列的对象权限
select * from user_col_privs;

 

 

权限的传递
传递系统权限需要使用with admin option
grant alter any table to wangwu with admin option;
这时候wangwu就可以将alter any table这个权限传递给其它用户。

传递对象权限需要使用with grant option
grant select on my to wangwu with grant option;
这时候wangwu就可以将select on my这个权限传递给其它用户。

 

角色
角色是一些权限的集合
create role myrole;
grant create session to myrole;
drop role myrole;

 

将角色授于用户
grant myrole to zhangsan
注意:有些系统权限无法直接赋于角色,如unlimited tablespace。
此外,表是属于某个用户的,而角色不属于任何用户(不管由谁创建)。

 

对一些权限的理解:
系统中有create table权限,但没有alter table,drop table,delete table 权限;
系统中有create any table 权限,同时也有alter any table,drop any

table,delete any table 权限。
“any”指我们可以在其它用户下的表对表进行创建,对表结构进行修改,删除表结

构及数据,删除表数据。例如,拥有create any table 权限的用户可以在lisi(其

它)用户下创建一个表。等操作。

 

数据库的三种验证机制
oracle默认采用操作系统验证
密码文件验证
数据库验证

 

linux下oracle启动的过程
lsnrctl start
//sqlplus sys/oracle as sysdba
sqlplus /nolog
conn sys/oracle as sysdba
startup

windows下oracle启动过程
lsnrctl start
oradim -startup -sid orcl