1oracle基礎(chǔ)知識(shí)培訓(xùn)_第1頁
1oracle基礎(chǔ)知識(shí)培訓(xùn)_第2頁
1oracle基礎(chǔ)知識(shí)培訓(xùn)_第3頁
1oracle基礎(chǔ)知識(shí)培訓(xùn)_第4頁
1oracle基礎(chǔ)知識(shí)培訓(xùn)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Oracle基礎(chǔ)知識(shí)培訓(xùn)服務(wù)支持部謝亞濤議題Oracle簡介Oracle數(shù)據(jù)庫體系結(jié)構(gòu)12SQL簡介3Oracle簡介Oracle(中文名稱叫甲骨文)是一家1977成立于加利福尼亞的軟件公司Oracle數(shù)據(jù)庫是Oracle公司的核心產(chǎn)品,它是世界上第一個(gè)關(guān)系型數(shù)據(jù)管理系統(tǒng)(RDBMS)Oracle數(shù)據(jù)庫是一個(gè)適合于大中型企業(yè)的數(shù)據(jù)庫管理系統(tǒng),在所有的數(shù)據(jù)庫管理系統(tǒng)中(比如:微軟的SQLServer,IBM的DB2等),Oracle的主要用戶涉及面非常廣,包括:銀行、電信、移動(dòng)通信、航空、保險(xiǎn)、金融、電子商務(wù)和跨國公司等。Oracle產(chǎn)品是免費(fèi)的,可以在Oracle官方網(wǎng)站上下載到安裝包,另一方面Oracle服務(wù)是收費(fèi)的Oracle版本Oracle公司成立以來,從最初的數(shù)據(jù)庫版本到Oracle7、Oracle8i、Oracle9i、Oracle10g、Oracle11g到最新的Oracle12c,雖然每一個(gè)版本之間的操作都存在一定的差別,但是Oracle對(duì)數(shù)據(jù)的操作基本上都遵循SQL標(biāo)準(zhǔn),因此對(duì)Oracle開發(fā)來說版本之間的差別不大我們目前公司產(chǎn)品使用的Oracle版本基本以O(shè)racle10g和Oracle11gR2為主,同樣也支持Oracle9iOracle所支持的平臺(tái)Oracle數(shù)據(jù)庫支持很多操作系統(tǒng)平臺(tái),被廣泛的應(yīng)用到Windows、Linux、基于UNIX系統(tǒng)的小型機(jī)(AIX、HPUX)、IBM大型機(jī)以及一些專用硬件操作系統(tǒng)平臺(tái)針對(duì)不同操作系統(tǒng)平臺(tái)需要下載相對(duì)應(yīng)的Oracle數(shù)據(jù)庫軟件才能安裝成功,并且有32位系統(tǒng)和64位系統(tǒng)之分目前公司產(chǎn)品使用的Oracle數(shù)據(jù)庫安裝平臺(tái)主要為windows系統(tǒng),同樣支持其他平臺(tái)下的數(shù)據(jù)庫議題Oracle簡介Oracle數(shù)據(jù)庫體系結(jié)構(gòu)12SQL簡介3網(wǎng)格數(shù)據(jù)庫Oracle10g中的“g”代表網(wǎng)格(gridding)技術(shù),從Oracle9i開始采用的RAC(RealApplicationCluster,真正應(yīng)用集群)技術(shù)也是Oracle數(shù)據(jù)庫支持網(wǎng)格計(jì)算環(huán)境的核心技術(shù)RAC的出現(xiàn)解決了傳統(tǒng)數(shù)據(jù)庫應(yīng)用中面臨的一個(gè)重要問題:高性能、高可伸縮性與低價(jià)格之間的矛盾。對(duì)需要建立數(shù)據(jù)中心的企業(yè)來說,Oracle9iRAC加上刀片服務(wù)器和Linux操作系統(tǒng),就完全能夠替代傳統(tǒng)的基于大型機(jī)的數(shù)據(jù)系統(tǒng)Automatic

Storage

ManagementReal

Application

ClustersOracle

Streams

Enterprise

Manager

