ETL基礎(chǔ)及常用技術(shù)培訓(xùn)_第1頁(yè)
ETL基礎(chǔ)及常用技術(shù)培訓(xùn)_第2頁(yè)
ETL基礎(chǔ)及常用技術(shù)培訓(xùn)_第3頁(yè)
ETL基礎(chǔ)及常用技術(shù)培訓(xùn)_第4頁(yè)
ETL基礎(chǔ)及常用技術(shù)培訓(xùn)_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、LOGOETL基礎(chǔ)及基礎(chǔ)及 主要內(nèi)容主要內(nèi)容nETL基本概念基本概念nETL常用邏輯架構(gòu)常用邏輯架構(gòu)nETL實(shí)施過(guò)程實(shí)施過(guò)程nETL常用技術(shù)(常用技術(shù)(shell,oracle,datastage)ETL基本概念基本概念 ET L(Extract-Transform-Load)即數(shù)據(jù)的抽取、轉(zhuǎn)換與加載。即數(shù)據(jù)的抽取、轉(zhuǎn)換與加載。ETL是從各是從各種原始的業(yè)務(wù)系統(tǒng)種原始的業(yè)務(wù)系統(tǒng)(異構(gòu)多源異構(gòu)多源)中提取數(shù)據(jù),按照預(yù)先設(shè)計(jì)好的規(guī)則將抽取到的中提取數(shù)據(jù),按照預(yù)先設(shè)計(jì)好的規(guī)則將抽取到的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,最后將轉(zhuǎn)換完的數(shù)據(jù)按計(jì)劃增量或全部導(dǎo)人到目標(biāo)數(shù)據(jù)庫(kù),成數(shù)據(jù)進(jìn)行轉(zhuǎn)換,最后將轉(zhuǎn)換完的數(shù)據(jù)按計(jì)劃增量或全部

2、導(dǎo)人到目標(biāo)數(shù)據(jù)庫(kù),成為聯(lián)機(jī)分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。為聯(lián)機(jī)分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。 ETL為為BI/DW的核心和靈魂的核心和靈魂. ETL就是一個(gè)批量數(shù)據(jù)加工的過(guò)程就是一個(gè)批量數(shù)據(jù)加工的過(guò)程.ETL常用邏輯架構(gòu)常用邏輯架構(gòu) n數(shù)據(jù)抽取數(shù)據(jù)抽取n數(shù)據(jù)清洗與轉(zhuǎn)換數(shù)據(jù)清洗與轉(zhuǎn)換n數(shù)據(jù)加載數(shù)據(jù)加載 ETL實(shí)施過(guò)程實(shí)施過(guò)程 數(shù)據(jù)抽取n確定所有數(shù)據(jù)源來(lái)源于哪些源系統(tǒng),核心系統(tǒng),信貸,信用卡等n定義數(shù)據(jù)接口對(duì)每個(gè)源文件及接口的每個(gè)字段進(jìn)行詳細(xì)說(shuō)明n數(shù)據(jù)抽取方法主動(dòng)抽取還是源系統(tǒng)提供文件,增量還是全量,每日還是每月ETL實(shí)施過(guò)程實(shí)施過(guò)程 1.代碼標(biāo)準(zhǔn)化 2.數(shù)據(jù)粒度的轉(zhuǎn)換 3.根據(jù)業(yè)務(wù)規(guī)則計(jì)算 確定數(shù)據(jù)清洗

3、和轉(zhuǎn)換規(guī)則后細(xì)化mapping,編碼實(shí)現(xiàn)數(shù)據(jù)清洗與轉(zhuǎn)換n數(shù)據(jù)清洗 1.不完整的數(shù)據(jù) 2.錯(cuò)誤的數(shù)據(jù) 3.重復(fù)的數(shù)據(jù) n數(shù)據(jù)轉(zhuǎn)換ETL實(shí)施過(guò)程實(shí)施過(guò)程 數(shù)據(jù)加載將數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)直接加載到數(shù)據(jù)庫(kù)對(duì)應(yīng)的表中,如果是全量采用load方式,如果是增量則根據(jù)業(yè)務(wù)規(guī)則merge進(jìn)數(shù)據(jù)庫(kù) ETL實(shí)施過(guò)程實(shí)施過(guò)程ETL常用技術(shù)常用技術(shù)nSHELL(unix基本操作基本操作)nSQLnPL/SQLnPROCnDATASTAGEshell基礎(chǔ)基礎(chǔ)Linux中有好多種不同的中有好多種不同的shell,如,如bsh,csh ,同其他語(yǔ)言一樣,可以通過(guò)我們,同其他語(yǔ)言一樣,可以通過(guò)我們使用任意一種文字編輯器,比如使用任

4、意一種文字編輯器,比如vi等來(lái)編寫(xiě)我們的等來(lái)編寫(xiě)我們的shell程序。程序。程序必須以下面的行開(kāi)始(必須放在文件的第一行):程序必須以下面的行開(kāi)始(必須放在文件的第一行):#!/bin/sh符號(hào)符號(hào)#!用來(lái)告訴系統(tǒng)它后面的參數(shù)是用來(lái)執(zhí)行該文件的程序。在這個(gè)程序中我們用來(lái)告訴系統(tǒng)它后面的參數(shù)是用來(lái)執(zhí)行該文件的程序。在這個(gè)程序中我們使用使用/bin/sh來(lái)執(zhí)行程序。來(lái)執(zhí)行程序。當(dāng)編輯好腳本時(shí),如果要執(zhí)行該腳本,還必須使其可執(zhí)行。當(dāng)編輯好腳本時(shí),如果要執(zhí)行該腳本,還必須使其可執(zhí)行。要使腳本可執(zhí)行:要使腳本可執(zhí)行:chmod +x 然后,可以通過(guò)輸入:然后,可以通過(guò)輸入: ./ 來(lái)執(zhí)行腳本。來(lái)執(zhí)行腳本

