建立和管理資料庫使用者賬戶

2021-06-20 13:21:25 字數 4491 閱讀 2766

安全性是每個**必須密切關注的問題。每個組織都應該有乙份有關規則和規程的安全手冊。出現安全問題時,管理員必須說出所遵循的安全準則,並提供能證明他確實按要求執行的記錄。這樣,責任將轉嫁到規範說明書的制定者身上。如果沒有這樣的手冊,那麼責任往往會推到資料庫管理員dba身上。

6.1建立和管理資料庫使用者賬戶

當使用者登入到資料庫時,通過指定乙個賬戶名以及某種身份驗證方式連線到使用者賬戶。使用者賬戶定義初始訪問許可權及會話屬性。「模式(schema)與使用者賬戶相關聯。在oracle環境中,「使用者」、「使用者賬戶」和"模式「常替換使用,但這些術語其實並不完全相同。使用者指的是通過某個使用者賬戶名建立針對例項的會話並進行登入來連線到該賬戶的個人。模式是使用者賬戶擁有的一組物件。賬戶建立方式將為會話設定一系列屬性,在會話進行期間,可更改其中的一部分。建立資料庫時建立了大量賬戶,dba通常將在後面建立更多賬戶。

6.1.1使用者賬戶屬性

使用者賬戶擁有很多在建立賬戶時定義的屬性。這些將應用於連線到賬戶的會話,在會話執行期間,dba或會話可以更改其中一些屬性。這些屬性如下:

使用者名稱身份驗證方法

預設表空間

表空間配額

臨時表空間

使用者配置檔案

賬戶狀態

在建立使用者時,將指定以上屬性,不過,其中只有使用者名稱和身份驗證方法是必需的,其他 的都有預設值

1 使用者名稱

資料庫中的使用者名稱必須是唯一的,並符合特定的規則。使用者名稱必須以字母開頭,字元數不能超過30個,只能包含字母,數字,美元字元和下劃線。使用者名稱不能是保留字。字母區分大小寫,但所有字母將自動將自動轉換為大寫字母。如果在雙引號中指定使用者名稱,可以不遵守這些規則(長度除外),最好始終使用大寫字母和標準字元。

2 預設表空間和配額

每個使用者賬戶都有預設表空間。使用者建立的任何模式物件(如表和索引)將儲存在此表空間中。

使用者可以擁有獲得配額的任何表空間上的物件,但除非在建立物件時指定另乙個表空間,否則物件將被放在使用者的預設表空間中。

如果在建立使用者時未指定預設表空間,那麼,資料庫範圍的預設表空間將應用於所有使用者賬戶。可以在建立資料庫時設定預設表空間,也可以以後使用下面的語法進行更改:

alter database default tablespace tablespace_name;

如果建立資料庫時未指定預設表空間,將system設定為預設表空間。

「配額(quoat)」是表空間中為使用者的模式物件分配的空間量,到達配額之前。使用者可以建立物件,並為其分配區間。如果表空間中的配額已經用盡,則將無法建立任何物件。到達配額之前,使用者可以建立物件,並為其分配區間。如果表空間中的配額已經用完。則將無法建立任何物件。配額可以修改:

要建立表,使用者必須具有執行create table 的許可權,而且擁有在其中建立表的表空間上的配額。

3 臨時表空間

永久物件儲存在永久表空間中,而臨時物件儲存在臨時表空間中。如果會話為執行某些操作,需要的空間量走出了會話pga的可用空間量,則將需要臨時表空間中的空間。請注意,pga是程式全域性區,是分配給會話的專用記憶體。需要臨時工空間的操作包括排序行,聯接表,構建索引和使用臨時表。會為每個使用者賬戶分配臨時表空間,但連線到該賬戶的的有使用者會話將共享此臨時表空間。

臨時表空間中的空間管理完全自動完成。資料庫根據需要建立和刪除臨時物件。不需要為使用者授予臨時表空間上的配額。其原因是,臨時表空間中的物件並不歸使用者真正擁有,而是屬於sys使用者,sys使用者擁有所有表空間上的無限配額。

4 配置檔案

使用者的配置檔案控制口令設定,並在一定程度上控制資源的使用。配置檔案是管理口令和資源的有效方法,但實際上只適用於每個應用都有自己的資料庫使用者賬戶的環境。

5 賬戶狀態

每個使用者賬戶都要一定的狀態,如dba_users的account_status所列出的那樣。有九種可能的狀態。

開啟(open)賬戶可供使用

鎖定(locked)表示dba故意鎖定賬戶,任何使用者都不能連線到鎖定的賬戶。

過期(expired)表示口令生命週期已經終結。任何使用者都不能連線到expired賬戶。

過期並鎖定(expired&locked)賬戶不僅被鎖定,而且其口令已經過期。

正常過期:口令在生命週期結束時並不立即過期;可以配置乙個正常時間段,在此期間,連線到相應賬戶的使用者機會更改口令

