oracle 許可權設定
一、許可權分類:
系統許可權:系統規定使用者使用資料庫的許可權。(系統許可權是對使用者而言)。
實體許可權:某種許可權使用者對其它使用者的表或檢視的訪問許可權。(是針對表或檢視而言的)。
二、系統許可權管理:
1、系統許可權分類:
dba: 擁有全部特權,是系統最高許可權,只有dba才可以建立資料庫結構。
resource:擁有resource許可權的使用者只可以建立實體,不可以建立資料庫結構。
connect:擁有connect許可權的使用者只可以登入oracle,不可以建立實體,不可以建立資料庫結構。
對於普通使用者:授予connect, resource許可權。
對於dba管理使用者:授予connect,resource, dba許可權。
2、系統許可權授權命令:
[系統許可權只能由dba使用者授出:sys, system(最開始只能是這兩個使用者)]
授權命令:sql> grant connect, resource, dba to 使用者名稱1 [,使用者名稱2]...;
[普通使用者通過授權可以具有與system相同的使用者許可權,但永遠不能達到與sys使用者相同的許可權,system使用者的許可權也可以被**。]
例:sql> connect system/manager
sql> create user user50 identified by user50;
sql> grant connect, resource to user50;
查詢使用者擁有**許可權:
sql> select * from dba_role_privs;
sql> select * from dba_sys_privs;
sql> select * from role_sys_privs;
刪除使用者:sql> drop user 使用者名稱 cascade; //加上cascade則將使用者連同其建立的東西全部刪除
3、系統許可權傳遞:
增加with admin option選項,則得到的許可權可以傳遞。
sql> grant connect, resorce to user50 with admin option; //可以傳遞所獲許可權。
4、系統許可權**:系統許可權只能由dba使用者**
命令:sql> revoke connect, resource from user50;
系統許可權無級聯,即a授予b許可權,b授予c許可權,如果a收回b的許可權,c的許可權不受影響;系統許可權可以跨使用者**,即a可以直接收回c使用者的許可權。
三、實體許可權管理
1、實體許可權分類:select, update, insert, alter, index, delete, all //all包括所有許可權
execute //執行儲存過程許可權
user01:
sql> grant select, update, insert on product to user02;
sql> grant all on product to user02;
user02:
sql> select * from user01.product;
// 此時user02查user_tables,不包括user01.product這個表,但如果查all_tables則可以查到,因為他可以訪問。
3. 將表的操作許可權授予全體使用者:
sql> grant all on product to public; // public表示是所有的使用者,這裡的all許可權不包括drop。
[實體許可權資料字典]:
sql> select owner, table_name from all_tables; // 使用者可以查詢的表
sql> select table_name from user_tables; // 使用者建立的表
sql> select grantor, table_schema, table_name, privilege from all_tab_privs; // 獲權可以訪問的表(被授權的)
sql> select grantee, owner, table_name, privilege from user_tab_privs; // 授出許可權的表(授出的許可權)
4. dba使用者可以操作全體使用者的任意基表(無需授權,包括刪除):
dba使用者:
sql> create table stud02.product(
id number(10),
name varchar2(20));
sql> drop table stud02.emp;
sql> create table stud02.employee
asselect * from scott.emp;
5. 實體許可權傳遞(with grant option):
user01:
sql> grant select, update on product to user02 with grant option; // user02得到許可權,並可以傳遞。
6. 實體許可權**:
user01:
sql>revoke select, update on product from user02; //傳遞的許可權將全部丟失。
一、建立使用者的profile檔案
sql> create profile student limit // student為資源檔名
failed_login_attempts 3 //指定鎖定使用者的登入失敗次數
password_lock_time 5 //指定使用者被鎖定天數
password_life_time 30 //指定口令可用天數
二、建立使用者
sql> create user username
identified by password
default tablespace tablespace
temporary tablespace tablespace
profile profile
quota integer/unlimited on tablespace;
例:sql> create user acc01
identified by acc01 // 如果密碼是數字,請用雙引號括起來
default tablespace account
temporary tablespace temp
profile default
quota 50m on account;
sql> grant connect, resource to acc01;
[*] 查詢使用者預設表空間、臨時表空間
sql> select username, default_tablespace, temporary_tablespace from dba_users;
[*] 查詢系統資源檔名:
sql> select * from dba_profiles;
資源檔案類似表,一旦建立就會儲存在資料庫中。
sql> select username, profile, default_tablespace, temporary_tablespace from dba_users;
sql> create profile common limit
failed_login_attempts 5
idle_time 5;
sql> alter user acc01 profile common;
三、修改使用者:
sql> alter user 使用者名稱
identified 口令
default tablespace tablespace
temporary tablespace tablespace
profile profile
quota integer/unlimited on tablespace;
1、修改口令字:
sql>alter user acc01 identified by "12345";
2、修改使用者預設表空間:
sql> alter user acc01 default tablespace users;
3、修改使用者臨時表空間
sql> alter user acc01 temporary tablespace temp_data;
4、強制使用者修改口令字:
sql> alter user acc01 password expire;
5、將使用者加鎖
sql> alter user acc01 account lock; // 加鎖
sql> alter user acc01 account unlock; // 解鎖
四、刪除使用者
sql>drop user 使用者名稱; //使用者沒有建任何實體
sql> drop user 使用者名稱 cascade; // 將使用者及其所建實體全部刪除
*1. 當前正連線的使用者不得刪除。
五、監視使用者:
1、查詢使用者會話資訊:
sql> select username, sid, serial#, machine from v$session;
2、刪除使用者會話資訊:
sql> alter system kill session 'sid, serial#';
3、查詢使用者sql語句:
sql> select user_name, sql_text from v$open_cursor;
oracle資料庫使用者管理
執行 cmd 按如下輸入命令 sqlplus as sysdba 以sys登陸 超級使用者 sysdba alter user 使用者名稱 account unlock 解除鎖定 必須帶 號 alter user 使用者名稱 identified 密碼 修改密碼 然後用你改好的密碼登陸就行 如果可以...
Oracle資料庫的使用者管理
oracle安裝會自動的生成sys使用者和system使用者 1 sys使用者是超級使用者,具有最高許可權,具有sysdba角色,有create database的許可權。該使用者預設的密碼是manager 2 system使用者是管理操作員,許可權也很大,具有sysoper角色,沒有create ...
ORACLE資料庫管理 pdb使用者 許可權管理
1 common users普通使用者 使用者名稱以c 或c 開頭 僅建立在cdb層 建立在pdb層會報錯ora 65094 invalid local user or role name create user c test identified by test container all gra...