oracle系列培訓(xùn)ppt課件_第1頁(yè)
oracle系列培訓(xùn)ppt課件_第2頁(yè)
oracle系列培訓(xùn)ppt課件_第3頁(yè)
oracle系列培訓(xùn)ppt課件_第4頁(yè)
oracle系列培訓(xùn)ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、鑫諾通訊技術(shù)tannerOracle 根底.目錄Oracle 體系架構(gòu) 初步認(rèn)識(shí)Oracle的組成, oracle架構(gòu)的根底知識(shí) Oracle 開發(fā) 運(yùn)用Oracle進(jìn)展開發(fā),如建立Oracle銜接,PL/SQL的運(yùn)用等.相關(guān)的開發(fā)工具運(yùn)用 PowerDesign,PL/SQL Developer等工具的運(yùn)用.1.Oracle 體系架構(gòu)StrategyChallengers Forward324數(shù)據(jù)庫(kù)與實(shí)例1.1數(shù)據(jù)庫(kù)與實(shí)例區(qū)別實(shí)例是一組后臺(tái)進(jìn)程和內(nèi)存數(shù)據(jù)庫(kù)是磁盤上存儲(chǔ)的數(shù)據(jù)的集合,它是物理的,而實(shí)例是邏輯的,數(shù)據(jù)庫(kù)封鎖后實(shí)例就消亡了.實(shí)例一次只能翻開一個(gè)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)可以由一個(gè)和多實(shí)例翻開(R

2、AC)用戶只能經(jīng)過實(shí)例與數(shù)據(jù)庫(kù)打交道1.1.1數(shù)據(jù)庫(kù)的啟動(dòng)過程N(yùn)OMOUNT 讀取初始化參數(shù)(init.ora,pfile,spfile),并且分配物理內(nèi)存,經(jīng)過初始化參數(shù)定位到控制文件(control file),啟動(dòng)后臺(tái)進(jìn)程.MOUNT 讀取并翻開控制文件,并確認(rèn)到database的構(gòu)造信息。 OPEN 一切文件被翻開,并確認(rèn)database形狀 1.1.2數(shù)據(jù)庫(kù)的封鎖方法封鎖數(shù)據(jù)庫(kù),經(jīng)過shutdown命令shutdown 命令格式shutdown normal | transactional | immediate | abort ;*normal:a:阻止任何用戶建立新的銜接b:等待

3、銜接的用戶自動(dòng)斷開,正在銜接的用戶可以繼續(xù)任務(wù),甚至提交新的實(shí)務(wù)。c:一旦一切的用戶斷開銜接,才進(jìn)展封鎖,卸載數(shù)據(jù)庫(kù),并終止實(shí)例。影響:等很久。 * transactional:a:阻止任何用戶建立新的銜接,同時(shí)阻止產(chǎn)生新的事務(wù)。b:等待未提交的實(shí)務(wù),提交終了后,切斷用戶的銜接。c:一旦一切的用戶斷開銜接,才進(jìn)展封鎖,卸載數(shù)據(jù)庫(kù),并終止實(shí)例。影響:最好的封鎖數(shù)據(jù)庫(kù)的方式。 * immediate:a:阻止任何用戶建立新的銜接,同時(shí)阻止產(chǎn)生新的事務(wù)。b:任何未提交的實(shí)務(wù)都會(huì)被回滾。c:Oracle不再等待用戶自動(dòng)斷開銜接,而是直接封鎖、卸載數(shù)據(jù)庫(kù),并終止實(shí)例。影響:有些實(shí)務(wù)不會(huì)提交勝利。重啟之后

4、不需求恢復(fù)動(dòng)作。無(wú)損傷。 * abort:a:阻止任何用戶建立新的銜接,同時(shí)阻止產(chǎn)生新的事務(wù)。b:立刻終了當(dāng)前正在執(zhí)行的sql語(yǔ)句。c:任何未提交的實(shí)務(wù)都不會(huì)被回滾。d:立刻斷開一切用戶銜接,封鎖、卸載數(shù)據(jù)庫(kù),并終止實(shí)例。影響:關(guān)的是快,但是會(huì)呵斥數(shù)據(jù)信息喪失,下一次啟動(dòng)會(huì)需求恢復(fù)動(dòng)作。不要運(yùn)用此方法。1.2.1數(shù)據(jù)庫(kù)組成表示圖1.2數(shù)據(jù)庫(kù)的組成Oracle數(shù)據(jù)庫(kù)由控制文件、參數(shù)文件、數(shù)據(jù)文件、重做日志文件、歸檔文件、口令文件等組成.1.2.2參數(shù)文件指定控制文件位置 Oracle 從參數(shù)文件中讀取控制文件的名字和位置。 默許的數(shù)據(jù)庫(kù)優(yōu)化的設(shè)置 保管各種數(shù)據(jù)庫(kù)各種設(shè)置,可以經(jīng)過 show pa