GridControl存儲(chǔ)網(wǎng)格數(shù)據(jù)庫網(wǎng)格應(yīng)用程序網(wǎng)格網(wǎng)格控制網(wǎng)格數(shù)據(jù)庫Oracle的網(wǎng)格計(jì)算技術(shù)包括:AutomaticStorageManagement(ASM)(在所有磁盤中分布數(shù)據(jù)庫數(shù)據(jù),存儲(chǔ)層面上網(wǎng)格)RealApplicationClusters(RAC)(高可用、集群)OracleStreams(用于在網(wǎng)格中的應(yīng)用程序之間進(jìn)行通信)EnterpriseManager/GridControl(管理網(wǎng)格級(jí)操作,通過代理對(duì)網(wǎng)絡(luò)中多臺(tái)數(shù)據(jù)庫進(jìn)行管理)Oracle數(shù)據(jù)庫體系結(jié)構(gòu)由Oracle實(shí)例和Oracle數(shù)據(jù)庫組成Oracle實(shí)例每一個(gè)運(yùn)行的Oracle數(shù)據(jù)庫都與一個(gè)Oracle實(shí)例關(guān)聯(lián),在數(shù)據(jù)庫服務(wù)器上啟動(dòng)數(shù)據(jù)庫后,Oracle軟件會(huì)分配一個(gè)稱為系統(tǒng)全局區(qū)(SGA)的共享內(nèi)存區(qū),還會(huì)啟動(dòng)若干個(gè)Oracle后臺(tái)進(jìn)程,這種由SGA和Oracle后臺(tái)進(jìn)程組成的組合就稱為一個(gè)Oracle實(shí)例啟動(dòng)實(shí)例后,Oracle軟件會(huì)將實(shí)例與特定的數(shù)據(jù)庫關(guān)聯(lián)。這個(gè)過程稱為裝載數(shù)據(jù)庫。然后可打開數(shù)據(jù)庫,使得授權(quán)用戶可訪問數(shù)據(jù)庫。在同一臺(tái)計(jì)算機(jī)上可以并發(fā)執(zhí)行多個(gè)實(shí)例,每一個(gè)實(shí)例只訪問它自己的物理數(shù)據(jù)庫內(nèi)存結(jié)構(gòu)與Oracle實(shí)例關(guān)聯(lián)的基本內(nèi)存結(jié)構(gòu)包括:系統(tǒng)全局區(qū)(SGA):由所有服務(wù)器進(jìn)程和后臺(tái)進(jìn)程共享程序全局區(qū)(PGA):專用于每一個(gè)服務(wù)器進(jìn)程或后臺(tái)進(jìn)程,每一個(gè)進(jìn)程使用一個(gè)PGASGA是包含實(shí)例的數(shù)據(jù)和控制信息的內(nèi)存區(qū),SGA包含以下數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)庫緩沖區(qū)高速緩存:緩存從數(shù)據(jù)庫檢索的數(shù)據(jù)塊,來防止不必要的數(shù)據(jù)塊從磁盤重讀重做日志緩沖區(qū):高速緩存重做信息(用于實(shí)例恢復(fù)),直到可以將其寫入磁盤中存儲(chǔ)的物理重做日志文件共享池:緩存可在用戶間共享的各個(gè)結(jié)構(gòu),用于存儲(chǔ)如SQL、PL/SQL存儲(chǔ)過程及包、數(shù)據(jù)字典、鎖、字符集信息等大型池:是一個(gè)可選區(qū)域,可為某些大型進(jìn)程(如Oracle備份和恢復(fù)操作、I/O服務(wù)器進(jìn)程)提供大量內(nèi)存分配Java池:用于Java虛擬機(jī)(JVM)中所有特定會(huì)話的Java代碼和數(shù)據(jù)Streams池:由OracleStreams使用內(nèi)存結(jié)構(gòu)進(jìn)程結(jié)構(gòu)用戶進(jìn)程:在數(shù)據(jù)庫用戶請(qǐng)求連接到Oracle服務(wù)器時(shí)啟動(dòng)服務(wù)器進(jìn)程:可以連接到Oracle實(shí)例,它在用戶建立會(huì)話時(shí)啟動(dòng)后臺(tái)進(jìn)程:在啟動(dòng)Oracle實(shí)例時(shí)啟動(dòng)Oracle實(shí)例管理Oracle實(shí)例由稱為系統(tǒng)全局區(qū)(SGA)的內(nèi)存結(jié)構(gòu)和后臺(tái)進(jìn)程構(gòu)成,這些后臺(tái)進(jìn)程可以處理實(shí)例運(yùn)行中涉及的大量后臺(tái)任務(wù)以下是最常見的后臺(tái)進(jìn)程:系統(tǒng)監(jiān)視器(SMON):出現(xiàn)故障后啟動(dòng)實(shí)例時(shí)執(zhí)行崩潰恢復(fù)任務(wù)進(jìn)程監(jiān)視器(PMON):用戶進(jìn)程失敗時(shí)執(zhí)行進(jìn)程清理任務(wù)數(shù)據(jù)庫寫進(jìn)程(DBWn):將修改后的塊從數(shù)據(jù)庫緩沖區(qū)高速緩存寫入磁盤中的數(shù)據(jù)文件檢查點(diǎn)(CKPT):通過更新數(shù)據(jù)庫的所有數(shù)據(jù)文件和控制文件指出最新的檢查點(diǎn)日志寫進(jìn)程(LGWR):將重做日志條目寫入磁盤歸檔進(jìn)程(ARCn):發(fā)生日志切換時(shí)將重做日志文件復(fù)制到歸檔存儲(chǔ)器Oracle實(shí)例管理物理結(jié)構(gòu)物理數(shù)據(jù)庫結(jié)構(gòu)是由構(gòu)成數(shù)據(jù)庫的操作系統(tǒng)文件所決定,Oracle數(shù)據(jù)庫文件主要包括:數(shù)據(jù)文件(DataFile)數(shù)據(jù)文件用來存儲(chǔ)數(shù)據(jù)庫中的全部數(shù)據(jù),例如數(shù)據(jù)庫表中的數(shù)據(jù)和索引數(shù)據(jù)等,通常以為*.dbf格式,例如:SYSTEM01.dbf物理結(jié)構(gòu)重做日志文件(RedoLogFile)日志文件用于記錄數(shù)據(jù)庫所做的全部變更(如增加、刪除、修改)、以便在系統(tǒng)發(fā)生故障時(shí),用它對(duì)數(shù)據(jù)庫進(jìn)行恢復(fù)物理結(jié)構(gòu)控制文件(ControlFile)每個(gè)Oracle數(shù)據(jù)庫都有相應(yīng)的控制文件,它們一般為二進(jìn)制文件,用于記錄數(shù)據(jù)庫的物理結(jié)構(gòu),如:數(shù)據(jù)庫名、數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件的名字和位置等信息。用于打開、存取數(shù)據(jù)庫。名字通常為Ctrl*.ctl格式,如:control01.ctl參數(shù)文件配置文件記錄Oracle數(shù)據(jù)庫運(yùn)行時(shí)的一些重要參數(shù),如:數(shù)據(jù)塊的大小,內(nèi)存結(jié)構(gòu)的配置等。名字通常為init*.ora格式,如:initORCL.ora。物理結(jié)構(gòu)表空間和數(shù)據(jù)文件一個(gè)表空間中包括一個(gè)或多個(gè)數(shù)據(jù)文件一個(gè)數(shù)據(jù)文件僅歸屬于一個(gè)表空間一個(gè)數(shù)據(jù)庫可劃分為多個(gè)邏輯存儲(chǔ)單元,這些單元稱為表空間,表空間可用于對(duì)相關(guān)邏輯結(jié)構(gòu)進(jìn)行分組。每一個(gè)數(shù)據(jù)庫都按邏輯方式劃分為一個(gè)或多個(gè)表空間可以為每一個(gè)表空間顯式創(chuàng)建一個(gè)或多個(gè)數(shù)據(jù)文件,這樣可在表空間中按物理方式存儲(chǔ)所有邏輯結(jié)構(gòu)的數(shù)據(jù)Oracle默認(rèn)安裝的表空間SYSTEM和SYSAUX表空間是必需存在的表空間,這些表空間是在創(chuàng)建數(shù)據(jù)庫時(shí)創(chuàng)建的,這些表空間必須聯(lián)機(jī)SYSTEM表空間用于核心功能(例如,數(shù)據(jù)字典表)輔助的SYSAUX表空間用于附加的數(shù)據(jù)庫組件(例如,EnterpriseManagerRepository)USERS:默認(rèn)用戶表空間,如果創(chuàng)建用戶時(shí)沒有指定用戶默認(rèn)表空間,則自動(dòng)設(shè)置為USERSTEMP:默認(rèn)臨時(shí)表空間(主要用作查詢時(shí)帶有排序(Groupby,Orderby)等算法所用,當(dāng)用完后就立即釋放,對(duì)記錄在磁盤區(qū)的信息不再使用)UNDOTBS:事務(wù)回滾表空間段、區(qū)和塊段存在于表空間段由區(qū)的集合構(gòu)成區(qū)是數(shù)據(jù)塊的集合數(shù)據(jù)塊會(huì)映射到磁盤塊如何存儲(chǔ)表數(shù)據(jù)邏輯和物理數(shù)據(jù)庫結(jié)構(gòu)user和schema概念Oracle首先通過用戶或稱方案(schema)來組織數(shù)據(jù)。因此我們在進(jìn)行數(shù)據(jù)初始化、備份與恢復(fù)時(shí),都是以用戶為單位常見用戶:SYS、SYSTEM:數(shù)據(jù)庫管理員,擁有最大權(quán)限,即DBA,同時(shí)組織了Oracle本身的系統(tǒng)表TOPO、NUMEN、CARRIER:即我們產(chǎn)品所建立使用的用戶,組織存放了產(chǎn)品所產(chǎn)生的數(shù)據(jù)user即Oracle中的用戶,和所有系統(tǒng)的中用戶概念類似,用戶所持有的是系統(tǒng)的權(quán)限及資源,schema所涵蓋的是各種對(duì)象,它包含了表、函數(shù)、視圖等對(duì)象的“所在地”,并不包括對(duì)他們的權(quán)限控制結(jié)構(gòu)化組件總覽內(nèi)存結(jié)構(gòu):系統(tǒng)全局區(qū)(SGA):數(shù)據(jù)庫緩沖區(qū)高速緩存、重做緩沖區(qū)和各種池程序全局區(qū)(PGA)進(jìn)程結(jié)構(gòu):用戶進(jìn)程和服務(wù)器進(jìn)程后臺(tái)進(jìn)程:SMON、PMON、DBWn、CKPT、LGWR、ARCn等等存儲(chǔ)結(jié)構(gòu):邏輯:數(shù)據(jù)庫、方案、表空間、段、區(qū)和塊物理:數(shù)據(jù)文件、參數(shù)、重做日志和OS塊使用的文件redo概念每次操作都先記錄到redo日志中,當(dāng)出現(xiàn)實(shí)例故障(像斷電),導(dǎo)致數(shù)據(jù)未能更新到數(shù)據(jù)文件,則數(shù)據(jù)庫重啟時(shí)須redo,重新把數(shù)據(jù)更新到數(shù)據(jù)文件記錄所有操作,用于恢復(fù)(redorecordsallthedatabasetransactionusedforrecovery)redo的原因是:每次commit時(shí),將數(shù)據(jù)的修改立即寫到onlineredo中,但是并不一定同時(shí)將該數(shù)據(jù)的修改寫到數(shù)據(jù)文件中。因?yàn)樵摂?shù)據(jù)已經(jīng)提交,但是只存在聯(lián)機(jī)日志文件中,所以在恢復(fù)時(shí)需要將數(shù)據(jù)從聯(lián)機(jī)日志文件中找出來,重新應(yīng)用一下,使已經(jīng)更改數(shù)據(jù)在數(shù)據(jù)文件中也改過來undo概念記錄更改前的一份備份數(shù)據(jù),當(dāng)你系統(tǒng)rollback時(shí),把這份copy重新覆蓋到原來的數(shù)據(jù)是數(shù)據(jù)修改前的備份,用于回滾(undoisusedtostoreuncommiteddatainforusedforrollback)undo的原因是:在oracle正常運(yùn)行時(shí),為了提高效率,假如用戶還沒有commit,但是空閑內(nèi)存不多時(shí),會(huì)由DBWR進(jìn)程將臟塊寫入到數(shù)據(jù)文件中,以便騰出寶貴的內(nèi)存供其它進(jìn)程使用。這就是需要UNDO的原因。因?yàn)檫€沒有發(fā)出commit語句,但是oracle的dbwr進(jìn)程已經(jīng)將沒有提交的數(shù)據(jù)寫到數(shù)據(jù)文件(undo表空間對(duì)應(yīng)得數(shù)據(jù)文件)中去了議題Oracle簡介Oracle數(shù)據(jù)庫體系結(jié)構(gòu)12SQL簡介3SQL介紹SQL是StructuredQueryLanguage(結(jié)構(gòu)化查詢語言)的縮寫是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng),同時(shí)也是數(shù)據(jù)庫腳本文件的擴(kuò)展名發(fā)展史1970:E.J.Codd發(fā)表了關(guān)系數(shù)據(jù)庫理論(relationaldatabasetheory);1974-79:IBM以Codd的理論為基礎(chǔ)開發(fā)了“Sequel”,并重命名為"結(jié)構(gòu)化查詢語言";1979:Oracle發(fā)布了商業(yè)版結(jié)構(gòu)化查詢語言1981-84:出現(xiàn)了其他商業(yè)版本,分別來自IBM(DB2),DataGeneral,RelationalTechnology(INGRES);經(jīng)歷了結(jié)構(gòu)化查詢語言/86/89/92三個(gè)版本92(aka結(jié)構(gòu)化查詢語言2)1997+:成為動(dòng)態(tài)網(wǎng)站(Dynamicwebcontent)的后臺(tái)支持;結(jié)構(gòu)化查詢語言/2003:包含了XML相關(guān)內(nèi)容,自動(dòng)生成列值(columnvalues);結(jié)構(gòu)化查詢語言/2006:定義了結(jié)構(gòu)化查詢語言與XML(包含XQuery)的關(guān)聯(lián)應(yīng)用;2006:Sun公司將以結(jié)構(gòu)化查詢語言基礎(chǔ)的數(shù)據(jù)庫管理系統(tǒng)嵌入JavaV6SQL語句結(jié)構(gòu)結(jié)構(gòu)化查詢語言包含6個(gè)部分:數(shù)據(jù)查詢語言(DQL):其語句也稱為“數(shù)據(jù)檢索語句”,用以從表中獲得數(shù)據(jù),確定數(shù)據(jù)怎樣在應(yīng)用程序給出。保留字SELECT是DQL(也是所有SQL)用得最多的動(dòng)詞,其他DQL常用的保留字有WHERE,ORDERBY,GROUPBY和HAⅥNG。這些DQL保留字常與其他類型的SQL語句一起使用數(shù)據(jù)操作語言(DML):其語句包括動(dòng)詞INSERT,UPDATE和DELETE。它們分別用于添加,修改和刪除表中的行。也稱為動(dòng)作查詢語言事務(wù)處理語言(TPL):它的語句能確保被DML語句影響的表的所有行及時(shí)得以更新。TPL語句包括BEGINTRANSACTION,COMMIT和ROLLBACK數(shù)據(jù)控制語言(DCL):它的語句通過GRANT或REVOKE獲得許可,確定單個(gè)用戶和用戶組對(duì)數(shù)據(jù)庫對(duì)象的訪問數(shù)據(jù)定義語言(DDL):其語句可在數(shù)據(jù)庫中創(chuàng)建新表(CREATTABLE);為表加入索引等。DDL包括許多與人數(shù)據(jù)庫目錄中獲得數(shù)據(jù)有關(guān)的保留字。它也是動(dòng)作查詢的一部分指針控制語言(CCL):它的語句,像DECLARECURSOR,F(xiàn)ETCHINTO和UPDATEWHERECURRENT用于對(duì)一個(gè)或多個(gè)表單獨(dú)行的操作常用SQL舉例DML(數(shù)據(jù)查詢更新)查詢數(shù)據(jù):select*fromtablenamewherecol2=‘key’;插入數(shù)據(jù):insertintotablename(col1,col2)values(col1,col2);更新數(shù)據(jù):updatetablenamesetcol1=‘value’wherecol2=‘key’;刪除數(shù)據(jù):deletetablenamewherecol2=‘key’;DDL(數(shù)據(jù)結(jié)構(gòu)維護(hù))createtabledroptablecreateindexdropindextruncatetableDCL(數(shù)據(jù)控制語言,各個(gè)數(shù)據(jù)庫不太一樣)createusercreatetablespace常見數(shù)據(jù)類型VARCHAR2(size):可變長度的字符串,其最大長度為size個(gè)字節(jié),size的最大值是4000,而最小值是1,必須指定一個(gè)VARCHAR2的sizeC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論