Oracle 使用者管理

2021-06-09 00:46:55 字數 4254 閱讀 7268

oracle 使用者管理

一、建立使用者的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;

一、何為角色

角色。角色是一組許可權的集合,將角色賦給乙個使用者,這個使用者就擁有了這個角色中的所有許可權。

二、系統預定義角色

預定義角色是在資料庫安裝後,系統自動建立的一些常用的角色。下介簡單的介紹一下這些預定角色。角色所包含的許可權可以用以下語句查詢:

sql>select * from role_sys_privs where role='角色名';

1.connect, resource, dba

這些預定義角色主要是為了向後相容。其主要是用於資料庫管理。oracle建議使用者自己設計資料庫管理和安全的許可權規劃,而不要簡單的使用這些預定角色。將來的版本中這些角色可能不會作為預定義角色。

2.delete_catalog_role, execute_catalog_role, select_catalog_role

這些角色主要用於訪問資料字典檢視和包。

3.exp_full_database, imp_full_database

這兩個角色用於資料匯入匯出工具的使用。

4.aq_user_role, aq_administrator_role

aq:advanced query。這兩個角色用於oracle高階查詢功能。

5. snmpagent

用於oracle enterprise manager和intelligent agent

6.recovery_catalog_owner

用於建立擁有恢復庫的使用者。關於恢復庫的資訊,參考oracle文件《oracle9i user-managed backup and recovery guide》

三、管理角色

1.建乙個角色

sql>create role role1;

2.授權給角色

sql>grant create any table,create procedure to role1;

3.授予角色給使用者

sql>grant role1 to user1;

4.檢視角色所包含的許可權

sql>select * from role_sys_privs;

5.建立帶有口令以角色(在生效帶有口令的角色時必須提供口令)

sql>create role role1 identified by password1;

6.修改角色:是否需要口令

sql>alter role role1 not identified;

sql>alter role role1 identified by password1;

7.設定當前使用者要生效的角色

(注:角色的生效是乙個什麼概念呢?假設使用者a有b1,b2,b3三個角色,那麼如果b1未生效,則b1所包含的許可權對於a來講是不擁有的,只有角色生效了,角色內的許可權才作用於使用者,最大可生效角色數由引數max_enabled_roles設定;在使用者登入後,oracle將所有直接賦給使用者的許可權和使用者預設角色中的許可權賦給使用者。)

sql>set role role1;//使role1生效

sql>set role role,role2;//使role1,role2生效

sql>set role role1 identified by password1;//使用帶有口令的role1生效

sql>set role all;//使用該使用者的所有角色生效

sql>set role none;//設定所有角色失效

sql>set role all except role1;//除role1外的該使用者的所有其它角色生效。

sql>select * from session_roles;//檢視當前使用者的生效的角色。

8.修改指定使用者,設定其預設角色

sql>alter user user1 default role role1;

sql>alter user user1 default role all except role1;

詳見oracle參考文件

9.刪除角色

sql>drop role role1;

角色刪除後,原來擁用該角色的使用者就不再擁有該角色了,相應的許可權也就沒有了。

說明:1)無法使用with grant option為角色授予物件許可權

2)可以使用with admin option 為角色授予系統許可權,取消時不是級聯

Oracle使用者管理

1.建立使用者 概述 在oracle中要建立乙個新的使用者,使用create user語句,一般是具有dba的許可權才能使用。用法 create user 使用者名稱 identified by 密碼。案例 create user skycloud identified by skycloud 2....

Oracle 使用者管理

create user hywin identified by hywin 建立使用者 password 使用者名稱 修改密碼 alter user 使用者名稱 identified by 新密碼 drop user 使用者名稱 cascade 刪除使用者時,如使用者已經建立了表,那麼就需要在刪除時...

Oracle 使用者管理

1.建立使用者 create user ok identified by ok grant create session to ok 2.修改使用者密碼 alter user ok identified by ok1 3.檢視使用者資訊 select from dba users 4.找出和使用者相...