ORACLE數(shù)據(jù)庫學(xué)習(xí)心得
一個好的程序,必然聯(lián)系著一個龐大的數(shù)據(jù)庫網(wǎng)路...

今年我們學(xué)習(xí)了 oracle數(shù)據(jù)庫這門課程,起初的我,對這個字眼是要多陌生有多陌生,后來上課的時候聽一會老師講課,偶爾再跟上上機課,漸漸的學(xué)會了不少東西,但我感覺,我學(xué)到的仍是一些皮毛而已,懷著疑惑和求知的心態(tài),我在網(wǎng)上搜索了關(guān)于 oracle數(shù)據(jù)庫的一些知識。
1.ORACLE的特點:
可移植性 ORACLE采用C語言開發(fā)而成,故產(chǎn)品與硬件和操作系統(tǒng)具有很強的獨立性。從大型機到微機上都可運行ORACLE的產(chǎn)品?稍赨NIX、DOS、Windows等操作系統(tǒng)上運行?杉嫒菪 由于采用了國際標準的數(shù)據(jù)查詢語言SQL,與IBM的SQL/DS、DB2等均兼容。并提供讀取其它數(shù)據(jù)庫文件的間接方法。
可聯(lián)結(jié)性 對于不同通信協(xié)議,不同機型及不同操作系統(tǒng)組成的網(wǎng)絡(luò)也可以運行ORAˉCLE數(shù)據(jù)庫產(chǎn)品。
2.ORACLE的總體結(jié)構(gòu)
。1)ORACLE的文件結(jié)構(gòu) 一個ORACLE數(shù)據(jù)庫系統(tǒng)包括以下5類文件:ORACLE RDBMS的代碼文件。
數(shù)據(jù)文件 一個數(shù)據(jù)庫可有一個或多個數(shù)據(jù)文件,每個數(shù)據(jù)文件可以存有一個或多個表、視圖、索引等信息。
日志文件 須有兩個或兩個以上,用來記錄所有數(shù)據(jù)庫的變化,
用于數(shù)據(jù)庫的恢復(fù)?刂莆募 可以有備份,采用多個備份控制文件是為了防止控制文件的損壞。參數(shù)文件 含有數(shù)據(jù)庫例程起時所需的配置參數(shù)。
。2)ORACLE的內(nèi)存結(jié)構(gòu) 一個ORACLE例程擁有一個系統(tǒng)全程區(qū)(SGA)和一組程序全程區(qū)(PGA)。
SGA(System Global Area)包括數(shù)據(jù)庫緩沖區(qū)、日志緩沖區(qū)及共享區(qū)域。
PGA(Program Global Area)是每一個Server進程有一個。一個Server進程起動時,就為其分配一個PGA區(qū),以存放數(shù)據(jù)及控制信息。
。3)ORACLE的進程結(jié)構(gòu)ORACLE包括三類進程:
、儆脩暨M程 用來執(zhí)行用戶應(yīng)用程序的。
、诜⻊(wù)進程 處理與之相連的一組用戶進程的請求。
③后臺進程 ORACLE為每一個數(shù)據(jù)庫例程創(chuàng)建一組后臺進程,它為所有的用戶進程服務(wù),其中包括:
DBWR(Database Writer)進程,負責(zé)把已修改的數(shù)據(jù)塊從數(shù)據(jù)庫緩沖區(qū)寫到數(shù)據(jù)庫中。LGWR(Log Writer)進程,負責(zé)把日志從SGA中的緩沖區(qū)中寫到日志文件中。
SMON(System Moniter)進程,該進程有規(guī)律地掃描SAG進程信息,注銷失敗的數(shù)據(jù)庫例程,回收不再使用的內(nèi)存空間。PMON(Process Moniter)進程,當一用戶進程異常結(jié)束時,該進程負責(zé)恢復(fù)未完成的事務(wù),注銷失敗的用戶進程,釋放用戶進程占用的資源。
ARCH(ARCHIVER)進程。每當聯(lián)機日志文件寫滿時,該進程將其拷貝到歸檔存儲設(shè)備上。另外還包括分布式DB中事務(wù)恢復(fù)進程RECO和對服務(wù)進程與用戶進程進行匹配的Dnnn進程等。
3.ORACLE的邏輯結(jié)構(gòu)
構(gòu)成ORACLE的數(shù)據(jù)庫的邏輯結(jié)構(gòu)包括:
(1)表空間
。2)5種類型的段(segment)
、贁(shù)據(jù)段;②索引段;③回滾(rollbock)段;④臨時段;⑤自舉(bootstrap)段。
段的分配單位叫范圍(Extent)
表空間(Tablespace) 一個數(shù)據(jù)庫劃分成的若干邏輯部分稱為表空間。一個數(shù)據(jù)庫可以有一個或多個表空間,初始的表空間命名為SYSTEM,每一個邏輯表空間對應(yīng)于一個或多個物理文件。DBA使用表空間做以下工作:
控制數(shù)據(jù)庫對象,如表、索引和臨時段的空間分配。為數(shù)據(jù)庫用戶設(shè)置空間配額。
利用個別表空間的在線或離線,控制數(shù)據(jù)的可用性。后備或恢復(fù)數(shù)據(jù)。
通過分配空間,以改進性能。
在每個數(shù)據(jù)庫中都存在SYSTEM表空間,它在建立數(shù)據(jù)庫時自動建立。在該表空間中,包含數(shù)據(jù)庫的數(shù)據(jù)字典,其中存儲全部數(shù)據(jù)庫對象的名字和位置。
SYSTEM表空間總是在線的,像其它表空間一樣,可以通過增加新的數(shù)據(jù)庫文件來擴大。一個表空間可包含許多表和索引。但一個表和索引不能跨越表空間,可跨越組成表空間的文件。在DB的打開的情況下,DBA利用ALTER TABLESPACE語句,可以實施表空間的在線或離線。SYSTEM表空間必須在線。表空間離線有下列原因:
一般為了使部分數(shù)據(jù)庫不能使用,而允許正常存取數(shù)據(jù)庫其余部分。執(zhí)行表空間離線備份。
一個離線的表空間,不能被應(yīng)用用戶讀或編輯。
可以增加數(shù)據(jù)文件擴大已有的表空間,也可增加新的表空間使數(shù)據(jù)庫容量增大,或分配空間給某個應(yīng)用。使用ALFER TABLESPACE ADD FILE語句將另一個數(shù)據(jù)文件加入到已存在表空間中。使用CREATE TABLESPACE語句可建立一個新的表空間。段(segment) 表空間中的全部數(shù)據(jù)存儲在以段劃分的數(shù)據(jù)庫空間中。一個段是分配給數(shù)據(jù)庫用于數(shù)據(jù)存儲的范圍的集合。數(shù)據(jù)可以是表、索引或RDBMS所需要的臨時數(shù)據(jù)。段是表空間的下一個邏輯存儲的級別。一個段不能跨越一個表空間,但可跨越表空間內(nèi)的文件。一個數(shù)據(jù)庫最多需要五種段類型:
數(shù)據(jù)段 一個包含一個表(或聚集)的全部數(shù)據(jù),一個表(或聚集)總有一個單個數(shù)據(jù)段。
索引段 一個索引段包含對一個表(或聚集)建立的一個索引的全部索引數(shù)據(jù)。一個表可以有一個、多個或者沒有索引段,取決于它所擁有的索引個數(shù)。一個聚集必須至少有一個索引段,即在聚集碼上
建立聚集索引。
回滾段 每個DB有一個或多個回滾段。一個回滾段是DB的一部分,它記錄在某一情況下被撤消的動作;貪L段用于事務(wù)控制和恢復(fù)。
臨時段 在處理查詢時,ORACLE需要臨時工作空間,用于存儲語句處理的中間結(jié)果,這個區(qū)稱為臨時段。
自舉段 自舉段在SYSTEM表空間中,在數(shù)據(jù)庫建立時建立。它包括數(shù)據(jù)字典定義,在數(shù)據(jù)庫打開時裝入。
4.用戶數(shù)據(jù)庫對象
由用戶建立的對象駐留在表空間中,含有真正的數(shù)據(jù)。數(shù)據(jù)庫對象有表、視圖、聚集、索引、偽列和序號生成器。
。1)聚集(Cluster) 聚集是存儲數(shù)據(jù)的一種可選擇的方法。聚集包括存儲在一起的一組表,它們共享公共列并經(jīng)常一起使用。由于內(nèi)容相關(guān)并且物理地存儲在一起,存取時間得到改進,存儲空間可以減少。聚集是一種優(yōu)化措施。
聚集對性能的改進,依賴于數(shù)據(jù)的分布和SQL操作的內(nèi)容。特別是使用聚集對連接非常有利?梢悦黠@地提高連接的速度。建立聚集命令的基本格式:
SQL>CREATE CLUSTER〈聚集名〉(列定義[,…]);利用聚集建立表命令基本格式:
SQL>CREATE TABLE〈新表名〉(列定義[,…]CLUSTER〈聚集名〉(聚集列);
[ORACLE數(shù)據(jù)庫學(xué)習(xí)心得]
【ORACLE數(shù)據(jù)庫學(xué)習(xí)心得】相關(guān)文章:
Oracle數(shù)據(jù)庫DBA經(jīng)典面試題10-29
Oracle數(shù)據(jù)庫面試練習(xí)題06-25
Oracle面試試題09-05
Oracle技術(shù)面試問題10-05
Oracle面試題庫06-08
oracle面試問題及答案有哪些09-08
Oracle工程師個人求職簡歷模板06-09
數(shù)據(jù)庫實習(xí)日記08-13