5、rameter 命令來查看.指出歸檔日志的目的 show parameter log_archive_dest_1;1.2.3控制文件 包含維護(hù)和驗(yàn)證數(shù)據(jù)庫(kù)完好性的必要信息一個(gè)數(shù)據(jù)庫(kù)至少需求一個(gè)控制文件,通常數(shù)據(jù)庫(kù)有多個(gè)控制文件. 通??刂莆募韵聝?nèi)容: 數(shù)據(jù)庫(kù)稱號(hào) 一切數(shù)據(jù)庫(kù)文件和重做日志文件的完好途徑名 數(shù)據(jù)庫(kù)的創(chuàng)建時(shí)間和日期 當(dāng)前的日志序列號(hào) 相關(guān)的校驗(yàn)點(diǎn)信息 /quote還有rman備份信息撤銷段的開頭和結(jié)尾 查看控制文件內(nèi)容: Alter session set events immediate trace name CONTROLF level 101.2.4數(shù)據(jù)文件表空間 表

6、是建立在表空間下,表空間是邏輯的數(shù)據(jù)庫(kù)存儲(chǔ)構(gòu)造,位于儲(chǔ)存層次的頂層,它對(duì)應(yīng)著一個(gè)或多個(gè)數(shù)據(jù)文件,如新建一個(gè)表空間: CREATE TABLESPACE TBS_sltt NOLOGGING DATAFILE D:oracleTBS_slt.ORA SIZE 20M; 邏輯構(gòu)造 從物理的角度講數(shù)據(jù)文件 由操作系統(tǒng)的塊構(gòu)成,而 從邏輯角度講,數(shù)據(jù)文件 由: 段,區(qū)段,塊構(gòu)成存放表,索引,數(shù)據(jù)字典,回滾段等數(shù)據(jù)庫(kù)對(duì)像的地方1.2.5重做日志文件在線重做日志文件 假設(shè)是數(shù)據(jù)庫(kù)所在的主機(jī)掉電,就可以用在線重日志來恢復(fù)數(shù)據(jù)庫(kù)到掉電前的那個(gè)時(shí)辰。他在Oracle中的每個(gè)操作幾呼都會(huì)寫入在線重做日志文件. 例

7、如:向表中插入一行,插入的最終結(jié)果就會(huì)寫入在線重做日志。歸檔重做日志 假設(shè)包含數(shù)據(jù)文件的磁盤驅(qū)動(dòng)器損壞,oracle就會(huì)運(yùn)用歸檔重做日志文件恢復(fù)到 適當(dāng)?shù)臅r(shí)間點(diǎn)。要運(yùn)用歸檔日志文件數(shù)據(jù)庫(kù)必需以歸檔方式運(yùn)轉(zhuǎn): Alter Database Archivelog;歸檔方式/非歸檔 OLTP在線買賣系統(tǒng)宜采用歸檔方式, OLAP在線分析如數(shù)據(jù)倉(cāng)庫(kù)宜采用非歸檔方式 重做日志文件是至關(guān)重要的,它是數(shù)據(jù)庫(kù)的事務(wù)日志,萬(wàn)一實(shí)例或介質(zhì)出現(xiàn)失敗就可以用重做日志文件來恢復(fù)。1.2.6重做日志的任務(wù)原理重做日志是多組的,在線重做日志可以循環(huán)反復(fù)運(yùn)用,而歸檔重做日志可以無(wú)限擴(kuò)展,可以經(jīng)過以下命令查看重做日志: sel

8、ect group#, member from v$logfile order by group#;1.3實(shí)例組成內(nèi)存構(gòu)造1.3.1實(shí)例組成概要圖可經(jīng)過以下腳本查看數(shù)據(jù)庫(kù)中SGA的組件:select component,current_size from v$sga_dynamic_components;1.3.2 SGA組成共享池Shared pool) 共享池就是緩存程序的地方如: 當(dāng)運(yùn)轉(zhuǎn)一個(gè)Sql查詢語(yǔ)句后,他的SQL語(yǔ)句就緩存在共享池中,下一次運(yùn)轉(zhuǎn) 時(shí)Oracle不再?gòu)拇疟P重新讀取,假設(shè)1000個(gè)會(huì)話都在執(zhí)行一樣的代碼,那么只會(huì)加載這個(gè)代碼的一個(gè)副本,這樣以來速度就快多了。塊緩沖區(qū)高速