5、。.shell基礎(chǔ)基礎(chǔ)Vi(一)、進(jìn)入(一)、進(jìn)入vi 在系統(tǒng)提示字符在系統(tǒng)提示字符(如如$、#)下敲入下敲入vi 檔案名稱,檔案名稱,vi 可以自動(dòng)幫你載入所要編輯的文件或可以自動(dòng)幫你載入所要編輯的文件或是開(kāi)啟一個(gè)新是開(kāi)啟一個(gè)新 文件(如果該文件不存在或缺少文件名)。進(jìn)入文件(如果該文件不存在或缺少文件名)。進(jìn)入 vi 后螢?zāi)蛔蠓綍?huì)出現(xiàn)波浪符號(hào),凡是列后螢?zāi)蛔蠓綍?huì)出現(xiàn)波浪符號(hào),凡是列首有該符號(hào)就代首有該符號(hào)就代 表此列目前是空的。表此列目前是空的。 (二)、兩種模式二)、兩種模式 如上所述,如上所述,vi存在兩種模式:指令模式和輸入模式。在指令模式下輸入的按鍵將做為指令存在兩種模式:指令模式

6、和輸入模式。在指令模式下輸入的按鍵將做為指令來(lái)處理:如輸入來(lái)處理:如輸入 a,vi即認(rèn)為是在當(dāng)前位置插入字符。而在輸入模式下,即認(rèn)為是在當(dāng)前位置插入字符。而在輸入模式下,vi則把輸入的按鍵當(dāng)作插入的字符則把輸入的按鍵當(dāng)作插入的字符來(lái)處理。指令來(lái)處理。指令 模式切換到輸入模式只需鍵入相應(yīng)的輸入命令即可(如模式切換到輸入模式只需鍵入相應(yīng)的輸入命令即可(如a,A),而要從輸入模式切換到指),而要從輸入模式切換到指令模式,則需在令模式,則需在 輸入模式下鍵入輸入模式下鍵入ESC鍵,如果不曉得現(xiàn)在是處?kù)妒颤N模式,可以多按幾次鍵,如果不曉得現(xiàn)在是處?kù)妒颤N模式,可以多按幾次 ESC,系統(tǒng)如發(fā)出嗶嗶聲就表,系

7、統(tǒng)如發(fā)出嗶嗶聲就表 示已處于指令模式下了。示已處于指令模式下了。 .shell基礎(chǔ)基礎(chǔ)Vi由指令模式進(jìn)入輸入模式的指令:由指令模式進(jìn)入輸入模式的指令: 新增新增 (append) a :從光標(biāo)所在位置後面開(kāi)始新增資料,光標(biāo)後的資料隨新增資料向後移動(dòng)。:從光標(biāo)所在位置後面開(kāi)始新增資料,光標(biāo)後的資料隨新增資料向後移動(dòng)。 A: 從光標(biāo)所在列最後面的地方開(kāi)始新增資料。從光標(biāo)所在列最後面的地方開(kāi)始新增資料。 插入插入 (insert) i: 從光標(biāo)所在位置前面開(kāi)始插入資料,光標(biāo)後的資料隨新增資料向後移動(dòng)。從光標(biāo)所在位置前面開(kāi)始插入資料,光標(biāo)後的資料隨新增資料向後移動(dòng)。 I :從光標(biāo)所在列的第一個(gè)非空白字

8、元前面開(kāi)始插入資料。:從光標(biāo)所在列的第一個(gè)非空白字元前面開(kāi)始插入資料。 開(kāi)始開(kāi)始 (open) o :在光標(biāo)所在列下新增一列并進(jìn)入輸入模式。:在光標(biāo)所在列下新增一列并進(jìn)入輸入模式。 O: 在光標(biāo)所在列上方新增一列并進(jìn)入輸入模式。在光標(biāo)所在列上方新增一列并進(jìn)入輸入模式。 .shell基礎(chǔ)基礎(chǔ)Vi(三)、基本編輯(三)、基本編輯 配合一般鍵盤(pán)上的功能鍵,像是方向鍵、配合一般鍵盤(pán)上的功能鍵,像是方向鍵、Insert 、Delete 等等,現(xiàn)在你應(yīng)該已經(jīng)可以等等,現(xiàn)在你應(yīng)該已經(jīng)可以利用利用 vi 來(lái)編輯文件來(lái)編輯文件 了。當(dāng)然了。當(dāng)然 vi 還提供其他許許多多功能讓文字的處理更為方便。還提供其他許許多

9、多功能讓文字的處理更為方便。 何謂編輯?一般認(rèn)為是文字的新增、修改以及刪除,甚至包括文字區(qū)塊的搬移、復(fù)制等等。何謂編輯?一般認(rèn)為是文字的新增、修改以及刪除,甚至包括文字區(qū)塊的搬移、復(fù)制等等。先這里介紹先這里介紹 vi 的如何做刪除與修改。的如何做刪除與修改。刪除與修改文件的命令:刪除與修改文件的命令: x: 刪除光標(biāo)所在字符。刪除光標(biāo)所在字符。 dd :刪除光標(biāo)所在的列。:刪除光標(biāo)所在的列。 r :修改光標(biāo)所在字元,:修改光標(biāo)所在字元,r 後接著要修正的字符。後接著要修正的字符。 R: 進(jìn)入取替換狀態(tài),新增文字會(huì)覆蓋原先文字,直到按進(jìn)入取替換狀態(tài),新增文字會(huì)覆蓋原先文字,直到按 ESC 回到指

10、令模式下為止?;氐街噶钅J较聻橹?。 s: 刪除光標(biāo)所在字元,并進(jìn)入輸入模式。刪除光標(biāo)所在字元,并進(jìn)入輸入模式。 S: 刪除光標(biāo)所在的列,并進(jìn)入輸入模式。刪除光標(biāo)所在的列,并進(jìn)入輸入模式。 在指令模式下移動(dòng)光標(biāo)的基本指令是在指令模式下移動(dòng)光標(biāo)的基本指令是 h, j, k, l 。.shell基礎(chǔ)基礎(chǔ)Vi(四)、退出(四)、退出vi 在指令模式下鍵入在指令模式下鍵入:q,:q!,:wq或或:x(注意注意:號(hào)),就會(huì)退出號(hào)),就會(huì)退出vi。其中。其中:wq和和:x是存盤(pán)退出,是存盤(pán)退出,而而:q是直接退出,是直接退出,如果文件已有新的變化,如果文件已有新的變化,vi會(huì)提示你保存文件而會(huì)提示你保存文件

