oracle學習筆記零碎(五)--基礎知識複習(1)

eBusinessMan發表於2015-03-16

1. oracle資料庫在物件級控制資料庫的訪問和使用的機制 主要是通過資料庫使用者來實現的。資料庫使用者是定義在資料庫中的一個名稱,它是存取資料庫中的資訊的通道,是oracle資料庫的基本訪問控制機制。

2. 我們在建立使用者的時候雖然指定了預設表空間,但是這並不代表我們具有這個表空間的份額以及能夠在這個表空間中建立物件的許可權!!這個是一個很重要的知識漏洞。

3. SYSSYSTEMoracle的預定義賬戶,並且授予了DBA許可權,注意不是sysdbaSysdba是系統許可權,dba是使用者物件許可權。

最佳實踐提示:如果應用最少許可權原則,則不在例行程式操作中使用這些帳戶。需要DB

限的使用者另外擁有授予了所需許可權的獨立帳戶。例如,Jim 有一個名為jim 的低許可權帳戶及

一個名為jim_dba 的授權帳戶。使用此方法可應用最少許可權原則,不需要共享帳戶,而且可

審計各項操作。

4. 如何建立一個os驗證的使用者??要記住一些細節:OS_AUTHENT_PREFIX = ops$  以及驗證原理

5. 外部驗證==OS驗證     口令驗證==oracle資料庫驗證

6. 不允許 SYS 使用者以口令身份驗證的方式進行連線,SYS 只能使用口令檔案、作業系統或 LDAP 身份驗證。

注意:要注意口令驗證和口令檔案驗證的區別----後者是具有sysdba sysoper許可權的賬戶專用的!!可以通過v$pwfile檢視具有sysdbasysoper許可權的使用者,在linux系統中可以strings orapw 

7. 究竟允不允許dba 在家裡PC登入並管理機房中的資料庫呢?這樣有一定的風險哦!但是這個決定是否還是有一個引數的值來設定的----remote_login_passwordfile :檢視是否允許遠端登入使用口令檔案進行身份驗證!!

a.      SHARED 一個或多個資料庫可以使用口令檔案。可以包含 SYS 或者非 SYS 的口令檔案。

b.      EXCLUSIVE 新版本和 SHARED 功能一致。

c.  NONE 不允許遠端使用口令檔案驗證,如遠端用 SYS 賬號連線 Oracle 將會報錯。

8. remote_login_passwordfile常並論的是引數:SQLNET.AUTHENTICATION_SERVICES,位於$ORACLE_HOME/network/admin/sqlnet.ora 配置檔案中:

a.      NONE:不允許通過OS系統使用者登入資料庫;

b.      ALL  :允許所有的登入方式;

c.      NTS  : 允許本地OS使用者認證登入。

 

9.  Schema 模式是一系列物件的集合。一個模式只能夠被一個資料庫使用者所擁有,並且模

式的名稱與這個使用者的名稱相同。ORACLE 資料庫中的每個使用者都擁有一個唯一的模式,

他所建立的所有模式物件都儲存在自己的模式中。

Oracle 資料庫中,模式與資料庫使用者是一一對應,每個資料庫使用者都擁

有一個與他的使用者名稱相同的模式。因此,在 Oracle 資料庫中,模式與使用者兩個概念的差別

很小,經常可以替換。

10. 概要檔案是口令限制和資源限制的命名集合,是 Oracle 安全策略的重要組成部分,利

用概要檔案可以對資料庫使用者進行口令管理和資源限制。

         在建立資料庫時,Oracle 會自動建立名稱為 DEFAULT 的預設概要檔案,初始的

DEFAULT 概要檔案的所有口令及資源限制選項值均為 UNLIMITED,即未進行任何口令及

資源限制。當建立使用者時,如果不指定概要檔案,則 Oracle 會將 DEFAULT 概要檔案分配給

該使用者。根據使用者所承擔任務的不同,DBA 應該建立不同的概要檔案,並將概要檔案分配

給相應使用者。一個使用者只能分配一個概要檔案,一個概要檔案可以同時包含口令限制和資源

限制。

11. 使用概要檔案管理口令:鎖定賬戶、終止口令、口令歷史以及口令校驗等四種安全保護方式。

12. 使用概要檔案管理資源:會話資源 和 呼叫資源 兩種方式。

13. dba_profile可以檢視概要檔案的資訊,各欄位的解析如下:

         PROFILE:概要檔名稱。

RESOURCE_NAME:口令或資源選項名。

RESOURCE_TYPEPASSWORD 表示口令管理選項,而 KERNAL 則表示資源限制選項。

LIMIT:概要檔案選項值。

14. 每個使用者都分配一個概要檔案,而且該使用者在指定時間只屬於一個概要檔案。如果使用者在您更改使用者概要檔案時已經登入,那麼所做更改只在使用者下一次登入後才生效。

15. 刪除一個使用者,oracle會從資料字典中刪除使用者,模式及其所有的模式物件的資訊。因此刪除擁有模式物件的使用者的時候要寫上cascade,否則報錯,無法刪除。其次,要注意的是:如果使用者當前正連線到資料庫,則不能刪除該使用者。必須先用 ALTER SYSTEM KILL

SESSION 語句終止它的會話,然後再用 DROP USER 將使用者刪除。

16userenv(‘引數名’)可以檢視使用者的環境變數,很多東西需要仔細研究。

17.  v$session 中的各欄位都是很有內涵的,很多東西需要仔細研究。

18.檢視,是基於基表或者其他檢視的邏輯表。存在的意義:相同資料的不同顯示角度,隱藏保護基表,使複雜的查詢簡單化,提供資料的獨立性。

注意點:

(1)     統計函式,表示式等操作的列需要定義列別名;建立的檢視的欄位名字是列別名。

因此查詢時要用列別名。

         CREATE VIEW salvu50

AS SELECT employee_id ID_NUMBER, last_name NAME,

salary*12 ANN_SALARY

FROM employees

WHERE department_id = 50;

(2)     對於簡單或複雜的檢視的DML操作上的限制,詳見文件。Important!

(3)     With check option :當可以對檢視進行updateinsert操作時,會檢查新的欄位或插入的記錄是否符合子查詢中的where條件,符合條件者可以操作。

With read only:容易知道。

序列:

19.新建立的序列,在currval返回序列值之前,必須先分配好nextval,否則報錯。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29900383/viewspace-1461721/,如需轉載,請註明出處,否則將追究法律責任。

相關文章