Oracle使用者管理

2021-05-22 21:47:44 字數 3447 閱讀 2130

1.  建立使用者

概述:在oracle中要建立乙個新的使用者,使用create user語句,一般是具有dba的許可權才能使用。

用法:create user 使用者名稱 identified by 密碼。

案例:create user skycloud identified by skycloud;

2.  修改密碼

概述:如果修改自己的密碼,使用 passw 使用者名稱 語句。如果修改其他使用者的密碼,需要具有dba的許可權,或是具有alter user的系統許可權,使用 alter user 使用者名稱 identified by 新密碼。

3.  刪除使用者

概述:一般以dba的身份去刪除某個使用者,如果用其他使用者去刪除使用者則需要具有 drop user 的許可權。如果要刪除的使用者已經建立了表,那麼就需要在刪除時帶乙個 cascade 引數。

用法:drop user 使用者名稱 [cascade];

4.  使用者管理的綜合案例

建立的新使用者是沒有任何許可權的,甚至連登入的資料庫的許可權都沒有,需要為其指定相應的許可權。給乙個使用者賦許可權使用grant命令,**許可權使用revoke命令。

只能使用system或sys使用者給skycloud使用者賦許可權。

grant connect to skycloud;

準確的講,這裡的connect不能算是許可權,應該算為角色。為skycloud使用者賦了connect角色後,skycloud使用者就可以連線資料庫了(其實只需具有create sesion許可權,使用者就可以連線資料庫)。這裡涉及到了許可權和角色的概念,下面將介紹oracle中的許可權和角色。

5.  oracle中的許可權

概述:oracle中的許可權是oracle事先定義好的,分為系統許可權和物件許可權兩種。

(2). 物件許可權:使用者對其他使用者的資料物件操作的許可權,例:該使用者的表、檢視、儲存過程、觸發器,oracle關鍵的物件許可權有25種。

物件許可權的案例

希望skycloud使用者去訪問scott使用者的emp表。

用scott使用者授訪問emp表的許可權給skycloud。

grant select on emp to skycloud;

授權後,要使用 select * from scott.emp 查詢,這裡的scott,術語叫方案。每個使用者都對應乙個方案,用來儲存該使用者的表、檢視、儲存過程、觸發器等。

6.  oracle中的角色

概述:在oracle中,由於許可權太多,對於管理員賦許可權太麻煩,oracle提出角色的概念,oracle事先定義了一些角色,例 connect 角色,把一些基本的許可權交給角色,直接賦角色,類似於批量賦許可權。擁有乙個角色,就擁有多個許可權,例如 connect 角色中包括 create session 和其它的一些的許可權。角色分為預定義角色和自定義角色。

(1). 預定義角色:安裝oracle資料庫後,就存在的角色,例如 connect、dba、resource。

(2). 自定義角色:使用者在oracle資料庫中自己定義的角色。

7.  oracle的同一資料庫中可以建兩個相同名字的表嗎?

可以,因為在 oracle 的管理機制中,oracle 資料庫的資料物件組織方式是以使用者為單位進行組織的,就如 skycloud 可以有自己的 users 表,scott 使用者也可以有自己的 users 表。

8.  使用者對許可權的維護

(1). scott希望收回skycloud對emp表的查詢許可權。

revoke select on emp from skycloud(收回許可權的使用者要與授權的使用者相同)。

(2). 希望skycloud使用者可以去查詢scott的emp表,還希望skycloud可以把這個許可權繼續給別人。

grant select on emp to skycloud with grant option;

(3). 許可權的傳遞

如果是物件許可權,在後面加上 with grant option,可以使許可權傳遞。

grant select on emp to skycloud with grant option;

conn skycloud1/skycloud1;

grant select on scott.emp to skycloud1;

如果是系統許可權,在後面加上 with admin option,可以使許可權傳遞。

grant connect to skycloud with admin option;

conn skycloud1/skycloud1;

grant connect to skycloud1;

如果scott把skycloud對emp表的查詢許可權**,那麼skycloud1會怎麼樣?

skycloud1的許可權也被**。

如果system把skycloud的connect許可權**,那麼skycloud1會怎麼樣?

skycloud1的許可權不會被**。

總結:系統許可權不會被級聯**,物件許可權會被級聯**。

9.  使用profile管理使用者口令

概述:profile 是口令限制、資源限制的命令集合,當建立資料庫是,oracle 會自動建立名稱為 default 的 profile,當建立使用者沒有指定 profile 選項,那 oracle 就會將 default 分配給使用者。

(1). 賬戶鎖定

指定該賬戶(使用者)登入時最多可以輸入密碼的次數,也可以指定使用者鎖定的時間(天),一般用 dba 的身份去執行該命令。

案例:指定 skycloud 這個使用者最多只能嘗試 3 次登入,鎖定時間為 2 天。

-- 建立profile檔案

create profile lock_account limit failed_login_attempts 3 password_lock_time 2;

alter user skycloud profile lock_account;

(2). 賬戶解鎖

alter user skycloud account unlock;

(3). 終止口令

為了讓使用者定期修改密碼可以使用終止口令的指定來完成,同樣這個命令也需要dba身份來操作。

案例:給前面建立的使用者skycloud建立乙個profile檔案,要求該使用者每隔 10 天要修改自己的登入密碼,寬限期 2 天。

create profile myprofile limit password_life_time 10 password_grace_time 2;

alter user skycloud profile myprofile;

(4). 刪除profile

當不需要某個 profile 檔案時,可以刪除該檔案。

drop profile password_history [cascade];

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.找出和使用者相...

oracle使用者管理

oracle使用者管理 一 建立profile檔案。sql create profile 檔名 limit failed login attempts 指定鎖定使用者的登入失敗次數 password lock time 指定使用者被鎖定天數 password life time 指定口令可用天數 p...