11、而:q命令也會(huì)失效,這時(shí)你可以用命令也會(huì)失效,這時(shí)你可以用:w命令保命令保存文件后再用存文件后再用:q 退出,或用退出,或用:wq或或:x命令退出,如果你不想保存改變后的文件,你就需要用命令退出,如果你不想保存改變后的文件,你就需要用:q!命令,這個(gè)命令,這個(gè)命令將不保存文件命令將不保存文件 而直接退出而直接退出vi。shell基礎(chǔ)基礎(chǔ)n注釋注釋 #n變量變量在shell編程中,所有的變量都由字符串組成,并且不需要對(duì)變量進(jìn)行聲明。要賦值給一個(gè)變量,可以這樣寫(xiě):變量名=值取出變量值可以加一個(gè)美元符號(hào)($)在變量前面nshell腳本中的三類(lèi)命令腳本中的三類(lèi)命令1)Unix 命令2)管道, 重定向和

12、 backtick3)流程控制shell基礎(chǔ)基礎(chǔ)unix命令命令在shell腳本中可以使用任意的unix命令,這些命令通常是用來(lái)進(jìn)行文件和文字操作的。常用命令語(yǔ)法及功能:echo some text: 將文字內(nèi)容打印在屏幕上ls: 文件列表wc l filewc -w filewc -c file: 計(jì)算文件行數(shù)計(jì)算文件中的單詞數(shù)計(jì)算文件中的字符數(shù)cp source: 文件拷貝mv oldname newname : 重命名文件或移動(dòng)文件rm file: 刪除文件grep pattern file: 在文件內(nèi)搜索字符串比如:grep searchstring cut -b colnum fil

13、e: 指定欲顯示的文件內(nèi)容范圍,并將它們輸出到標(biāo)準(zhǔn)輸出設(shè)備比如:輸出每行第5個(gè)到第9個(gè)字符cut -b5-9 千萬(wàn)不要和cat命令混淆,這是兩個(gè)完全不同的命令.shell基礎(chǔ)基礎(chǔ)unix命令命令ftp:遠(yuǎn)程傳輸文件 然后輸入用戶名密碼,put ,get cat : 輸出文件內(nèi)容到標(biāo)準(zhǔn)輸出設(shè)備(屏幕)上: 得到文件類(lèi)型read var: 提示用戶輸入,并將輸入賦值給變量sort : 對(duì)文件中的行進(jìn)行排序uniq: 刪除文本文件中出現(xiàn)的行列比如: sort | uniqexpr: 進(jìn)行數(shù)學(xué)運(yùn)算Example: add 2 and 3expr 2 + 3find: 搜索文件比如:根據(jù)文件名搜索fin

14、d . -name -printtee: 將數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出設(shè)備(屏幕) 和文件比如:somecommand | tee outfilebasename file: 返回不包含路徑的文件名比如: basename /bin/tux將返回 tux.shell基礎(chǔ)基礎(chǔ)unix命令命令dirname file: 返回文件所在路徑比如:dirname /bin/tux將返回 /binhead file: 打印文本文件開(kāi)頭幾行tail file : 打印文本文件末尾幾行sed: Sed是一個(gè)基本的查找替換程序??梢詮臉?biāo)準(zhǔn)輸入(比如命令管道)讀入文本,并將結(jié)果輸出到標(biāo)準(zhǔn)輸出(屏幕)。該命令采用正則表達(dá)式

15、(見(jiàn)參考)進(jìn)行搜索。不要和shell中的通配符相混淆。比如:將linuxfocus 替換為 LinuxFocus :cat text.file | sed s/linuxfocus/LinuxFocus/ newtext.fileawk: awk 用來(lái)從文本文件中提取字段。缺省地,字段分割符是空格,可以使用-F指定其他分割符。cat | awk -F, print $1 , $3 這里我們使用,作為字段分割符,同時(shí)打印第一個(gè)和第三個(gè)字段。如果該文件內(nèi)容如下: Adam Bor, 34, IndiaKerry Miller, 22, USA命令輸出結(jié)果為:Adam Bor, IndiaKerry

16、 Miller, USA tar:將文件或文件夾打包解包,tar cvf a.tar abc tar xvf a.tarshell基礎(chǔ)基礎(chǔ)管道管道、重定向和重定向和 backtick命令命令n管道管道 (|)將一個(gè)命令的輸出作為另外一個(gè)命令的輸入。grep hello | wc -l在中搜索包含有”hello”的行并計(jì)算其行數(shù)。在這里grep命令的輸出作為wc命令的輸入n重定向重定向?qū)⒚畹慕Y(jié)果輸出到文件,而不是標(biāo)準(zhǔn)輸出(屏幕) 寫(xiě)入文件并覆蓋舊文件 加到文件的尾部,保留舊文件內(nèi)容。n反短斜線(反短斜線()使用反短斜線可以將一個(gè)命令的輸出作為另外一個(gè)命令的一個(gè)命令行參數(shù)。命令:V_date=d

17、ate +%F.shell基礎(chǔ)基礎(chǔ)流程控制命令流程控制命令(if)if Then .elif Then .Else .fi大多數(shù)情況下,可以使用測(cè)試命令來(lái)對(duì)條件進(jìn)行測(cè)試。比如可以比較字符串、判斷文件是否存在及是否可讀等等通常用 來(lái)表示條件測(cè)試。注意這里的空格很重要。要確保方括號(hào)的空格。 -f somefile :判斷是否是一個(gè)文件 -x /bin/ls :判斷/bin/ls是否存在并有可執(zhí)行權(quán)限 -n $var :判斷$var變量是否有值 $a = $b :判斷$a和$b是否相等.shell基礎(chǔ)基礎(chǔ)流程控制命令流程控制命令(if) 字符串比較: string1 = string2 如果相等則為

18、真 string1 != string2 如果不等則為真 -n string 如果不空則為真 -z string 如果為空則為真 算術(shù)比較: expression1 -eq expression2 如果相等則為真 expression1 -ne expression2 如果不等則為真 expression1 -gt expression2 如果大于則為真 expression1 -ge expression2 大于等于則為真 expression1 -lt expression2 如果小于則為真 expression1 -le expression2 小于等于則為真 .shell基礎(chǔ)基礎(chǔ)流程控

19、制命令流程控制命令(if)文件: -d file 如果為目錄則為真 -e file 如果存在則為真(在這里要注意的是,由于歷史原因,-e選項(xiàng)并不可移植,所以常用的是-f選項(xiàng) -f file 如果為常規(guī)文件則為真 -g file 如果設(shè)置了組ID則為真 -r file 如果文件可讀則為真 -s file 如果文件大小不為零則為真 -u file 如果設(shè)置了用戶ID則為真 -w file 如果文件可寫(xiě)則為真 -x file 如果文件可執(zhí)行則為真 .shell基礎(chǔ)基礎(chǔ)流程控制命令流程控制命令1)while . Do .Donewhile-loop 將運(yùn)行直到表達(dá)式測(cè)試為真。will run whil

20、e the expression that wetest for is true. 關(guān)鍵字break 用來(lái)跳出循環(huán)。而關(guān)鍵字”continue”用來(lái)不執(zhí)行余下的部分而直接跳到下一個(gè)循環(huán)。2)for var in . do.Donefor-loop表達(dá)式查看一個(gè)字符串列表 (字符串用空格分隔) 然后將其賦給一個(gè)變量:3)case . in.) .;Esaccase表達(dá)式可以用來(lái)匹配一個(gè)給定的字符串.oracle基礎(chǔ)基礎(chǔ)數(shù)據(jù)庫(kù)安裝數(shù)據(jù)庫(kù)安裝nWindows環(huán)境下環(huán)境下: 網(wǎng)上下載安裝包網(wǎng)上下載安裝包 點(diǎn)擊安裝點(diǎn)擊安裝 全選默認(rèn)配置即可。全選默認(rèn)配置即可。 其它機(jī)器上已有其它機(jī)器上已有server端

