Oracle學習筆記[一] morinson著
2024-08-29 13:43:53
供稿:網友
//===============================================================
數據塊緩區和SQL共享池(Shared SQL Pool)是SGA中的最大部分,一般占分配給SGA的內存9 5 %以上。
通過減少對數據文件的I / O次數,這些存儲區域可以改善數據庫性能。
//===============================================================
Oracle數據庫結構可分為三個范疇:
. 數據庫內部的結構(如表)。
. 存儲區內部的結構(包括共享存儲區和進程)。
. 數據庫外部的結構。
//===============================================================
用戶SYS和SYSTEM所擁有的表被稱為數據字典表(data dictionary table),數據字典表提
供一個數據庫用來治理自己的系統目錄。數據字典由Oracle提供的一組目錄腳本文件創建。每
當安裝或升級一個數據庫時,都需要使用創建或修改數據字典表的的腳本文件。當在數據庫
中安裝一個新的選項時,可能要運行另外一些附加的目錄腳本文件。
//===============================================================2004-2-13 1:31
在Oracle 8中,當把一個大表分成若干小表時,可以規定一些范圍供數據庫使用。這些稱
作分區( partition)的小表比大表的治理更加簡單。例如,可以截斷( truncate )一個分區的數據而
不截斷其他分區的數據。Oracle將把分區表看作一個大表,但可以把這些分區作為一些獨立的
對象來治理。
//===============================================================2004-2-13 1:31
用戶SYS擁有數據字典表,這些表存儲了數據庫中其他結
構的所有信息;用戶SYSTEM擁有訪問數據字典表的視圖,這些視圖供數據庫中其他用戶
使用。
//===============================================================2004-2-13 1:31
用戶帳號擁有的對象集稱為用戶的模式( Schema )。
//===============================================================2004-2-13 1:31
在關系數據庫中,一個行的物理位置無關緊要,除非數據庫需要找到它。為了能找到數
據,表中的每一行均用一個RowID來標識。RowID告訴數據庫這一行的準確位置(指出行所在
的文件、該文件中的塊、該塊中的行地址)。
注重索引結構表沒有傳統的Oracle RowID,不過,其主鍵起一個邏輯RowID的作用。
//===============================================================2004-2-13 1:31
索引是一種供服務器在表中快速查找一個行的數據庫結構。索引有三種形式:簇索引、
表索引和位映射索引。簇索引把簇要害字值存儲在簇中;下面一小節將對簇的用途進行具體
描述。表索引除了確定行的物理位置( RowID )外,還存儲表的行值。位映射索引是表索引的一
種非凡形式,用于支持對大表進行查詢(這些大表很少有不同值的列)。
每一個索引條目都由一個鍵值和RowID組成。可以索引一個列或一組列, Oracle用B *樹
( B * - t r e e )機制存儲索引條目,以保證用最短路徑訪問鍵值。當一個查詢訪問索引時,就能找
到與查詢條件相匹配的索引條目。與條目相匹配的RowID值向Oracle提供相關行的物理位置,
以減輕定位數據所需要的I / O負擔。
//===============================================================2004-2-13 1:51
視圖的定義(包括作為基礎的查詢、列安排、授予的權限)存儲在數據字典中。
//===============================================================2004-2-15 0:34
函數、軟件包和過程的源代碼被存儲在數據字典表中。
//===============================================================2004-2-15 0:36
觸發器分為兩種類型:
. 語句觸發器:對每一個觸發語句觸發一次。
. 行觸發器:對受語句影響的表中的每一個行觸發一次。
//===============================================================2004-2-15 23:29
對于Oracle 8,可以創建INSTEAD OF觸發器。INSTEAD OF觸發器執行一個替代操作來
代替觸發器的操作。也就是說,假如對表創建一個INSTEAD OF INSERT觸發器,將執行觸發
器的代碼且絕不會出現引起觸發器執行的i n S e r t操作。
//===============================================================2004-2-15 23:30
公用同義詞由一個特定數據庫的所有用戶共享;私
有同義詞只被數據庫的各個用戶帳號所有者所擁有。
//===============================================================2004-2-15 23:30
由于索引或觸發器只能在表操作過程中被數據庫訪問,所以沒有針對索
引或觸發器訪問的權限。
//===============================================================2004-2-15 23:39
段由稱作盤區(extent)的一些鄰接的Oracle塊集合組成。一旦段中的現有盤區
不能再容納新數據,該段將獲取另外的盤區。假如需要的話,這種擴展將持續下去,直到表
空間的數據文件中沒有自由空間或者已達到每個段內部的盤區最大數量為止。假如一個段中
有多個盤區,將無法保證這些盤區連接在一起。
//===============================================================2004-2-15 23:40
當你撤消一個段時,該段所使用的盤區就成為自由盤區。Oracle可以重新把這些自由盤區
用于新的段或現有段的擴展。
//===============================================================2004-2-15 23:42
Oracle用數據庫中的回滾段來提供一個前映像數據。
//===============================================================2004-2-15 23:45
顯形圖在結構上與快照非常相似。它存儲基于一個基本查詢的復制數據。快照一般存儲來自
遠程數據庫的數據,而顯形圖通常則存儲從當前數據庫中復制的數據。
//===============================================================2004-2-16 0:01
通常,數據塊緩存區只是數據庫大小的1 %~2 %,Oracle使用最近最少使用( L R U,leaSt recently uSed)
算法來治理可用空間。
//===============================================================2004-2-16 0:04
數據字典緩存區通過最近最少使用(LRU) 算法來治理。字典緩存區的大小由數據庫內部
治理。字典緩存區是SQL共享池的一部分,共享池的大小由數據庫文件i n i t . o r a中的S H A R E DP
O O L-S I Z E參數來設置。
//===============================================================2004-2-16 0:10
重做項描述對數據庫進行的修改。它們寫到聯機重做日志文件中,以便在數據庫恢復過程中用
于向前滾動操作。
//===============================================================2004-2-16 0:12
在第二次運行(由任何用戶)相同的SQL語句時,可以利用SQL共享池中可用的語法分析信息來
加快執行速度。
//===============================================================2004-2-16 0:16
緩沖區的數量必須至少比L R U鎖存器的數量多5 0倍。
//===============================================================2004-2-16 0:19
當啟動一個數據庫時, SMON(SyStem Monitor,系統監控程序)進程執行所需的實例恢復
操作(使用聯機重做日志文件),它也可以清除數據庫,取消系統不再需要的事務對象。
SMON的另一個用途是:將鄰接的自由盤區組成一個較大的自由盤區。
//===============================================================2004-2-16 0:26
程序全局區( PGA,PRogram Global Area)是存儲區中的一個區域,由一個Oracle用戶進程
所使用,PGA中的內存不能共享。
//===============================================================2004-2-16 0:26
P M O N (進程監控程序)后臺進程清除失敗用戶的進程,釋放用戶當時正在使用的資源。
//===============================================================2004-2-16 0:28
D B W R (數據庫寫入程序)后臺進程負責治理數據塊緩存區及字典緩存區的內容。它以批方
式把修改塊從SGA寫到數據文件中。
//===============================================================2004-2-16 0:31
假如創建多個D B W R進程,這些進程就不叫做D B W R,它們將有一個數字分量。例如,如
果創建5個D B W R進程,進程的操作系統名就可能是D B W 0、D B W 1、D B W 2、D B W 3和D B W 4。
//===============================================================2004-2-16 0:33
L G W R (日志寫入程序)后臺進程負責把聯機重做日志緩沖區的內容寫入聯機重做日志文
18 第一部分數據庫體系結構下載件。
//===============================================================2004-2-16 0:39
檢查點使D B W R把上一個檢查點以后的全部已修改數據塊寫入數據文件,并更新數據文件
頭部和控制文件以記錄該檢查點。
當一個聯機重做日志文件被填滿時,檢查點進程會自動出現。
可以用數據庫實例的i n i t . o r a文件中的L O G _ C H E C K P O I N T _ I N T E RVA L參數來設置一個
頻繁出現的檢查點。
//===============================================================2004-2-16 0:42
當Oracle以A R C H I V E L O G (歸檔日志)模式運行時,數據庫在開始重寫重做日志文件之前
先對其進行備份。
//===============================================================2004-2-16 0:43
R E C O (恢復進程)后臺進程用于解決分布式數據庫中的故障問題。
//===============================================================2004-2-17 20:03
Oracle保存所有數據庫事務的日志。這些事務被記錄在聯機重做日志文件(online redo log
f i l e )中。
//===============================================================2004-2-17 20:10
一個Oracle數據庫的最簡單形式由下列組件構成:
. 一個或多個數據文件。
. 一個或多個控制文件。
. 兩個或多個聯機重做日志文件。
//===============================================================2004-2-17 20:12
數據庫內部結構包括:
. 多用戶/模式。
. 一個或多個回滾段。
. 一個或多個表空間。
. 數據字典表。
. 用戶對象(表、索引、視圖等)。
//===============================================================2004-2-17 20:14
訪問數據庫的服務器的最小構成如下:
. 一個SGA (其中包括數據塊緩存區、重做日志緩存區、SQL共享池)。
. SMON后臺進程。
. PMON后臺進程。
. DBWR后臺進程。
. LGWR后臺進程。
. CKPT后臺進程。
. 與PGA相關聯的用戶進程。
//===============================================================2004-2-17 20:15
全系統導出通常用于消除數據庫中的碎片。
//===============================================================2004-2-17 20:18
對數據庫進行物理備份有兩種方式可供選擇:聯機備份(online backup)和脫機備份( o ffline backup)。
//===============================================================2004-2-17 20:23
在聯機備份期間,先將表空間暫時置于一個備份狀態,當文件備份完畢后,再將表空間恢復
為正常狀態。
//===============================================================2004-2-17 20:36
Oracle 8中的LOB存儲區隱式采用1 : 1關系存儲LOB數據。假如LOB數據大小超過一個閾值,
它就與基表分開存儲。
//===============================================================2004-2-17 20:50
Oracle 7 . 3之后的版本提供了Oracle EnterpriSe Manager(OEM,Oracle企業治理器)—圖
形用戶界面( GUI)工具。
//===============================================================