系统权限和对象权限

版本 Oracle 9

3个默认用户

用户名  默认密码                     角色
sys    change_on_install       网络管理员最高权限
system  manager                  普通管理员
scott   tiger                   普通用户

================================================================


登录:

命令行:
C:\>sqlplus / as sysdba  " / " 号代表默认的 sys 用户登录

C:\>sqlplus lisi/123 以用户名 lisi 密码为 123 的用户登录

================================================================

创建一个用户:

create user lisi identified by 123; 意为创建一个名为 lisi 密码为 123的用户

授权系统权限 :

1: 登录会话权限

grant create session to lisi;

2: 创建表权限

grant create table to lisi ;

3: 不受限制表空间使用权限

grant unlimited tablespace to lisi;




删除相关用户系统权限

revoke create session from lisi ; //删除会话权限
revoke create table from lisi ; //删除创建表权限
revoke unlimited tablespace from lisi ;//删除表空间使用权限

==============================================================

如果一个用户要使用另一个用户的表,这就需要表拥有者授权给使用者,原则就是谁拥有这个表
谁授权.

如: zhangsan 这个用户要使用上面 lisi 用户的 userinfo 这个表,那么这就需要lisi给 zhangsan 授予相关权限:

授予查询权限;

首先当前登录用户为 lisi ,

grant select on userinfo to zhangsan; //授予zhangsan对userinfo表的查询权

grant insert on userinfo to zhangsan; //查询

grant delete on userinfo to zhangsan ;//删除

grant update on userinfo to zhangsan;//更新

如果要授予 userinfo 表所有权限给zhangsan

grant all on userinfo to zhangsan ;

-------------

删除权限:

revoke select on userinfo from zhangsan;
revoke update on userinfo from zhangsan ;
revoke delete on userinfo from zhangsan ;
revoke insert on userinfo from zhangsan ;

revoke all on userinfo from zhangsan ;

另外,对象权限可以控制到列:

如 zhangsan 只能更新 userinfo 表中的 name 列

grant update(name) on userinfo to zhangsan;

或只能插入性别 sex

grant insert(sex) on userinfo to zhangsan ;

注意:查询和删除不能控制到列
==============================================
查看当前用户具有哪些权限:

查看系统权限:
select * from sys_user_privs;

查看对象权限:

表:
select * from sys_tab_privs;

列:
select * from sys_col_privs ;



oracle 默认为手动提交,所有增删改事务须使用 commit; 手动提交;

你可能感兴趣的:(oracle,C++,c,C#)