




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、ORACLE數據庫結課論文 一個好的程序,必然聯系著一個龐大的數據庫網路. 今年我們學習了 oracle數據庫這門課程,起初的我,對這個字眼是要多陌生有多陌生,后來上課的時候聽一會老師講課,偶爾再跟上上機課,漸漸的學會了不少東西,但我感覺,我學到的仍是一些皮毛而已,懷著疑惑和求知的心態,我在網上搜索了關于 oracle數據庫的一些知識。1.ORACLE的特點:可移植性 ORACLE采用C語言開發而成,故產品與硬件和操作系統具有很強的獨立性。從大型機到微機上都可運行ORACLE的產品。可在UNIX、DOS、Windows等操作系統上運行。可兼容性 由于采用了國際標準的數據查詢語言SQL,與IBM
2、的SQL/DS、DB2等均兼容。并提供讀取其它數據庫文件的間接方法。可聯結性 對于不同通信協議,不同機型及不同操作系統組成的網絡也可以運行ORACLE數據庫產品。2.ORACLE的總體結構(1)ORACLE的文件結構 一個ORACLE數據庫系統包括以下5類文件:ORACLE RDBMS的代碼文件。數據文件 一個數據庫可有一個或多個數據文件,每個數據文件可以存有一個或多個表、視圖、索引等信息。日志文件 須有兩個或兩個以上,用來記錄所有數據庫的變化,用于數據庫的恢復。控制文件 可以有備份,采用多個備份控制文件是為了防止控制文件的損壞。參數文件 含有數據庫例程起時所需的配置參數。(2)ORACLE的
3、內存結構 一個ORACLE例程擁有一個系統全程區(SGA)和一組程序全程區(PGA)。SGA(System Global Area)包括數據庫緩沖區、日志緩沖區及共享區域。PGA(Program Global Area)是每一個Server進程有一個。一個Server進程起動時,就為其分配一個PGA區,以存放數據及控制信息。(3)ORACLE的進程結構ORACLE包括三類進程:用戶進程 用來執行用戶應用程序的。服務進程 處理與之相連的一組用戶進程的請求。后臺進程 ORACLE為每一個數據庫例程創建一組后臺進程,它為所有的用戶進程服務,其中包括:DBWR(Database Writer)進程,負
4、責把已修改的數據塊從數據庫緩沖區寫到數據庫中。LGWR(Log Writer)進程,負責把日志從SGA中的緩沖區中寫到日志文件中。SMON(System Moniter)進程,該進程有規律地掃描SAG進程信息,注銷失敗的數據庫例程,回收不再使用的內存空間。PMON(Process Moniter)進程,當一用戶進程異常結束時,該進程負責恢復未完成的事務,注銷失敗的用戶進程,釋放用戶進程占用的資源。ARCH(ARCHIVER)進程。每當聯機日志文件寫滿時,該進程將其拷貝到歸檔存儲設備上。另外還包括分布式DB中事務恢復進程RECO和對服務進程與用戶進程進行匹配的Dnnn進程等。3.ORACLE的邏
5、輯結構構成ORACLE的數據庫的邏輯結構包括:(1)表空間(2)5種類型的段(segment)數據段;索引段;回滾(rollbock)段;臨時段;自舉(bootstrap)段。段的分配單位叫范圍(Extent)表空間(Tablespace) 一個數據庫劃分成的若干邏輯部分稱為表空間。一個數據庫可以有一個或多個表空間,初始的表空間命名為SYSTEM,每一個邏輯表空間對應于一個或多個物理文件。DBA使用表空間做以下工作:控制數據庫對象,如表、索引和臨時段的空間分配。為數據庫用戶設置空間配額。利用個別表空間的在線或離線,控制數據的可用性。后備或恢復數據。通過分配空間,以改進性能。在每個數據庫中都存在
6、SYSTEM表空間,它在建立數據庫時自動建立。在該表空間中,包含數據庫的數據字典,其中存儲全部數據庫對象的名字和位置。SYSTEM表空間總是在線的,像其它表空間一樣,可以通過增加新的數據庫文件來擴大。一個表空間可包含許多表和索引。但一個表和索引不能跨越表空間,可跨越組成表空間的文件。在DB的打開的情況下,DBA利用ALTER TABLESPACE語句,可以實施表空間的在線或離線。SYSTEM表空間必須在線。表空間離線有下列原因:一般為了使部分數據庫不能使用,而允許正常存取數據庫其余部分。執行表空間離線備份。一個離線的表空間,不能被應用用戶讀或編輯。可以增加數據文件擴大已有的表空間,也可增加新的
7、表空間使數據庫容量增大,或分配空間給某個應用。使用ALFER TABLESPACE ADD FILE語句將另一個數據文件加入到已存在表空間中。使用CREATE TABLESPACE語句可建立一個新的表空間。段(segment) 表空間中的全部數據存儲在以段劃分的數據庫空間中。一個段是分配給數據庫用于數據存儲的范圍的集合。數據可以是表、索引或RDBMS所需要的臨時數據。段是表空間的下一個邏輯存儲的級別。一個段不能跨越一個表空間,但可跨越表空間內的文件。一個數據庫最多需要五種段類型:數據段 一個包含一個表(或聚集)的全部數據,一個表(或聚集)總有一個單個數據段。索引段 一個索引段包含對一個表(或聚
8、集)建立的一個索引的全部索引數據。一個表可以有一個、多個或者沒有索引段,取決于它所擁有的索引個數。一個聚集必須至少有一個索引段,即在聚集碼上建立聚集索引。回滾段 每個DB有一個或多個回滾段。一個回滾段是DB的一部分,它記錄在某一情況下被撤消的動作。回滾段用于事務控制和恢復。臨時段 在處理查詢時,ORACLE需要臨時工作空間,用于存儲語句處理的中間結果,這個區稱為臨時段。自舉段 自舉段在SYSTEM表空間中,在數據庫建立時建立。它包括數據字典定義,在數據庫打開時裝入。4.用戶數據庫對象由用戶建立的對象駐留在表空間中,含有真正的數據。數據庫對象有表、視圖、聚集、索引、偽列和序號生成器。(1)聚集(
9、Cluster) 聚集是存儲數據的一種可選擇的方法。聚集包括存儲在一起的一組表,它們共享公共列并經常一起使用。由于內容相關并且物理地存儲在一起,存取時間得到改進,存儲空間可以減少。聚集是一種優化措施。 聚集對性能的改進,依賴于數據的分布和SQL操作的內容。特別是使用聚集對連接非常有利。可以明顯地提高連接的速度。建立聚集命令的基本格式:SQL>CREATE CLUSTER聚集名(列定義,);利用聚集建立表命令基本格式:SQL>CREATE TABLE新表名(列定義,CLUSTER聚集名(聚集列);在聚集碼上必須建立一個聚集索引,對于每一數據塊上每個聚集碼值有一索引項。這個索引必須在D
10、ML語句對聚集表操作前建立。建立索引的語句是:CREATE INDEX索引名ON CLUSTER聚集名;(2)序號生成器 序號(SEQUENCE)生成器為表中的單列或多列生成順序號。利用序號可自動地生成唯一主碼。使用SQL語句定義序號,給出一些信息(如序號名、是升序或降序、每個序號間的間隔和其它信息)。所有序號存儲在數據字典表中。所有序號定義存儲在數據字典的SEQUENCE表中。用戶可以通過字典視圖USER-SE-QUENCES、ALL-SEQUENCES和DBA-SEQUENCES查詢和存取。建立序號生成器的語句是:CREATE SEQUENCE序號生成器名 其它選項。一旦序號生成器S被定義
11、。可用S.Currval來引用S序號生成器的當前值。用S.nextval產生下一個新的序號并加以引用。(3)偽列 偽列的行為像表的一列,但不真正存在于表中,在查詢時可引用偽列,但偽列不能插入、刪除或修改。5.數據字典數據字典ORACLE RDBMS最重要的部分之一。數據字典含有一組系統定義的表,只能讀,是關于數據庫的引用指南。它可提供以下信息:ORACLE用戶的用戶名;每個用戶被授予的權限和角色;實體的名字和定義;完整性約束為數據庫實體分配的空間;通用的數據庫結構;審計信息;觸發子程序等的存儲。數據字典是以表和視圖構成的,像其它數據庫數據一樣,可用SQL語言查詢數據字典。數據字典在DB建立時建
12、立。每當DB進入操作,數據字典就由ORACLE RDBMS負責修改。數據庫建立時有兩個默認DBA用戶:SYS、SYSTEM。SYS持有基本表中的數據。數據字典包含一組基表和相關的視圖,可分為以下幾類: 類 描 述 DBA-××× 只有DBA可存取的視圖,給出數據庫中定義的任何實體的信息 USER-××× 對任何用戶可用的視圖,給出他們自己的實體的信息 ALL-××× 對任何用戶可用的視圖,給出用戶可存取的所有實體的信息 其中×××代表表名或視圖名下面列出的是一些常用的表或視圖
13、的名稱。(1)DTAB 描述了組或數據字典的所有表。(2)TAB 用戶建的所有基本表、視圖和同義詞。(3)COL 用戶創建基本表的所有列的信息。(4)SYNONYMS 用戶可存取的同義名詞、專用名和公用名。(5)CATALOG 用戶可存取的表、視圖、同義詞、序列。(6)CONSTRAINTS 用戶可存取的約束。(7)INDEXES 用戶可存取的表和聚集的序列。(8)OBJECTS 用戶可存取的對象。(9)TABLES 用戶可存取的表。(10)USERS 查看當前全部用戶。(11)VIEWS 查看用戶可存取的視圖。(12)SYSTABAUTH 用戶對數據對象的使用權限。可以用SQL>SEL
14、ECT*FROM字典表名或視圖名WHERE條件來讀取有關信息。可以用SQL>DESCRIBE表名來查看表的結構定義。但是數據庫字典的結構不可改。用DESCRIBE命令還可以查看視圖及過程的定義。6.ORACLE的SQL、PL/SQL與SQL*PLUS作為ORACLE數據庫核心的SQL語言是ANSI和ISO的標準SQL的擴充。用來存儲、檢索和維護數據庫中的信息,并控制對數據庫的存取事務。由于RDBMS執行SQL語句時,是一次只執行一條語句,它是非過程化的。這就使得單條的SQL語句使用方便,功能強大。用戶只需說明操作目的,不必關心具體操作的實現方法。但在實際數據庫應用開發中,往往要依據前一步
15、對數據庫操作的結果或上一個事務提交的情況來確定下一步的操作。故ORACLE推出了一種PL/SQL工具,它擴充了SQL語句,使之具有可進行過程化編程的能力,如循環、分支功能。PL/SQL可支持變量和常量的使用。例如在SELECT查詢語句的where子句中可以使用變量來書寫條件表達式。SQL*PLUS是ORACLE用來存儲、查詢、操縱、控制和報告數據庫中信息的一個交互式工具。它是一種集編輯、調試、運行于一體的開發環境。在SQL*PLUS的這種運行環境下,既可以使用SQL命令、PL/SQL語句、及SQL*PLUS自己提供的命令,又可以運行由上述三類命令(或語句)編輯而成的命令文件。SQL*PLUS提
16、供的附加命令主要用來編輯、運行上述三類命令及命令文件和對查詢結果進行格式化輸出等功能。7.數據庫系統的管理ORACLE作為一個大型的數據系統,通常包含很多用戶的數據。在應用開發過程中,有許許多多的各類人員進行開發和應用。所以必須要求有人對數據庫系統進行臨時管理,并進行數據的備份等工作。這種人被稱為數據庫管理員(Data Base Administrator)。他們必須理解數據庫系統管理,清楚數據庫包含的數據內容、運行狀況等。一般說來,DBA不是指具體的人,而是指對數據庫可以行使DBA特權的用戶。DBA具有如下責任:(1)ORACLE服務器和客戶工作站軟件的安裝和升級;(2)創建基本的數據庫存儲結構(表空間);(3)創建基本的數據庫客體(表、視圖、索引);(4)修改數據庫結構;(5)給用戶授權,維護系統安全;(6)控制和管理用戶對數據庫的訪問;(7)監視和優化數據庫的性能;(8)計算數據庫信息的后備和恢復;(9)后備和恢復數據庫;(10)構造ORACLE服務器,如創建數據庫鏈、客體同義詞等。而應用開發人員須完
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程制圖基礎 05第三章學習資料
- 江蘇省常州市新北區重點名校2025屆初三中考模擬沖刺卷(提優卷)(一)生物試題含解析
- 山東經貿職業學院《管理學經典閱讀》2023-2024學年第二學期期末試卷
- 唐山師范學院《工程估價與實務》2023-2024學年第二學期期末試卷
- 卓越學術之路
- 二零二五版車輛質押借款合同書范例
- 天津家庭裝修合同書
- 轉診合作協議書模板
- 私人借款延期補充協議書
- 引領家居設計創新
- (完整版)供應商審核表
- 說專業(市場營銷專業)課件
- 火電廠工藝流程圖
- 以“政府績效與公眾信任”為主題撰寫一篇小論文6篇
- 員工獎懲簽認單
- 水腫病患者的護理查房ppt
- 第18章生殖毒性研究
- CSD恒速傳動裝置
- 美的空調制造工藝手冊(共220頁)
- 天醫門符法修煉與祝由移病法
- 皮膚營養美容
評論
0/150
提交評論