資源描述:
《oracle從入門到精通_經(jīng)典》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、第一章Oracle入門課程地位.Net&C#SQLServerXMLSPMASP.NET&WebServiceOracleUMLSPR:ComputerBaseHTML&JavaScriptSQLServerBaseOOP&JavaBaseCSTBJSP/ServletEJB&WebServiceWinFormsStruts&JSFTesting&SQALinux2課程目標理解Oracle數(shù)據(jù)庫體系結(jié)構(gòu)熟練掌握SQL命令和SQL函數(shù)使用Oracle的各種數(shù)據(jù)庫對象使用PL/SQL編寫存儲過程掌握基本的數(shù)據(jù)庫配置和管理3目標了解Oracl
2、e體系結(jié)構(gòu)的各種組件掌握Oracle中的基本用戶管理了解Oracle的工具了解Oracle的安裝和卸載4Oracle數(shù)據(jù)庫簡介2-1對象關系型的數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)在管理信息系統(tǒng)、企業(yè)數(shù)據(jù)處理、因特網(wǎng)及電子商務等領域使用非常廣泛在數(shù)據(jù)安全性與數(shù)據(jù)完整性控制方面性能優(yōu)越跨操作系統(tǒng)、跨硬件平臺的數(shù)據(jù)互操作能力Oracle數(shù)據(jù)庫的主要特點支持多用戶、大事務量的事務處理數(shù)據(jù)安全性和完整性控制支持分布式數(shù)據(jù)處理可移植性5Oracle數(shù)據(jù)庫簡介2-2Oracle數(shù)據(jù)庫基于客戶端/服務器技術客戶端應用程序通過向服務器請求并接收信息的方式與數(shù)
3、據(jù)庫進行交互。它充當用戶與數(shù)據(jù)庫之間的接口請求響應數(shù)據(jù)庫服務器對數(shù)據(jù)庫表進行最佳管理,處理多個客戶端對同一數(shù)據(jù)的并發(fā)訪問。全面地保持數(shù)據(jù)完整性,并控制數(shù)據(jù)庫訪問權限等安全性需求網(wǎng)絡服務器6Oracle9i體系結(jié)構(gòu)Oracle服務器Oracle數(shù)據(jù)庫Oracle實例Oracle數(shù)據(jù)庫是一個數(shù)據(jù)的集合,該集合被視為一個邏輯單元管理數(shù)據(jù)庫的后臺進程和內(nèi)存結(jié)構(gòu)的集合稱為Oracle實例數(shù)據(jù)庫的體系結(jié)構(gòu)是指數(shù)據(jù)庫的組成、工作過程與原理,以及數(shù)據(jù)在數(shù)據(jù)庫中的組織與管理機制Oracle服務器提供開放、全面和綜合的信息管理,它由Oracle數(shù)據(jù)庫和Or
4、acle實例組成7Oracle主要組件實例內(nèi)存結(jié)構(gòu)后臺進程PMONSMONDBWRLGWRCKPT其他數(shù)據(jù)庫數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)文件控制文件控制文件日志文件日志文件參數(shù)文件歸檔日志文件口令文件SGA用戶進程服務器進程PGA共享池數(shù)據(jù)緩沖區(qū)日志緩沖區(qū)8Oracle實例Oracle實例是后臺進程和內(nèi)存結(jié)構(gòu)的集合Oracle實例系統(tǒng)全局區(qū)后臺進程分配啟動9Oracle數(shù)據(jù)庫Oracle數(shù)據(jù)庫由操作系統(tǒng)文件組成,這些文件為數(shù)據(jù)庫信息提供實際物理存儲區(qū)Oracle數(shù)據(jù)庫包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu)物理結(jié)構(gòu)邏輯結(jié)構(gòu)物理結(jié)構(gòu)包含數(shù)據(jù)庫中的一組操作系統(tǒng)文件。
5、邏輯結(jié)構(gòu)指數(shù)據(jù)庫創(chuàng)建之后形成的邏輯概念之間的關系Oracle數(shù)據(jù)庫10會話會話是用戶與Oracle服務器的單個連接當用戶與服務器建立連接時創(chuàng)建會話當用戶與服務器斷開連接時關閉會話啟動Oracle實例使用SQL*Plus連接至數(shù)據(jù)庫創(chuàng)建用戶進程創(chuàng)建服務器進程提交SQL查詢11Oracle實例內(nèi)存結(jié)構(gòu)系統(tǒng)全局區(qū)(SGA)程序全局區(qū)(PGA)Oracle實例啟動時分配系統(tǒng)全局區(qū)當服務器進程啟動時分配程序全局區(qū)Oracle的內(nèi)存結(jié)構(gòu)包含以下兩個內(nèi)存區(qū):內(nèi)存區(qū)12系統(tǒng)全局區(qū)2-1數(shù)據(jù)庫信息存儲于SGA,由多個數(shù)據(jù)庫進程共享共享池數(shù)據(jù)緩沖區(qū)日志緩沖
6、區(qū)SGA的內(nèi)存結(jié)構(gòu)13系統(tǒng)全局區(qū)2-2共享池共享池是對SQL、PL/SQL程序進行語法分析、編譯、執(zhí)行的內(nèi)存區(qū)域共享池由庫緩存和數(shù)據(jù)字典緩存組成。共享池的大小直接影響數(shù)據(jù)庫的性能。數(shù)據(jù)緩沖區(qū)用于存儲從磁盤數(shù)據(jù)文件中讀入的數(shù)據(jù),所有用戶共享。服務器進程將讀入的數(shù)據(jù)保存在數(shù)據(jù)緩沖區(qū)中,當后續(xù)的請求需要這些數(shù)據(jù)時可以在內(nèi)存中找到,不需要再從磁盤讀取,提高了讀取速度。數(shù)據(jù)緩沖區(qū)的大小對數(shù)據(jù)庫的讀取速度有直接的影響。日志緩沖區(qū)日志記錄數(shù)據(jù)庫的所有修改信息,日志信息首先產(chǎn)生于日志緩沖區(qū)。當日志緩沖區(qū)的日志數(shù)據(jù)達到一定數(shù)量時,由后臺進程將日志數(shù)據(jù)寫入
7、日志文件中。相對來說,日志緩沖區(qū)對數(shù)據(jù)庫的性能影響較小。14程序全局區(qū)程序全局區(qū)(PGA)包含單個服務器進程所需的數(shù)據(jù)和控制信息PGA是在用戶進程連接到數(shù)據(jù)庫并創(chuàng)建一個會話時自動分配的,保存每個與Oracle數(shù)據(jù)庫連接的用戶進程所需的信息PGA為非共享區(qū),只能單個進程使用,當一個用戶會話結(jié)束,PGA釋放15Oracle實例進程結(jié)構(gòu)Oracle實例有幾種不同類型的進程,它們是:實例進程用戶進程服務器進程后臺進程用戶進程是一個需要與Oracle服務器進行交互的程序。當用戶運行一個應用程序準備向數(shù)據(jù)庫服務器發(fā)送請求時,即創(chuàng)建了用戶進程服務器進
8、程用于處理連接到該實例的用戶進程的請求。當用戶連接至Oracle數(shù)據(jù)庫實例創(chuàng)建會話時,即產(chǎn)生服務器進程后臺進程是Oracle數(shù)據(jù)庫為了保持最佳系統(tǒng)性能和協(xié)調(diào)多個用戶請求而設置的。Oracle實例啟動時即創(chuàng)建