21、,可只安端,可只安client端。端。 PLSQL軟件是一個(gè)優(yōu)秀的軟件是一個(gè)優(yōu)秀的oracle工具,建議安裝工具,建議安裝nunix環(huán)境下環(huán)境下: 建建oracle組和用戶組和用戶 在在oracle用戶下安裝用戶下安裝 授予其它用戶執(zhí)行授予其它用戶執(zhí)行oracle命令的權(quán)限命令的權(quán)限.oracle基礎(chǔ)基礎(chǔ)數(shù)據(jù)庫(kù)的連接數(shù)據(jù)庫(kù)的連接nClient端連接配置端連接配置到oracle安裝目錄下 搜索tnsnames.ora增加修改相應(yīng)連接內(nèi)容 ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = cg)(PORT = 1521) (CONNE

22、CT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )mdb = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 1)(PORT = 1521) (CONNECT_DATA = (SERVER = DEDICATED) (SID = mdb) ) ).oracle基礎(chǔ)基礎(chǔ)數(shù)據(jù)庫(kù)的連接數(shù)據(jù)庫(kù)的連接nUnix環(huán)境環(huán)境 先設(shè)置編輯器先設(shè)置編輯器 export EDITOR=vi select parameter,value from nls_database_para

23、meters where parameter=NLS_CHARACTERSET;-顯示數(shù)據(jù)庫(kù)字符集 NLS_LANG應(yīng)與數(shù)據(jù)庫(kù)字符集一致 export NLS_LANG=“SIMPLIFIED CHINESE.ZHS16GBK” export NLS_DATE_FORMAT=YYYY-MM-DD-HH24.MI.SS n命令行:命令行: sqlplus username/passwordserver as sysdba as sysoper sqlplus /as sysdba -管理員進(jìn)入管理員進(jìn)入 sqlplus etl/etlmdb -普通用戶進(jìn)入普通用戶進(jìn)入SQLset linesiz

24、e 300; -設(shè)置行長(zhǎng)度設(shè)置行長(zhǎng)度SQLset pagesize 1; -設(shè)置頁(yè)長(zhǎng)度設(shè)置頁(yè)長(zhǎng)度SQLcol name format a30; -設(shè)置列格式設(shè)置列格式SQLselect sysdate from dual; -運(yùn)行語(yǔ)句運(yùn)行語(yǔ)句.oracle基礎(chǔ)基礎(chǔ)數(shù)據(jù)庫(kù)的連接數(shù)據(jù)庫(kù)的連接nPlsql是一款優(yōu)秀的操作oracle圖形界面軟件Sql window 可單條執(zhí)行可單條執(zhí)行sqlCommand window 可批量執(zhí)行多條可批量執(zhí)行多條sql.oracle基礎(chǔ)基礎(chǔ)表空間表空間ORACLE數(shù)據(jù)庫(kù)被劃分成稱作為表空間的邏輯區(qū)域形成ORACLE數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。一個(gè)ORACLE數(shù)據(jù)庫(kù)能夠有一個(gè)

25、或多個(gè)表空間,而一個(gè)表空間則對(duì)應(yīng)著一個(gè)或多個(gè)物理的數(shù)據(jù)庫(kù)文件。表空間是ORACLE數(shù)據(jù)庫(kù)恢復(fù)的最小單位,容納著許多數(shù)據(jù)庫(kù)實(shí)體,如表、視圖、索引、聚簇、回退段和臨時(shí)段等。每個(gè)ORACLE數(shù)據(jù)庫(kù)均有SYSTEM表空間,這是數(shù)據(jù)庫(kù)創(chuàng)建時(shí)自動(dòng)創(chuàng)建的。SYSTEM表空間必須總要保持聯(lián)機(jī),因?yàn)槠浒鴶?shù)據(jù)庫(kù)運(yùn)行所要求的基本信息(關(guān)于整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)字典、聯(lián)機(jī)求助機(jī)制、所有回退段、臨時(shí)段和自舉段、所有的用戶數(shù)據(jù)庫(kù)實(shí)體、其它ORACLE軟件產(chǎn)品要求的表)。一個(gè)小型應(yīng)用的ORACLE數(shù)據(jù)庫(kù)通常僅包括SYSTEM表空間,然而一個(gè)稍大型應(yīng)用的ORACLE數(shù)據(jù)庫(kù)采用多個(gè)表空間會(huì)對(duì)數(shù)據(jù)庫(kù)的使用帶來(lái)更大的方便。.orac

26、le基礎(chǔ)基礎(chǔ)表空間表空間n建立本地管理表空間建立本地管理表空間 CREATE TABLESPACE tablespace_name DATAFILE SIZE UNIFORM SIZE extent_size|AUTOALLOCATE CREATE TABLESPACE DATATBS01_32K DATAFILE /home/mdb/oracle/oradata/mdb/datatbs01_01.dbf SIZE 100G, /home/mdb/oracle/oradata/mdb/datatbs01_02.dbf SIZE 100G, /home/mdb/oracle/oradata/md