9、緩存DataBase Buffer Cache Oracle將數(shù)據(jù)快寫入到磁盤前和從磁盤讀取數(shù)據(jù)塊之后都會(huì)把數(shù)據(jù)塊存儲(chǔ)在塊緩沖區(qū)高速緩存中。大池Large Pool 當(dāng)共享池不能處置的大塊內(nèi)存就放在大池中處置。JAVA池JAVA Pool 支持在數(shù)據(jù)庫(kù)中運(yùn)轉(zhuǎn)Java。流池Stream Pool 它設(shè)計(jì)為數(shù)據(jù)庫(kù)共享/復(fù)制工具1.3.2 SGA組成重做日志緩沖區(qū)Redo log Buffer 暫存寫入到在線重做日志前的數(shù)據(jù):寫入重做日志的條件:每3秒一次提交Commit;要求LGWR切換日志文件重做緩沖區(qū)1/3已滿,或者包含了1M的緩存重做日志后臺(tái)進(jìn)程是在實(shí)例啟動(dòng)時(shí)自動(dòng)地建立。一個(gè)ORACLE實(shí)例

10、可以有許多后臺(tái)進(jìn)程,但它們不是不斷存在。主要的后臺(tái)進(jìn)程的名字為: 1.DBWR 數(shù)據(jù)庫(kù)寫入程序 2.LGWR 日志寫入程序 3.CKPT 檢查點(diǎn)進(jìn)程 4.SMON 系統(tǒng)監(jiān)控 5.PMON 進(jìn)程監(jiān)控 6.ARCH 歸檔進(jìn)程 7.RECO 分布式數(shù)據(jù)庫(kù)恢復(fù) 1.3.3后臺(tái)進(jìn)程1.3.4SCN(系統(tǒng)變卦號(hào))Scn用來標(biāo)識(shí)數(shù)據(jù)庫(kù)在某個(gè)時(shí)辰提交的版本,同時(shí)Scn是數(shù)據(jù)的內(nèi)部時(shí)鐘Scn的獲取方式:select dbms_flashback.get_system_change_number from dual;Scn的改動(dòng) 通常發(fā)生一個(gè)事務(wù)并且提交,scn即添加,但不一定是銜接的Scn普遍存在于控制文件,數(shù)

11、據(jù)文件,重做日志文件等中Oracle根據(jù)scn來實(shí)現(xiàn)一致性讀() 1.3.5 檢查點(diǎn) 檢查點(diǎn)可以看成數(shù)據(jù)庫(kù)的事件,它存在的根本意義在于減少數(shù)據(jù)庫(kù)解體的恢復(fù)時(shí)間.獲得檢查點(diǎn)select dbid,name,checkpoint_change# from v$database;檢查點(diǎn)的任務(wù)原理 當(dāng)檢查點(diǎn)完成后,檢查點(diǎn)之前修正正的數(shù)據(jù)都己經(jīng)寫回磁盤,重做日志文件中相應(yīng)重做記錄對(duì)于解體實(shí)例恢復(fù)已不再有用1.3.6 斷電解體數(shù)據(jù)庫(kù)實(shí)例的恢復(fù)過程斷電過程表示思圖 Log1 log2 log3最后完成檢查點(diǎn)的位置(100000)數(shù)據(jù)庫(kù)解體的位置100100最后完成檢查點(diǎn)時(shí)檢查點(diǎn)計(jì)數(shù)值:數(shù)據(jù)庫(kù)解體時(shí)的位檢查點(diǎn)

12、計(jì)數(shù)值:控制文件重做日志文件數(shù)據(jù)文件1000001001001001001000001000001000001.3.4系統(tǒng)架構(gòu)圖1.4數(shù)據(jù)字典1.X$表這一部分表是Oracle數(shù)據(jù)庫(kù)的運(yùn)轉(zhuǎn)根底,在數(shù)據(jù)庫(kù)啟動(dòng)時(shí)由Oracle運(yùn)用程序動(dòng)態(tài)創(chuàng)建。 2.GV$和V$視圖除了一些特例以外,每個(gè)V$視圖都有一個(gè)對(duì)應(yīng)的GV$視圖存在。3.GV_$,V_$視圖和V$,GV$同義詞這些視圖是經(jīng)過catalog.ql創(chuàng)建。 Oracle經(jīng)過數(shù)據(jù)字典來管理和展現(xiàn)數(shù)據(jù)庫(kù)信息,這些信息至關(guān)重要。正確了解這部分內(nèi)容有助于加強(qiáng)我們的oracle學(xué)習(xí)才干。 2. Oracle 開發(fā)讀取一致性數(shù)據(jù)庫(kù)特性綁定變量的運(yùn)用PL/sq

