create user TEST identified by "TEST" --建立TEST使用者
default tablespace USERS
temporary tablespace TEMP
profile DEFAULT;
grant connect,create view ,resource to TEST;
grant unlimited tablespace to TEST;
--管理員授權
grant create session to TEST;--授予TEST使用者建立session的許可權,即登陸許可權
grant unlimited session to TEST;--授予TEST使用者使用資料表空間的許可權
grant create table to TEST;--授予建立表的許可權
grant drop table to TEST;--授予刪除表的許可權
grant insert table to TEST;--插入表的許可權
grant update table to TEST;--修改表的許可權
grant all to public;--這條比較重要,授予所有許可權(all)給所有使用者(public)
--oralce對許可權管理比較嚴謹,普通使用者之間也是預設不能互相訪問的
grant select on tablename to TEST;--授予TEST使用者查看指定表的許可權
grant drop on tablename to TEST;--授予刪除表的許可權
grant insert on tablename to TEST;--授予插入的許可權
grant update on tablename to TEST;--授予修改表的許可權
grant insert(id) on tablename to TEST;
grant update(id) on tablename to TEST;--授予對指定表特定欄位的插入和修改許可權,注意,只能是insert和update
--撤銷許可權
基本文法同grant,關鍵字為revoke
--查看許可權
select * from user_sys_privs;--查看目前使用者所有許可權
select * from user_tab_privs;--查看所用使用者對錶的許可權
--動作表的使用者的表
/*需要在表名前加上使用者名稱,如下*/
--許可權傳遞
即使用者A將許可權授予B,B可以將操作的許可權再授予C,命令如下:
grant alert table on tablename to TEST with admin option;--關鍵字 with admin option
grant alert table on tablename to TEST with grant option;--關鍵字 with grant option效果和admin類似
--角色
角色即許可權的集合,可以把一個角色授予給使用者
create role myrole;--建立角色
grant create session to myrole;--將建立session的許可權授予myrole
grant myrole to TEST;--授予TEST使用者myrole的角色
drop role myrole;刪除角色
/*但是有些許可權是不能授予給角色的,比如unlimited tablespace和any關鍵字*/