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

时间:2024-04-02 18:03:07

对象权限与系统权限

创建表和创建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,在訪问其它用户的表时,须要加上前缀username,如wangwu.mytable

4,对其它用户的表进行插入,更新操作时,须要进行提交(commit),否则表的拥有者不能对表结构进行改动;



谁拥有谁授权,也就是说仅仅有表的拥有者,才有可以把对表操作的权限授予给其它人



public用户指的是全部用户



oracl权限能够对列进行控制,

注意点:可是仅仅能对插入和更新控制到列,查询和删除是不能控制到列的



断开/连接数据库

disconn/conn



alter table mytable add name varchar(10)