27、b/datatbs01_03.dbf SIZE 100G, EXTENT MANAGEMENT LOCAL UNIFORM SIZE 32M SEGMENT SPACE MANAGEMENT AUTO blocksize 32k .oracle基礎(chǔ)基礎(chǔ)表空間表空間n建立建立UNDO表空間表空間 CREATE UNDO TABLESPACE tablespace_name DATAFILE SIZE UNIFORM SIZE extent_size|AUTOALLOCATEn建立臨時(shí)表空間建立臨時(shí)表空間 :存放查詢、排序、分組等生成的臨時(shí)數(shù)據(jù)存放查詢、排序、分組等生成的臨時(shí)數(shù)據(jù) CREATE T

28、EMPORARY TABLESPACE tablespace_name TEMPFILE SIZE UNIFORM SIZE extent_size|AUTOALLOCATE.oracle基礎(chǔ)基礎(chǔ)表空間表空間n改變表空間可用性改變表空間可用性 ALTER TABLESPACE tablespace_name online|offlinen改變表空間讀寫(xiě)狀態(tài)改變表空間讀寫(xiě)狀態(tài) ALTER TABLESPACE tablespace_name READ WRITE | READ ONLYn改變表空間名稱改變表空間名稱 ALTER TABLESPACE tablespace_name RENAME

29、TO new_tbs_namen設(shè)置默認(rèn)表空間設(shè)置默認(rèn)表空間 ALTER DATABASE DEFAULT TABLESPACE tablespace_name -數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)默認(rèn)表空間默認(rèn)表空間 ALTER DATABASE DEFAULT TEMPORARY tablespace_name -數(shù)據(jù)庫(kù)默數(shù)據(jù)庫(kù)默認(rèn)臨時(shí)表空間認(rèn)臨時(shí)表空間n刪除表空間刪除表空間 DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;.oracle基礎(chǔ)基礎(chǔ)用戶管理用戶管理n建立用戶建立用戶create user ETL identified

30、 by default tablespace ETLDATA01 temporary tablespace TEMP1 pro;n給用戶授權(quán)給用戶授權(quán)grant connect to etl;grant select_catalog_role to etl;grant select any table to etl;grant create session to etl;grant alter session to etl;grant create table to etl;grant create view to etl;grant create type to etl;grant crea

31、te synonym to etl;grant create sequence to etl;grant create procedure to etl;.oracle基礎(chǔ)基礎(chǔ)用戶管理用戶管理n修改口令修改口令A(yù)LTER USER user_name IDENTIFIED BY new_password;n修改默認(rèn)表空間修改默認(rèn)表空間ALTER USER user_name DEFAULT TABLESPACE new_tablespace_name;n鎖定用戶鎖定用戶 ALTER USER etl ACCOUNT LOCK;n解鎖用戶解鎖用戶 ALTER USER etl ACCOUNT U

32、NLOCK;n刪除用戶刪除用戶 DROP USER username CASCADE;.oracle基礎(chǔ)基礎(chǔ)表建立及管理表建立及管理n普通建表 CREATE TABLE schema.table_name ( column_name datatype DEFAULT expr, ) TABLESPACE tablespace_name;n使用子查詢建表CREATE TABLE schema.table_name (column_name,) TABLESPACE tablespace_nameAS subquery;n建臨時(shí)表-事務(wù)臨時(shí)表 當(dāng)前事務(wù)內(nèi)有效CREATE GLOBAL TEMPOR

33、ARY TABLE table_name ( column_name,) ON COMMIT DELETE ROWS;-會(huì)話臨時(shí)表 當(dāng)前會(huì)話內(nèi)有效CREATE GLOBAL TEMPORARY TABLE table_name ( column_name,) ON COMMIT PRESERVE ROWS;.oracle基礎(chǔ)基礎(chǔ)表建立及管理表建立及管理n增加列增加列 ALTER TABLE table_name ADD (column datatype DEFAULT expr);n修改列定義修改列定義 ALTER TABLE table_name MODIFY (column datatyp

34、e DEFAULT expr);n刪除列刪除列ALTER TABLE table_name DROP (column);n修改列名修改列名ALTER TABLE table_name RENAME COLUMN column_name to new_column_name;n增加注釋增加注釋COMMENT ON TABLE table_name IS text;COMMENT ON COLUMN table_name.column_name IS text;n遷移非分區(qū)表的表空間遷移非分區(qū)表的表空間ALTER TABLE table_name MOVE new_tablespace_name;

35、-表對(duì)應(yīng)索引需重建.oracle基礎(chǔ)基礎(chǔ)表建立及管理表建立及管理n截?cái)啾斫財(cái)啾?-快速刪除數(shù)據(jù)快速刪除數(shù)據(jù) 釋放空間釋放空間 保留表結(jié)構(gòu)保留表結(jié)構(gòu) -是是DDL語(yǔ)句語(yǔ)句 不可回退不可回退TRUNCATE TABLE table_name ; -delete 是是DML語(yǔ)句語(yǔ)句 可回退可回退n刪除表刪除表 - PURGE是是oracle 10g 新特性新特性 表永久刪除表永久刪除DROP TABLE table_name CASCADE CONSTRAINTS PURGE;n從回收站從回收站Recyclebin恢復(fù)被刪除表恢復(fù)被刪除表FLASHBACK TABLE table_name TO B

36、EFORE DROP;n清空回收站清空回收站PURGE RECYCLEBIN;n查看回收站查看回收站SELECT * FROM RECYCLEBIN;.oracle基礎(chǔ)基礎(chǔ)表建立及管理表建立及管理n表表 SELECT * FROM USER_TABLES;n對(duì)象對(duì)象 SELECT * FROM USER_OBJECTS;n表占用的空間表占用的空間select sum(bytes) from user_segments where segment_name=table_name;n清空回收站清空回收站PURGE RECYCLEBIN;n查看回收站查看回收站SELECT * FROM RECYCL

37、EBIN;n查看表的列查看表的列SELECT * FROM USER_TAB_COLUMNS;n查看注釋查看注釋SELECT * FROM USER_TAB_COMMENTS;SELECT * FROM USER_COL_COMMENTS;n查看建表語(yǔ)句查看建表語(yǔ)句SELECT dbms_metadata.get_ddl(TABLE,) FROM dual;SELECT dbms_metadata.get_ddl(TABLE,upper(tmpcg_ctl_paravalue),upper(etl) ) FROM dual;.oracle基礎(chǔ)基礎(chǔ)索引索引n建索引建索引CREATE INDEX