13、l開發(fā)2.1讀取一致性O(shè)racle從不阻塞讀,它經(jīng)過回滾段undo segment)來保證數(shù)據(jù)的正確性。模擬銀行ATM的買賣過程Select Sum(account_balance) from Accounts; Result:1250Oracle 事務(wù)隔離等級(jí).READ COMMIT;(一個(gè)事務(wù)只可以讀取該事務(wù)開場(chǎng)之前提交的數(shù)據(jù)。).SERIABLE;.READ UNCOMMIT:.REPEATABLE READ;假設(shè)查詢分為七個(gè)時(shí)間點(diǎn)完成:t1:查詢事務(wù)完成第一行累加 s=500t2:轉(zhuǎn)賬事務(wù)開場(chǎng)將第一行的賬戶轉(zhuǎn)賬400元到第4行賬戶上 第四行賬戶余額變?yōu)?00元.T7:查詢事務(wù)累加結(jié)果1

14、250?會(huì)不會(huì)多出400元?2.1讀取一致性2.2數(shù)據(jù)庫(kù)特性2.2.1序列 創(chuàng)建序列: create sequence SEQ_AREA minvalue 1 maxvalue 9999999999 start with 1 increment by 1 cache 20 cycle; 得到下一個(gè)值: select seq_area.nextval from dual 序列的運(yùn)用: (定義主鍵) insert into tbl_tbname(column1,) values (seq_area.nextval,);2.2.2遞歸SQL層次化查詢select rpad(*,2*level,*)|

15、ename from emp start with mgr is null connect by prior empno=mgr;select rpad(*,2*level,*)|ename from emp start with ename =SMITH connect by prior mgr=empno反向搜索2.3綁定變理的運(yùn)用運(yùn)用綁定變量:declare - Local variables here i integer;begin for i in 1.10000 loop execute immediate insert into X values(:x) using i;end

16、loop; end;不運(yùn)用綁定變量:declare - Local variables here i integer;begin for i in 1.10000 loop execute immediate insert into X values(|i|); end loop; end;運(yùn)用綁定參數(shù)可以在程序運(yùn)轉(zhuǎn)時(shí)動(dòng)態(tài)決議一些參數(shù)的值。下面比較不運(yùn)用綁定參數(shù)和運(yùn)用綁定參數(shù)時(shí)的情況。 2.3綁定變理的運(yùn)用實(shí)踐編程中的例子JAVA: String HQL=from Contents where logdate=+beginDate+ 00:00:00 and logdate?; /聲明hql語(yǔ)

17、句,命名參數(shù)用“?替代 Query query=session.createQuery(hql); /創(chuàng)建查詢 query.setParameter(0,李曉梅); /綁定參數(shù) query.setParameter(1,new Integer(20); List list=query.list(); /執(zhí)行查詢?cè)贖QL語(yǔ)句中用問號(hào)“?替代命名參數(shù)。此時(shí)setParameter()函數(shù)的第一個(gè)參數(shù)指定參數(shù)的位置position,0為HQL查詢語(yǔ)句中的第一個(gè)參數(shù),1為第二個(gè)參數(shù),以此類推。2.4 PL/SQL開發(fā)SQL語(yǔ)句DDL,DML PL/SQL開發(fā) 1.存儲(chǔ)過程 2.包 3.函數(shù) 4.游標(biāo)

18、5.事務(wù) 6.異常處置 7.觸發(fā)器3.相關(guān)開發(fā)工具的運(yùn)用3.1 Oracle客戶端的運(yùn)用Net Manager3.2 物理建模PowerDesign 建模,生成腳本,反向工程,生成數(shù)據(jù)字典3.3 PL/SQL開發(fā)工具PL/SQL DEVELOPER 導(dǎo)出數(shù)腳本,導(dǎo)出數(shù)據(jù),Debug,代碼協(xié)助,美化,二ORACLE高效設(shè)計(jì)優(yōu)化的方法:對(duì)操作系統(tǒng)的資源調(diào)整對(duì)Oracle數(shù)據(jù)庫(kù)系統(tǒng)級(jí)調(diào)整對(duì)用戶系統(tǒng)的設(shè)計(jì)優(yōu)化數(shù)據(jù)庫(kù)設(shè)計(jì)架構(gòu)師對(duì)程序?qū)崿F(xiàn)方法的優(yōu)化程序員/系統(tǒng)分析師對(duì)程序中與優(yōu)化程序員數(shù)據(jù)庫(kù)設(shè)計(jì)用戶系統(tǒng)的數(shù)據(jù)庫(kù)物理建模對(duì)用戶表的索引分區(qū)表的運(yùn)用正確運(yùn)用數(shù)據(jù)類型與優(yōu)化綁定變量運(yùn)用數(shù)據(jù)特性與內(nèi)置函數(shù)高效的高效

