天天看點

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

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

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

3. SYS和SYSTEM是oracle的預定義賬戶,并且授予了DBA權限,注意不是sysdba。Sysdba是系統權限,dba是使用者對象權限。

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

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

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

審計各項操作。

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

5. 外部驗證==OS驗證   ;  密碼驗證==oracle資料庫驗證

6. 不允許 SYS 使用者以密碼身份驗證的方式進行連接配接,SYS 隻能使用密碼檔案、作業系統或 LDAP 身份驗證。

注意:要注意密碼驗證和密碼檔案驗證的差別----後者是具有sysdba 或 sysoper權限的賬戶專用的!!可以通過v$pwfile檢視具有sysdba或sysoper權限的使用者,在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_TYPE:PASSWORD 表示密碼管理選項,而 KERNAL 則表示資源限制選項。

LIMIT:概要檔案選項值。

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

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

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

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

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 :當可以對視圖進行update或insert操作時,會檢查新的字段或插入的記錄是否符合子查詢中的where條件,符合條件者可以操作。

With read only:容易知道。

序列:

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

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

轉載于:http://blog.itpub.net/29900383/viewspace-1461721/