38、UNIQUE index_name ON table_name (column_name,.) TABLESPACE tablespace_name ;-不設(shè)表空間 則建在用戶默認(rèn)表空間上n維護(hù)索引維護(hù)索引ALTER INDEX index_name REBUILD TABLESPACE tablespace_name ;-可改變索引表空間n顯示索引信息顯示索引信息SELECT * FROM USER_INDEXES;SELECT * FROM USER_IND_COULMNS;-查找失效的非分區(qū)索引SELECT * FROM USER_INDEXES WHERE STATUS=UNUSABL

39、E;n查看建索引語(yǔ)句查看建索引語(yǔ)句SELECT dbms_metadata.get_ddl(INDEX,) FROM dual; SELECT dbms_metadata.get_ddl(INDEX,upper(idx_tmpcg_ctl_paravalue),upper(etl) ) FROM dual;.oracle基礎(chǔ)基礎(chǔ)序列序列n序列(序列(Sequence)是用于生成唯一數(shù)字的數(shù)據(jù)庫(kù)對(duì)象,自動(dòng)生成順序遞增)是用于生成唯一數(shù)字的數(shù)據(jù)庫(kù)對(duì)象,自動(dòng)生成順序遞增的序列號(hào),可提供唯一的主鍵值,事務(wù)回滾值不會(huì)減少的序列號(hào),可提供唯一的主鍵值,事務(wù)回滾值不會(huì)減少n建序列建序列CREATE SEQU

40、ENCE seq_name INCREMENT BY nSTART WITH n MAXVALUE n |NOMAXVALUE ;MINVALUE n |NOMINVALUECYCLE | NOCYCLECACHE n | NOCACHE;n使用序列使用序列INSERT INTO t1 (id) VALUES (t1id_seq.NEXTVAL) ;SELECT t1id_seq.CURRVAL FROM dual;n刪除序列刪除序列 DROP SEQUENCE seq_name;n顯示序列信息顯示序列信息SELECT * FROM SEQ;n查看建序列語(yǔ)句查看建序列語(yǔ)句SELECT dbms

41、_metadata.get_ddl(SEQUENCE,) FROM dual;.oracle基礎(chǔ)基礎(chǔ)分區(qū)表分區(qū)表ORACLE的分區(qū)(Partitioning Option)是一種處理超大型表的技術(shù)。分區(qū)是一種“分而治之”的技術(shù),通過(guò)將大表和索引分成可以管理的小塊,從而避免了對(duì)每個(gè)表作為一個(gè)大的、單獨(dú)的對(duì)象進(jìn)行管理,為大量數(shù)據(jù)提供了可伸縮的性能。分區(qū)通過(guò)將操作分配給更小的存儲(chǔ)單元,減少了需要進(jìn)行管理操作的時(shí)間,并通過(guò)增強(qiáng)的并行處理提高了性能,通過(guò)屏蔽故障數(shù)據(jù)的分區(qū),還增加了可用性。ORACLE的分區(qū)表的劃分方法包括:按字段值進(jìn)行劃分的范圍分區(qū);按字段的HASH函數(shù)值進(jìn)行的劃分HASH分區(qū);先按范

42、圍劃分,再按HASH劃分的復(fù)合分區(qū);在ORACLE9i中又增強(qiáng)了按字段值列表進(jìn)行劃分的列表(Listing)分區(qū)方法。管理員可以指定每個(gè)分區(qū)的存儲(chǔ)屬性,分區(qū)在宿主文件系統(tǒng)中的放置情況,這樣便增加了對(duì)超大型數(shù)據(jù)庫(kù)的控制粒度(granularity)。分區(qū)可以被單獨(dú)地刪除、卸出或裝入、備份、恢復(fù),因此減少了需要進(jìn)行管理操作的時(shí)間。還可以為表分區(qū)創(chuàng)建單獨(dú)的索引分區(qū),從而減少了需要進(jìn)行索引維護(hù)操作的時(shí)間。此外,還提供了種類(lèi)繁多的局部和全局的索引技術(shù)。分區(qū)操作也可以被并行執(zhí)行。分區(qū)技術(shù)還提高了數(shù)據(jù)的可用性。當(dāng)部分?jǐn)?shù)據(jù)由于故障或其它原因不可用時(shí),其它分區(qū)內(nèi)的數(shù)據(jù)可不受影響繼續(xù)使用。分區(qū)對(duì)應(yīng)用是透明的,可以

43、通過(guò)標(biāo)準(zhǔn)的SQL語(yǔ)句對(duì)分區(qū)表進(jìn)行操作。Oracle 的優(yōu)化器在訪問(wèn)數(shù)據(jù)時(shí)會(huì)分析數(shù)據(jù)的分區(qū)情況,在進(jìn)行查詢時(shí),那些不包含任何查詢數(shù)據(jù)的分區(qū)將被忽略,從而大大提高系統(tǒng)的性能??傊琌racle的分區(qū)表技術(shù)能滿足高性能、高可用性、數(shù)據(jù)易管理性等綜合需求。 .oracle基礎(chǔ)基礎(chǔ)分區(qū)表設(shè)計(jì)原則分區(qū)表設(shè)計(jì)原則n表的大小表的大小對(duì)于大表進(jìn)行分區(qū),將有益于大表操作的性能和大表的數(shù)據(jù)維護(hù)。通常當(dāng)表的大小超過(guò)1.5GB2GB,或?qū)τ贠LTP系統(tǒng),表的記錄超過(guò)1000萬(wàn),都應(yīng)考慮對(duì)表進(jìn)行分區(qū)。n數(shù)據(jù)訪問(wèn)特性數(shù)據(jù)訪問(wèn)特性基于表的大部分查詢應(yīng)用,只訪問(wèn)表中少量的數(shù)據(jù)。對(duì)于這樣表進(jìn)行分區(qū),可充分利用分區(qū)排除無(wú)關(guān)數(shù)據(jù)查詢

