合理的使用者和許可權管理對於資料庫系統的高效、安全、可靠是很關鍵的。oracle在使用者及許可權管理上有許多新的概念和特性。
說明:對使用者及許可權的管理需要進入sql*plus互動工具。每乙個sql語句後要以分號「;」結束。退出互動工具命令為:quit
sql命令語句及可選項不區分大小寫,本文中出現大寫的地方是強調作用。
每個oracle資料庫都有許多合法使用者,這些使用者可以根據使用者名稱和口令登入資料庫,並使用sql語言訪問資料。
(1) 建立使用者
建立使用者命令格式
說 明create user 使用者名稱;
建立使用者的操作必須由dba來做,一般使用者無權建立使用者。使用者名稱必須是唯一的,即同一資料庫中不能有兩個相同的使用者。
identified by 口令;
為使用者設定口令
default tablespace 表空間名;
表示該使用者存放資料的預設表空間
temporary tablespace 表空間名;
表明使用者使用的預設臨時表空間名
quota 大小 on 表空間名;
quota 可以限制使用者在某個表空間上最多可使用多少位元組
profile 資源檔案;
profile 為使用者指定各種資源的使用
下面是乙個建立使用者的完整例子:
create user scott;
identified by tiger;
default tablespace data_ts;
temporary tablespace temp_ts;
quota 500k on data_ts;
profile newprofile;
(2) 修改使用者
對使用者的修改包括:口令字、預設表空間、臨時表空間、表空間限量、profile、預設角色。角色是oracle7的乙個新概念,我們在「許可權管理」裡再討論。在這裡可把角色看成具有某些許可權的乙個特殊使用者。修改使用者的預設角色也就是為使用者指明另乙個許可權的集合。下面舉例說明修改使用者的操作:
任 務
命 令
將scott的口令改為hello
alter user scott identified by hello;
將scott的預設表空間改為data2_ts
alter user scott default tablespace data2_ts;
將scott的臨時表空間修改為temp2_ts
alter user scott temporary tablespace temp2_ts;
將scott的資源檔案改為otherprofile
alter user scott profile otherprofile;
將scott的預設角色改為developer
alter user scott default role developer;
將當前系統所有角色都授予scott,除payroll外
alter user scott default role all except payroll;
(3) 刪除使用者
刪除使用者的命令為:
drop user 使用者名稱 [cascade];
若不使用cascade選項,則必須在該使用者的所有實體都刪除之後,才能刪除該使用者。使用cascade後,則不論使用者實體有多大,都一併刪除。
oracle的安全機制,是由系統許可權、實體許可權和角色許可權這**體系結構組成的。
許可權型別
說 明
系統許可權
是指對資料庫系統及資料結構的操作權,例如建立/刪除使用者、表、同義詞、索引等等
實體許可權
是指使用者對資料的操作權,如查詢、更新、插入、刪除、完整性約束等等
角色許可權
是把幾個相關的許可權組成角色,角色之間可以進一步組合而成為一棵層次樹,以對應於現實世界中的行政職位。角色許可權除了限制操作權、控制權外,還能限制執行某些應用程式的許可權。
這樣的安全控制體系,使得整個系統的管理人員及程式開發人員能控制系統命令的執行、資料的操作及應用程式的執行。
(1) 系統許可權
系統許可權的授予命令為grant,例如把建立任何表檢視的許可權授予scott使用者:
grant create any view to scott;
系統許可權的**命令為revoke,例如將create any view 許可權從scott使用者手中收回:
revoke create any view from scott;
(2) 實體許可權
每種型別的實體有與之相關的實體許可權。
授予實體許可權的命令舉例(將emp表上的select和insert許可權授給scott):
grant select,insert on emp to scott;
**實體許可權的命令舉例(將emp表上的select許可權從scott手中**):
revoke select on emp from scott;
(3) 管理角色
角色是許多許可權和角色的組合,它極大地方便了oracle的許可權管理。
建立角色,如建立乙個名為dept1的角色,口令字為hello:
create role dept1 identified by hello;
使用角色,可以通過修改使用者的預設角色來使用角色,或通過授權的方法來將角色授予其它角色或使用者。如將scott使用者的預設角色修改為developer:
alter user scott default role developer;
將角色dept1授予manager角色:
grant manager to scott;
使角色生效或失效,dba可以通過控制角色的生效或失效,來暫時**使用者的一部分許可權。如使dept1角色失效:
set role dept1 disable;
刪除角色,這將會影響到擁有該角色的使用者和其它角色的許可權。用drop role命令刪除角色,如:
drop role dept1;
oracle使用者許可權及角色
每個oracle使用者都有乙個名字和口令,並擁有一些由其建立的表 檢視和其他資源。oracle角色 role 就是一組許可權 privilege 或者是每個使用者根據其狀態和條件所需的訪問型別 使用者可以給角色授予或賦予指定的許可權,然後將角色賦給相應的使用者。乙個使用者也可以直接給其他使用者授權。...
Oracle建立使用者 角色和許可權
我們來看看在我們學習過程中一般的使用者如何建立,分配何種角色和許可權。1 我們只需要對 資料庫 進行簡單的維護和開發操作,最好不要用sys或system使用者。最簡單的建立新使用者的命令 create user 使用者名稱 identified by 口令 2 一般現在分配給使用者以下許可權 1 c...
Oracle使用者 許可權及角色管理
1.oracle使用者 oracle使用者,既可以登入oracle資料庫,對資料庫進行增刪改查等操作的使用者。主要有四種使用者 超級管理員,如sys 普通管理員,如system 普通使用者,如scott 大資料使用者 1.1.建立使用者 語法 建立使用者 create user 使用者名稱 iden...