1. 程式人生 > >Oracle 資料庫使用者(user)的建立、刪除以及授予許可權

Oracle 資料庫使用者(user)的建立、刪除以及授予許可權

----------------------------------------------------
-----------Oracle 資料庫使用者建立學習
----------------------------------------------------
--建立使用者,如同在網咖開機子一樣,保護自身系統的安全性的同時,有簡化了自己的操作(系統使用者有很多繁雜的表)
--預設使用者
/*
 使用者名稱 密碼
 sys  安裝時確認
 system manager
 scott tiger
 注:Oracle10g 後的版本sys和system都是安裝時設定的,而scott是預設鎖定的
*/
create user user_name identified by password;
--詳解:
/*
 建立一個使用者名稱稱為user_name,密碼為password的使用者;
 注:密碼必須由字母開頭
  如果以數字或其他符號開頭會出現錯誤:ORA-00988: 口令缺失或無效
  如果以下劃線“_”開頭會出現錯誤:ORA-00911: 無效字元

*/

drop user user_name [cascade];
--詳解
/*
 drop user user_name;
  僅僅刪除使用者
 drop user user_name cascade;
  刪除使用者的同時,刪除此使用者名稱下所有的
  使用cascade引數可以刪除該使用者的全部objects。
   1、如果使用者的schema中有表,則在刪除表的時候自動刪除與該表相關的主鍵和外來鍵。
   2、如果使用者的schema中有表,則在刪除表的時候自動刪除與該表相關的索引。
   3、刪除使用者時,下列在其他使用者中的objects不會被刪除,只會被置為無效
   4、其他使用者建立的基於被刪除使用者的物化檢視不會被刪除,只是不能在重新整理了。
   5、使用者模式下的所有觸發器全部被刪除
   6、被刪除使用者建立的其他使用者不會被刪除
*/

--賦予使用者許可權(c初始使用者沒有許可權,連進入該使用者都不可能)
 grant connect,resource,dba to user_name;
  --一般授予以上許可權就可以了
--1、三個常用的系統許可權的賦予語句:
--格式:grant 系統許可權 to { public | role | username };
    grant create session to lisi;
  --建立會話許可權,可以進入使用者進行相關資料庫操作
    grant create table to lisi;
  --建立表的許可權
    grant unlimited tablespace to lisi;
  --使用表空間的許可權
    grant create session to public;
  --對所有使用者授予建立會話許可權,public代表所有使用者
 --刪除以上許可權,不做解釋
  revoke create session from lisi;
  revoke create table from lisi;
  revoke unlimited tablespace from lisi;
--2、建立常用的物件許可權

--示例
 --建立使用者,並制定表空間
 create user username identified by password
  default tablespace test_data
  temporary tablespace test_temp;
 --給使用者授予許可權
 grant
  create session, create any table, create any view ,create any index, create any procedure,
  alter any table, alter any procedure,
  drop any table, drop any view, drop any index, drop any procedure,
  select any table, insert any table, update any table, delete any table
  to username;