44、的特性。n數(shù)據(jù)維護(hù)數(shù)據(jù)維護(hù)某些表的數(shù)據(jù)維護(hù),經(jīng)常按時(shí)間段刪除成批的數(shù)據(jù),例如按月刪除歷史數(shù)據(jù)。對(duì)于這樣的表需要考慮進(jìn)行分區(qū),以滿足維護(hù)的需要。因?yàn)閯h除(Delete)大量的數(shù)據(jù),對(duì)系統(tǒng)開(kāi)銷(xiāo)很大,有時(shí)甚至是不可接受的。n只讀數(shù)據(jù)只讀數(shù)據(jù)如果一個(gè)表中大部分?jǐn)?shù)據(jù)都是只讀數(shù)據(jù),通過(guò)對(duì)表進(jìn)行分區(qū),可將只讀數(shù)據(jù)存儲(chǔ)在只讀表空間中,對(duì)于數(shù)據(jù)庫(kù)的備份是非常有益的。n并行數(shù)據(jù)操作(并行數(shù)據(jù)操作(Parallel DML)對(duì)于經(jīng)常執(zhí)行并行操作(如Parallel Insert,Parallel Update等)的表應(yīng)考慮進(jìn)行分區(qū)。n表的可用性表的可用性當(dāng)對(duì)表的部分?jǐn)?shù)據(jù)可用性要求很高時(shí),應(yīng)考慮進(jìn)行表分區(qū)。.orac

45、le基礎(chǔ)基礎(chǔ)分區(qū)表分區(qū)表n范圍分區(qū)表創(chuàng)建腳本范圍分區(qū)表創(chuàng)建腳本CREATE TABLE HIS_EVT_DCC_FCMAUDI ( cm_rec_ll integer, cm_tx_dt varchar2(8), )PARTITION BY RANGE(CM_TX_DT) ( PARTITION ETL_LOAD_DATE_0508 VALUES LESS THAN (20050901)TABLESPACE etl0_r_jyrq_data_200508, PARTITION ETL_LOAD_DATE_0509 VALUES LESS THAN (20051001)TABLESPACE et

46、l0_r_jyrq_data_200509, PARTITION ETL_LOAD_DATE_0510 VALUES LESS THAN (20051101)TABLESPACE etl0_r_jyrq_data_200510, PARTITION ETL_LOAD_DATE_0511 VALUES LESS THAN (20051201)TABLESPACE etl0_r_jyrq_data_200511, PARTITION ETL_LOAD_DATE_0512 VALUES LESS THAN (20060101)TABLESPACE etl0_r_jyrq_data_200512);C

47、REATE UNIQUE INDEX HIS_EVT_DCC_FCMAUDI_UIDX ON HIS_EVT_DCC_FCMAUDI( CM_TX_DT ASC, CM_TX_LOG_NO ASC, CM_TX_COD ASC, CM_EC_FLG ASC)LOCAL( PARTITION ETL_LOAD_DATE_0508 TABLESPACE etl0_r_jyrq_idx_200508, PARTITION ETL_LOAD_DATE_0509 TABLESPACE etl0_r_jyrq_idx_200509, PARTITION ETL_LOAD_DATE_0510 TABLESP

48、ACE etl0_r_jyrq_idx_200510, PARTITION ETL_LOAD_DATE_0511 TABLESPACE etl0_r_jyrq_idx_200511, PARTITION ETL_LOAD_DATE_0512 TABLESPACE etl0_r_jyrq_idx_200512, );.oracle基礎(chǔ)基礎(chǔ)分區(qū)表分區(qū)表nHASH分區(qū)表創(chuàng)建腳本分區(qū)表創(chuàng)建腳本CREATE TABLE PERSONAL_CUSTOMER_INFO( )PARTITION BY HASH(CI-CUST-NO) PARTITIONS 64TABLESPACE TS_ODS_DATA;n復(fù)

49、合分區(qū)表創(chuàng)建腳本復(fù)合分區(qū)表創(chuàng)建腳本CREATE TABLE FACT_DCC_SAACNACN_PERSONAL (txn_date,sa-acct-no)PARTITION BY RANGE(時(shí)間字段) SUBPARTITION BY HASH(SA-ACCT-NO) SUBPARTITION TEMPLATE (SUBPARTITION s1 , SUBPARTITION s2 , SUBPARTITION s3 ,);.oracle基礎(chǔ)基礎(chǔ)分區(qū)表分區(qū)表n查詢查詢SELECT * FROM his_evt_dcc_fcmaudi PARTITION (ETL_LOAD_DATE_0508

50、);n清分區(qū)數(shù)據(jù)清分區(qū)數(shù)據(jù)ALTER TABLE his_evt_dcc_fcmaudi TRUNCATE PARTITION (ETL_LOAD_DATE_0508 );n新增分區(qū)新增分區(qū)ALTER TABLE his_evt_dcc_fcmaudi ADD PARTITION ETL_LOAD_DATE_0601 VALUES LESS THAN (20060201)TABLESPACE etl0_r_jyrq_data_200612;n刪除分區(qū)刪除分區(qū)ALTER TABLE his_evt_dcc_fcmaudi DROP PARTITION ETL_LOAD_DATE_0508 ;.o

51、racle基礎(chǔ)基礎(chǔ)分區(qū)表分區(qū)表n分區(qū)信息查詢分區(qū)信息查詢SELECT * FROM USER_TAB_PARTITIONS;SELECT * FROM USER_TAB_SUBPARTITIONS;SELECT * FROM USER_IND_PARTITIONS; 加上 WHERE STATUS=UNUSABLE 可查詢失效的分區(qū)索引SELECT * FROM USER_IND_SUBPARTITIONS; 加上 WHERE STATUS=UNUSABLE 可查詢失效的子分區(qū)索引SELECT * FROM USER_SEGMENTS;.oracle基礎(chǔ)基礎(chǔ)sqlldrn用法用法: SQLLD

52、R keyword=value ,keyword=value,.sqlldr $1 control=tb.ctl errors=10000 rows=100000 bindsize=8192000 readsize=8192000 log=tbldr.log bad=tbldr.bad direct=truen有效的關(guān)鍵字有效的關(guān)鍵字: n userid - ORACLE 用戶名用戶名/口令口令 n control - 控制文件名控制文件名 n log - 日志文件名日志文件名 n bad - 錯(cuò)誤文件名錯(cuò)誤文件名 n data - 數(shù)據(jù)文件名數(shù)據(jù)文件名 n discard - 廢棄文件名廢棄

