欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle笔记之对象权限与系统权限总结

程序员文章站 2022-05-17 22:07:41
对象权限与权限 创建表和创建session是系统权限; 系统管理员是有权限去访问其他表的 以sys登录 sqlplus sys/on_change_install as...

对象权限与权限

创建表和创建session是系统权限;

系统管理员是有权限去访问其他表的

以sys登录
sqlplus sys/on_change_install as sysdba;

创建用户wangwu
create user wangwu identified by wangwu;

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

grant create table to public;//把创建表的权限给所有的用户;

撤销系统权限
revoke create session from wangwu;
revoke create table from wangwu;
revoke unlimited tablespace from wangwu;
查看系统权限
select * from user_sys_privs;

以wangwu登录
sqlplus wangwu/wangwu;
创建表mytab
create table mytab(id int,name varchar(20));

对象权限

grant all/select/insert/update/delete on mytab to lisi;
撤销对象权限
revoke all/select/insert/update/delete on mytab from lisi;
查看对象权限
select * from user_tab_privs;

对象权限可以控制到列
grant update(name) on mytab to lisi;
grant insert(id) on mytab to lisi;
查看列权限
select * from user_col_privs;

注意:
查询和删除不可以控制到列


注意点:
1,每一个表都是属于特定的用户的;
2,如果要操作其他用户的表时,需要先授予相应的权限;
3,在访问其他用户的表时,需要加上前缀用户名,如wangwu.mytable
4,对其他用户的表进行插入,更新操作时,需要进行提交(commit),否则表的拥有者不能对表结构进行修改;

谁拥有谁授权,也就是说只有表的拥有者,才有能够把对表操作的权限授予给其他人

public用户指的是所有用户

oracl权限可以对列进行控制,
注意点:但是只能对插入和更新控制到列,查询和删除是不能控制到列的

断开/连接
disconn/conn

alter table mytable add name varchar(10)