19、的性能工具包EXPLAIN PLAN執(zhí)行方案AUTOTRACETKPROFRUNSTATSSTATSPACKDBMS_PROFILEREXPLAIN PLAN執(zhí)行方案執(zhí)行$ORACLE_HOME/RDBMS/ADMIN下的UTLXPLAN.SQLDelete from plan_table;EXPLAIN PLAN for statement;執(zhí)行$ORACLE_HOME/RDBMS/ADMIN下的UTLXPLS.SQL閱讀查詢方案explain plan forselect ename, dname, grade from scott.emp, scott.dept, scott.salgr

20、ade where emp.deptno = dept.deptno and emp.sal between salgrade.losal and salgrade.hisalAUTOTRACE控制AUTOTRACE 輸出:1。SET AUTOTRACE OFF此為默許值,即封鎖Autotrace2。SET AUTOTRACE ON產(chǎn)生結(jié)果集和解釋方案并列出統(tǒng)計(jì)3。SET AUTOTRACE ON EXPLAIN顯示結(jié)果集和解釋方案不顯示統(tǒng)計(jì)4。SET AUTOTRACE TRACEONLY顯示解釋方案和統(tǒng)計(jì),雖然執(zhí)行該語(yǔ)句但您將看不到結(jié)果集5。SET AUTOTRACE TRACEONLY

21、STATISTICS 只顯示統(tǒng)計(jì)AUTOTRACE了解AutoTrace的輸出查詢方案的報(bào)告部份:Cost:CBO賦予查詢方案的每個(gè)步驟的本錢。Card:特定的查詢方案步驟將輸出的記錄行數(shù)的估計(jì)。Byte:CBO預(yù)測(cè)的每一個(gè)方案步驟將前往數(shù)據(jù)字節(jié)數(shù)量。AUTOTRACE了解AutoTrace的輸出統(tǒng)計(jì)信息部份:Recursive calls:為執(zhí)行他的語(yǔ)句所運(yùn)轉(zhuǎn)的語(yǔ)句數(shù)。Db block gets:用當(dāng)前方式從緩沖區(qū)高速緩存讀取的總塊數(shù)。Consistent gets:在緩沖區(qū)高速緩存一個(gè)塊被懇求進(jìn)展一致性讀取的次數(shù)。一致性讀取能夠需求讀取吊銷回退的信息,這些信息也計(jì)算在內(nèi)。Physical

22、reads:從數(shù)據(jù)文件到緩沖區(qū)高速緩存物理讀取的數(shù)目。Redo size:該語(yǔ)句在執(zhí)行過程中所產(chǎn)生的重做信息的字節(jié)數(shù)。bytes sent via SQL*Net to client:從效力器發(fā)送到客戶機(jī)的總字節(jié)數(shù)。bytes received via SQL*Net from client:從客房機(jī)接納的字節(jié)數(shù)。SQL*Net roundtrips to/from client:從客房機(jī)發(fā)送和接納的sql*net音訊總數(shù),包括從多行的結(jié)果集中提取的前往信息。Sort(Memory):在用戶會(huì)話存儲(chǔ)器排序區(qū)中進(jìn)展的排序,經(jīng)過Sort_Area_size參數(shù)控制。Sort(Disk):由于排序超

23、越用戶的排序區(qū)尺寸而運(yùn)用磁盤暫時(shí)表空間的排序Rows processed:顯示受影的行數(shù)(能夠是增刪改查或Merge語(yǔ)句)TKPROF1. alter system set timed_statistic=true;2. 查看要關(guān)注的用戶的SID和Serial# select sid,serial# from v$session where username=FIN_WEI;3. 執(zhí)行:exec sys.dbms_system.set_sql_trace_in_session(143,781,true); 過一伙再執(zhí)行:其間要有操作select * from emp start with empno=7839 connect by prior empno=MGR;exec sys.dbms_system.set_sql_trace_in_session(143,781,false);4.查看跟蹤文件所在的目錄select name,value from v$parameter where name=user_dump_dest或者show parameter user_dump

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論