53、文件名ndiscardmax - 允許廢棄的文件的數(shù)目允許廢棄的文件的數(shù)目 (全部默認(rèn)全部默認(rèn))n skip - 要跳過(guò)的邏輯記錄的數(shù)目要跳過(guò)的邏輯記錄的數(shù)目 (默認(rèn)默認(rèn) 0)n load - 要加載的邏輯記錄的數(shù)目要加載的邏輯記錄的數(shù)目 (全部默認(rèn)全部默認(rèn))n errors - 允許的錯(cuò)誤的數(shù)目允許的錯(cuò)誤的數(shù)目 (默認(rèn)默認(rèn) 50)n rows - 常規(guī)路徑綁定數(shù)組中或直接路徑保存數(shù)據(jù)間的行數(shù)常規(guī)路徑綁定數(shù)組中或直接路徑保存數(shù)據(jù)間的行數(shù)n (默認(rèn)默認(rèn): 常規(guī)路徑常規(guī)路徑 64, 所有直接路徑所有直接路徑)n bindsize - 常規(guī)路徑綁定數(shù)組的大小常規(guī)路徑綁定數(shù)組的大小 (以字節(jié)計(jì)以字節(jié)計(jì)

54、) (默認(rèn)默認(rèn) 256000)n silent - 運(yùn)行過(guò)程中隱藏消息運(yùn)行過(guò)程中隱藏消息 (標(biāo)題標(biāo)題,反饋反饋,錯(cuò)誤錯(cuò)誤,廢棄廢棄,分區(qū)分區(qū))n direct - 使用直接路徑使用直接路徑 (默認(rèn)默認(rèn) FALSE)n par 參數(shù)文件參數(shù)文件: 包含參數(shù)說(shuō)明的文件的名稱包含參數(shù)說(shuō)明的文件的名稱n parallel - 執(zhí)行并行加載執(zhí)行并行加載 (默認(rèn)默認(rèn) FALSE)n 要從以下對(duì)象中分配區(qū)的文件要從以下對(duì)象中分配區(qū)的文件 .oracle基礎(chǔ)基礎(chǔ)sqlldr控制文件LOAD DATAINFILE test.txtINTO TABLE DEPTREPLACEFIELDS TERMINATED B

55、Y , OPTIONALLY ENCLOSED BY (DEPTNO, DNAME, LOC).oracle基礎(chǔ)基礎(chǔ)文本數(shù)據(jù)導(dǎo)出文本數(shù)據(jù)導(dǎo)出Oracle沒(méi)有提供將數(shù)據(jù)導(dǎo)出到一個(gè)文件的工具。但是我們可以用SQL*Plus的select及 format 數(shù)據(jù)來(lái)輸出到一個(gè)文件:set echo off newpage 0 space 0 pagesize 0 feed off head off trimspool onspool oradata.txtselect col1 | , | col2 | , | col3from tab1where col2 = XYZ;spool off .oracl

56、e基礎(chǔ)基礎(chǔ)數(shù)據(jù)庫(kù)備份導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù)備份導(dǎo)入導(dǎo)出EXP: exp help=y 有三種主要的方式(完全、用戶、表)有三種主要的方式(完全、用戶、表) 1、完全:、完全: EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:FULL.DMP FULL=Y 如果要執(zhí)行完全導(dǎo)出,必須具有特殊的權(quán)限如果要執(zhí)行完全導(dǎo)出,必須具有特殊的權(quán)限 2、用戶模式:、用戶模式: EXP SONIC/SONIC BUFFER=64000 FILE=C:SONIC.DMP OWNER=SONIC 這樣用戶這樣用戶SONIC的所有對(duì)象被輸出到文件中。的所有對(duì)象被輸出到文件中。 3、表模式:、表模式

57、: EXP SONIC/SONIC BUFFER=64000 FILE=C:SONIC.DMP OWNER=SONIC TABLES=(SONIC) 這樣用戶這樣用戶SONIC的表的表SONIC就被導(dǎo)出就被導(dǎo)出 .oracle基礎(chǔ)基礎(chǔ)數(shù)據(jù)庫(kù)備份導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù)備份導(dǎo)入導(dǎo)出n IMP: imp help=y 具有三種模式(完全、用戶、表)具有三種模式(完全、用戶、表) 1、完全:、完全: IMP sys/sys123 as sysdba BUFFER=64000 FILE=C:FULL.DMP FULL=Y 2、用戶模式:、用戶模式: IMP SONIC/SONIC BUFFER=64000 FI

58、LE=C:SONIC.DMP FROMUSER=SONIC TOUSER=SONIC 這樣用戶這樣用戶SONIC的所有對(duì)象被導(dǎo)入到文件中。必須指定的所有對(duì)象被導(dǎo)入到文件中。必須指定FROMUSER、TOUSER參數(shù),這樣才能導(dǎo)入數(shù)據(jù)。參數(shù),這樣才能導(dǎo)入數(shù)據(jù)。 3、表模式:、表模式: imp SONIC/SONIC BUFFER=64000 FILE=C:SONIC.DMP OWNER=SONIC TABLES=(SONIC) 這樣用戶這樣用戶SONIC的表的表SONIC就被導(dǎo)入。就被導(dǎo)入。.oracle基礎(chǔ)基礎(chǔ)查看執(zhí)行計(jì)劃查看執(zhí)行計(jì)劃n若有若有PLSQL等等windows界面的工具,可點(diǎn)執(zhí)行計(jì)

59、劃菜單查看界面的工具,可點(diǎn)執(zhí)行計(jì)劃菜單查看 n命令行查看執(zhí)行計(jì)劃命令行查看執(zhí)行計(jì)劃SQL explain plan for sql語(yǔ)句; -并不真正執(zhí)行,只是生成執(zhí)行計(jì)劃 例:SQL explain plan for select * from etlcusorg where ecif_cus_num=12345;已解釋。SQL ?/rdbms/admin/utlxplp -查看PLAN_TABLE_OUTPUT-| Id | Operation | Name | Rows | Bytes | Cost |-| 0 | SELECT STATEMENT | | 1 | 279 | 3 | 1

60、| TABLE ACCESS BY INDEX ROWID| ETLCUSORG | 1 | 279 | 3 | 2 | INDEX UNIQUE SCAN | SYS_C007050 | 1 | | 2 |-.oracle基礎(chǔ)基礎(chǔ)常用函數(shù)常用函數(shù)n數(shù)值型函數(shù)數(shù)值型函數(shù)ABS(x) 【功能功能】返回返回x的絕對(duì)值的絕對(duì)值 mod(x,y) 【功能功能】返回返回x除以除以y的余數(shù)的余數(shù) power(x,y) 【功能功能】返回返回x的的y次冪次冪 round(x,y) 【功能功能】返回四舍五入后的值返回四舍五入后的值 【參數(shù)參數(shù)】x,y,數(shù)字型表達(dá)式,數(shù)字型表達(dá)式,如果如果y不為整數(shù)則截取不為整數(shù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論