超時鎖定:這表示由於登入嘗試失敗,賬戶已被鎖定。

過期並超時鎖定

正常過期並鎖定

正常過期並超時鎖定

要鎖定賬戶和解除賬戶的鎖定,請使用以下命令:

alter user username account lock;

alter user username account  unlock;

要強制使用者更改口令,請使用以下命令:

alter  user username password expire;

這將立即開啟正常階段,強制使用者在下次嘗試登入時更改口令

6.1.2 身份驗證方法

使用者賬戶必須具有身份驗證方法:資料庫可以借助這些方法,確定嘗試建立會話的使用者是否有權這麼做。最簡單的技術是提供乙個與資料庫中儲存的口令匹配的口令,除此之外,還有其他方法:

作業系統身份驗證

口令檔案身份驗證

口令身份驗證

外部身份驗證

全域性身份驗證

前兩項技術僅供管理員使用,最後一項技術要求使用ldap目錄伺服器。ldap目錄伺服器是oracle internet directory ,作為oralce應用伺服器的一部分發布。

1 作業系統和口令檔案身份驗證

要為賬戶啟用作業系統和口令檔案身份驗證,必須為使用者授予sysdba或sysoper許可權:

grant [  sysdba | sysoper ] to username;

如果向使用者授予這些許可權之一或所有許可權,則會將使用者口令人資料字典複製到外部口令檔案中,此時,即使資料庫未處於開啟狀態,例項也可以讀取口令。

必須對所有使用者會話進行身份驗證,不存在"匿名登入「的說法,必須使用一些身份驗證方法。

2 口令身份驗證

在使用sql*plus 時,通過口令身份驗證進行連線的語法如下:

connect username / password [ @db_alias] ;

或在使用database control 時,從connect as 下拉框中選擇normal

在使用口令身份驗證進行連線時,例項將針對在資料字典中的使用者賬戶儲存的口令,驗證給定的口令。為此,資料庫必須處於開啟狀態:從邏輯上講,在使用口令身份驗證連線時,不可能發出startup命令或shutdown命令。更改口令的語法為:

alter user username identified by password;

3 外部身份驗證

如果使用外部身份驗證建立使用者賬戶,oracle 會將身份驗證委託給外部服務。它不會提示輸入口令。

4 全域性身份驗證

乙個用於管理身份的新興標準是使用ldap伺服器。oracle internet directory符合ldap標準,

可以在目錄,也可以在資料庫中定義使用者,

只能在目錄中定義使用者

6.1.3 建立賬戶

create user 命令包含兩個必需的引數:使用者名稱和身份驗證方法。它可選地接受指定預設表空間和臨時表空間的子句,乙個或多個配額子句,命名配置檔案以及鎖定賬戶

和使用口令過期的命令。

乙個典型例子如下:

create user scott identified by tiger

default tablespace users temporary tablespace temp

quota 100m on users, quota unlimited on example

profile developer_profile

password expire

account unlock;

只有第一行是必須的,更改口令語法:

alter user scott identified by lion;

要更改預設表空間和臨時表空間,請:

alter user scott default tablespace store_data temporary tablespace temp;

要更改配額,請使用下面的語法:

alter user scott quota unlimited on store_data,quota 0 on users;

要更改配置檔案,請使用下面的語法

alter user scott profile prod_profile;

要強制更改口令,請使用下面的語法:

alter user scott password expire;

要鎖定賬戶,請使用下面的語法:

alter user scott account lock;

如果建立了使用者賬戶,則可能需要刪除它;

drop user scott;

只有使用者不擁有任何物件時,此命令才能成功;即要示模式是空的。可以指定cascade 將這些與使用者一起刪除;

drop user scott cascade;

要使用database control管理賬戶,請在資料庫主頁選擇schema選項卡,然後單擊security部分中的user連線。這將顯示資料庫中所有使用者賬戶。

oracle 資料庫使用者建立和許可權管理

create user user identified by password 建立完之後使用plsql登入會提示連線失敗,是因為沒有許可權導致的,將normal更改為sysdba,然後登入 建立完使用者以後,我們要賦予使用者許可權 sql命令為 grant privilege privilege....

MySQL建立和管理資料庫

使用t sql 語句建立資料庫 使用t sql 語句編輯資料庫 1 要求在本地磁碟d建立乙個學生 課程資料庫 名稱為student 只有乙個資料檔案和日誌檔案,檔名稱分別為stu和stu log,物理名稱為stu data.mdf 和stu log.ldf,初始大小都為3mb,增長方式分別為10 和...

sqlserver資料庫的建立和管理

1,使用sql命令建立詳細的資料庫 create database test2 on 資料庫主要檔案邏輯檔名 name test2 data1,在磁碟上對應的物理檔名 filename d testdb test2 data1.mdf 初始化檔案大小 size 3,最大檔案大小 maxsize 10...