GBase8s數(shù)據(jù)裝載卸載技術(shù)PPT課件_第1頁(yè)
GBase8s數(shù)據(jù)裝載卸載技術(shù)PPT課件_第2頁(yè)
GBase8s數(shù)據(jù)裝載卸載技術(shù)PPT課件_第3頁(yè)
GBase8s數(shù)據(jù)裝載卸載技術(shù)PPT課件_第4頁(yè)
GBase8s數(shù)據(jù)裝載卸載技術(shù)PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、南大通用數(shù)據(jù)技術(shù)股份有限公司版權(quán)所有 GBASE 2017讓 世 界 用 上 中 國(guó) 的 數(shù) 據(jù) 庫(kù)General Data Technology Co.,LtdGBase 8s 數(shù)據(jù)裝載卸載技術(shù)400-013-9696 / / 1 結(jié)構(gòu)化數(shù)據(jù) 表(table),行(row),列(column)的邏輯結(jié)構(gòu)顯示 頁(yè)(page), 塊(block) 的物理結(jié)構(gòu)存在UNIX 或 LINUX 的數(shù)據(jù)是以 檔案(file)的形式存在。 LOAD將檔案(file)里的數(shù)據(jù) 加載到關(guān)系型數(shù)據(jù)庫(kù) UNLOAD 將加載到關(guān)系型數(shù)據(jù)庫(kù)卸載成檔案(file)方法 多種 SQL LOAD,UNLOAD Utility

2、 dbload 多線(xiàn)程 外部表(external table)考慮因素 卸載粒度,卸載速度,鎖,隔離級(jí)別,裸表400-013-9696 / / 2 目標(biāo)掌握GBase 8s unload/load裝卸數(shù)據(jù) 掌握GBase 8s onunload/onload裝卸數(shù)據(jù)掌握GBase 8s dbload裝載數(shù)據(jù)掌握GBase 8s dbexport/dbimport遷移數(shù)據(jù)庫(kù)400-013-9696 / / 3 目錄一二三四 unload/load裝卸數(shù)據(jù) dbload裝載數(shù)據(jù) onunload/onload裝卸數(shù)據(jù) dbexport/dbimport整庫(kù)裝卸數(shù)據(jù)400-013-9696 / /

3、4 unload/load 介紹裝載/卸載方式通過(guò)SQL語(yǔ)句的方式對(duì)表進(jìn)行訪(fǎng)問(wèn),從而達(dá)到數(shù)據(jù)的卸載和裝載的功能卸載內(nèi)容 unload 只卸載遷移表的數(shù)據(jù),不包含表數(shù)據(jù)模式及索引數(shù)據(jù)。SELECT子句的靈活方式,導(dǎo)出的數(shù)據(jù)可以來(lái)自一個(gè)表或者多個(gè)表。卸載粒度 unload 卸載粒度包括部分字段或全部字段,部分記錄或全表記錄,是遷移工具中粒度最小的,也是該工具靈活方便的原因之一輸出結(jié)果 unload 輸出以分隔符分隔各字段的 ASCII 文件(明文)。分隔符可在卸載命令 delimiter 選項(xiàng)中顯式指定400-013-9696 / / 5 unload/load 介紹導(dǎo)入數(shù)據(jù) 在SQL中指定數(shù)據(jù)文

4、件,并將ASCII文件中的明文插入(insert)到指定的表unload/load優(yōu)點(diǎn)unload由于使用select語(yǔ)句作為檢索工具,從而決定了unload工具的靈活、方便。通過(guò)指定字段列表、查詢(xún)條件等。unload/load 卸載數(shù)據(jù)為 ASCII 文件,故為遷移提供了極大的靈活性,可遷移到異構(gòu)的硬件平臺(tái)、操作系統(tǒng)、數(shù)據(jù)庫(kù)中400-013-9696 / / 6 unload卸載數(shù)據(jù)unload卸載步驟unload語(yǔ)法UNLOAD TO filename DELIMITER delimiter SELECT Statement;filename 可以為全路徑或者相對(duì)路徑文件名;DELIMIT

5、ER選項(xiàng),定義數(shù)據(jù)列分隔符,默認(rèn)為|;SELECT 項(xiàng)為SQL子句;1.準(zhǔn)備充足的磁盤(pán)空間; 2.采用unload工具卸載表數(shù)據(jù);3.使用dbschema 工具卸載表的數(shù)據(jù)模式,生成建表SQL語(yǔ)句;400-013-9696 / / 7 load 裝載數(shù)據(jù)load裝載步驟load語(yǔ)法1. 創(chuàng)建與源表結(jié)構(gòu)相同的目標(biāo)表; 2. 采用load工具將的數(shù)據(jù)文件裝載至數(shù)據(jù)庫(kù)中;LOAD FROM filename DELIMITER delimiter INSERT INTO Table Name | Synonym Name| View Name (column);filename 可以為全路徑或者相對(duì)

6、路徑文件名;DELIMITER選項(xiàng),定義數(shù)據(jù)列分隔符,默認(rèn)為|;Column 選項(xiàng),默認(rèn)為數(shù)據(jù)庫(kù)表的字段的順序,要與文件中數(shù)據(jù)列順序保持一致;只有當(dāng)表中字段數(shù)大于等于數(shù)據(jù)文件中的列數(shù)時(shí),才能將數(shù)據(jù)導(dǎo)入。400-013-9696 / / 8 unload 鎖情況unload時(shí)表的鎖定狀況 遷移表被獨(dú)占時(shí)可卸載表數(shù)據(jù)的條件:數(shù)據(jù)庫(kù)非日志狀態(tài)臟讀隔離級(jí)別(在日志數(shù)據(jù)庫(kù)以非臟讀隔離級(jí)卸載獨(dú)占的表時(shí),返回鎖沖突錯(cuò)誤)對(duì)卸載表的加鎖情況對(duì)卸載表不鎖定情況對(duì)卸載表不鎖定情況對(duì)卸載表加共享鎖情況對(duì)卸載表加共享鎖情況1.非日志數(shù)據(jù)庫(kù)1.日志數(shù)據(jù)庫(kù)-可重復(fù)讀隔離級(jí)別 2.臟讀2. 日志數(shù)據(jù)庫(kù)- 游標(biāo)穩(wěn)定讀3.提交

7、讀隔離級(jí)別400-013-9696 / / 9 load 鎖情況load時(shí)表的鎖定狀況 :在日志數(shù)據(jù)庫(kù)中,對(duì)裝載表加排他鎖。鎖定粒度缺省情況下為行鎖或頁(yè)鎖(建表時(shí)確定)。當(dāng)裝載數(shù)據(jù)量較大時(shí),可顯示將鎖模式更改為頁(yè)級(jí)鎖。在非日志數(shù)據(jù)庫(kù)中,對(duì)裝載表不加鎖,對(duì)裝載成功的記錄可隨時(shí)訪(fǎng)問(wèn)。 數(shù)據(jù)庫(kù)日志狀態(tài)Unload/load 裝卸載不受數(shù)據(jù)庫(kù)日志狀態(tài)的限制。400-013-9696 / / 10 unload/load 鎖情況Load支持事務(wù)并發(fā)load數(shù)據(jù)1.通過(guò)事務(wù)控制數(shù)據(jù)的裝載過(guò)程,失敗后可以回滾本次裝載的記錄;begin work; load from filename insert into

8、 tablename;commit work; 2.默認(rèn)情況下,load把裝載過(guò)程分成多個(gè)事務(wù),當(dāng)失敗時(shí)回滾最后 一個(gè)子事務(wù),已經(jīng)導(dǎo)入的記錄不能自動(dòng)回滾。T1,Begin work;Load from t_1.unl insert into t;Commit work;T2,Begin work;Load from t_2.unl insert into t;Commit work;400-013-9696 / / 11 unload/load 如何提高裝載性能提高 unload/load 性能的技巧 1去掉數(shù)據(jù)庫(kù)(表)日志,提高 load 速度 取掉目的表表級(jí)日志 ALTER TABLE T

9、ABNAME TYPE(RAW); 采用 LOAD 工具裝載 增加目的表表級(jí)日志 ALTER TABLE TABNAME TYPE(STANDARD);2采用多進(jìn)程,加速 unload/load 卸裝速度 將需要裝卸的多張表分配到不同的進(jìn)程中并發(fā)裝卸,可減少整體裝卸載時(shí)間; 將海量表分配到多個(gè)進(jìn)程中并發(fā)卸裝,可減少海量表的卸載時(shí)間 采用多進(jìn)程裝載海量表,需要特別注意鎖溢出與長(zhǎng)事務(wù)的出現(xiàn)3去掉參照性約束及索引,加速 load 裝載速度 在裝載前先刪除表索引及參照性約束,在裝載完畢后重新創(chuàng)建。400-013-9696 / / 12 目錄一二三四 unload/load裝卸數(shù)據(jù) dbload裝載數(shù)據(jù)

10、 onunload/onload裝卸數(shù)據(jù) dbexport/dbimport整庫(kù)裝卸數(shù)據(jù)400-013-9696 / / 13 dbload - 介紹 通過(guò)命令行方式裝載數(shù)據(jù)讀取ASCII文件(明文),并裝載到已經(jīng)存在的表裝載數(shù)據(jù)前需要額外創(chuàng)建控制文件使用方式靈活,但是復(fù)雜度比load高400-013-9696 / / 14 dbload用法:dbload -d dbname -c cfilname -l logfile -e errnum -n nnum -i inum -s -p -r | -k -X -d 數(shù)據(jù)庫(kù)名 -c 命令文件名(也叫控制文件名) -l 保存導(dǎo)入過(guò)程中失敗的記錄 -e

11、 導(dǎo)入失敗多少條記錄后退出 -s 僅檢查語(yǔ)法,不真正執(zhí)行任務(wù) -n 批量提交記錄數(shù)定義 -p 失敗情況時(shí)提示:提交或者放棄(和-e參數(shù)配合使用) -i 從文件第幾行開(kāi)始,默認(rèn)為第一行記錄 -r 導(dǎo)入過(guò)程對(duì)表不加排他鎖 -X 識(shí)別16進(jìn)制數(shù)據(jù) -k 導(dǎo)入過(guò)程對(duì)表加排他鎖400-013-9696 / / 15 dbload命令文件 FILE filename DELIMITER | nfields INSERT INTO tablename (column) values (f01,f02,)Filename 定義輸入文件名| 分隔符號(hào),這里為“|”,可以定義為其他的符號(hào)nfields 定義每行記

12、錄的列數(shù)tablename 定義導(dǎo)入的目的表(column) values 為可選項(xiàng) f01為文件的第一列,依次類(lèi)推400-013-9696 / / 16 舉例說(shuō)明導(dǎo)入說(shuō)明數(shù)據(jù)庫(kù)名:demodb 控制文件名:load_tab.ctl錯(cuò)誤日志文件名:error.log 每次提交的數(shù)據(jù)條數(shù):100000數(shù)據(jù)文件名:tab.unl 數(shù)據(jù)字段分隔符: “”每行數(shù)據(jù)的字段數(shù)據(jù): 14 要插入的數(shù)據(jù)表名:tab應(yīng)用命令如下:dbload -d demodb -c load_tab.ctl -l error.log -n 100000;控制文件Load_tab.ctl 內(nèi)容: -file “tab.unl

13、delimiter | 14 ;insert into tab;400-013-9696 / / 17 dbload優(yōu)缺點(diǎn)優(yōu)點(diǎn) 由于有容錯(cuò)能力,可以用來(lái)重復(fù)導(dǎo)入數(shù)據(jù),已有記錄保留不變,只增加新增記錄 可以指定分批提交記錄數(shù),從而能有效處理大數(shù)據(jù)量的表的導(dǎo)入 對(duì)導(dǎo)入失敗數(shù)據(jù)進(jìn)行記錄到指定文件中,可以幫助使用者快速找到有問(wèn)題的記錄信息 可以指定文件記錄開(kāi)始行信息 通過(guò)命令文件,靈活定義導(dǎo)入文件數(shù)據(jù)的格式缺點(diǎn) 裝載數(shù)據(jù)效率較低,不如unload/load 需要?jiǎng)?chuàng)建命令文件,因此用法比unload/load復(fù)雜400-013-9696 / / 18 目錄一二三四 unload/load裝卸數(shù)據(jù) dbl

14、oad裝載數(shù)據(jù) onunload/onload裝卸數(shù)據(jù) dbexport/dbimport整庫(kù)裝卸數(shù)據(jù)400-013-9696 / / 19 onunload/onload 介紹onunload/onload遷移數(shù)據(jù)需要在相同的操作系統(tǒng)平臺(tái)以及相同的操作系統(tǒng)版本之間進(jìn)行onunload/onload提供同平臺(tái)下的高速遷移卸載內(nèi)容onunload 卸載遷移表數(shù)據(jù)模式、數(shù)據(jù)頁(yè)、索引頁(yè)信息。卸載粒度onunload 卸載粒度為數(shù)據(jù)庫(kù)級(jí)或表級(jí)。輸出結(jié)果onunload 輸出為二進(jìn)制數(shù)據(jù)文件400-013-9696 / / 20 onunload 語(yǔ)法onunload語(yǔ)法: onunload -l -t

15、 -b -s :.其中:-l表示onunload分別從LTAPEDEV、LTAPEBLK和LTAPESIZE讀取磁盤(pán)設(shè)備、塊大小和設(shè)備大小限制-t指定磁盤(pán)上已經(jīng)存在的文件名。此選項(xiàng)覆蓋TAPEDEV或LTAPEDEV參數(shù)指定的設(shè)備。400-013-9696 / / 21 onunload 導(dǎo)出舉例舉例:導(dǎo)出testdb數(shù)據(jù)庫(kù)到testdb.unl文件touch /home/gbase/testdb.unlonunload -t /home/gbase/testdb.unl testdb 舉例:導(dǎo)出testdb數(shù)據(jù)庫(kù)中的t表到t.unl文件touch /home/gbase/t.unlonunl

16、oad -t /home/gbase/t.unl testdb:t 400-013-9696 / / 22 onload 語(yǔ)法 onload用法: onload -l -t -b -s -d :. -i -fd old-DBspace-name new-DBspace-name -fi index-name old-DBspace-name new-DBspace-name -c 其中:-l 表示onunload分別從LTAPEDEV、LTAPEBLK和LTAPESIZE讀取磁盤(pán)設(shè)備、塊大小和設(shè)備大小限制-t 指定數(shù)據(jù)文件名的路徑400-013-9696 / / 23 onload 導(dǎo)入數(shù)據(jù)庫(kù)

17、舉例舉例,導(dǎo)入testdb數(shù)據(jù)庫(kù)步驟一:利用onload工具導(dǎo)入數(shù)據(jù)庫(kù)onload -t /home/gbase/testdb.unl -d dbs1 testdbonload程序從源文件中讀取二進(jìn)制數(shù)據(jù),自動(dòng)創(chuàng)建表結(jié)構(gòu)、裝載表數(shù)據(jù)及索引數(shù)據(jù)。步驟二:修改testdb數(shù)據(jù)庫(kù)的日志模式為unbufferedontape -s -L 0 -t /dev/null -U testdbonload程序生成的數(shù)據(jù)庫(kù)為無(wú)日志模式,可根據(jù)需要單獨(dú)進(jìn)行日志模式的轉(zhuǎn)換。400-013-9696 / / 24 onload 導(dǎo)入表舉例舉例,導(dǎo)入t表到testdb數(shù)據(jù)庫(kù)步驟一:修改testdb庫(kù)日志模式為nolog

18、模式ondblog nolog testdb使用onload導(dǎo)入單個(gè)表的數(shù)據(jù)前,必須修改數(shù)據(jù)庫(kù)日志模式為nolog模式步驟二:使用onload裝載t表數(shù)據(jù)onload -t /home/gbase/t.unl -d dbs1 testdb:tonload程序從源文件中讀取二進(jìn)制數(shù)據(jù),自動(dòng)創(chuàng)建表結(jié)構(gòu)、裝載表數(shù)據(jù)及索引數(shù)據(jù)步驟三:修改testdb數(shù)據(jù)庫(kù)日志模式為unbufferedontape -s -L 0 -t /dev/null -U testdbonload程序生成的數(shù)據(jù)庫(kù)為無(wú)日志模式,可根據(jù)需要單獨(dú)進(jìn)行日志模式的轉(zhuǎn)換。400-013-9696 / / 25 unonload/onload

19、 鎖情況卸載表的鎖定狀態(tài)onunload : 不能對(duì)加有獨(dú)占鎖的表進(jìn)行卸載,包括任意粒度的鎖定:表級(jí)鎖、行鎖、頁(yè)鎖。 卸載時(shí)對(duì)卸載表加表級(jí)共享鎖。 裝載時(shí)對(duì)表的鎖定狀況onload : 對(duì)裝載表加互斥鎖。數(shù)據(jù)庫(kù)日志狀態(tài)onload 要求數(shù)據(jù)庫(kù)必須無(wú)日志400-013-9696 / / 26 目錄一二三四 unload/load裝卸數(shù)據(jù) dbload裝載數(shù)據(jù) onunload/onload裝卸數(shù)據(jù) dbexport/dbimport整庫(kù)裝卸數(shù)據(jù)400-013-9696 / / 27 dbexport/dbimport - 介紹dbexport一次性導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)中所有表數(shù)據(jù)到ASCII文件(明文

20、)dbexport導(dǎo)出過(guò)程中自動(dòng)創(chuàng)建模式文件(文件中包含創(chuàng)建所有對(duì)象的DDL語(yǔ)句)通過(guò)dbexport導(dǎo)出的數(shù)據(jù),可以通過(guò)dbimport一次性導(dǎo)入dbexport導(dǎo)出過(guò)程中會(huì)鎖住整個(gè)數(shù)據(jù)庫(kù)(應(yīng)用程序不能連接數(shù)據(jù)庫(kù))dbimport一次性導(dǎo)入dbexport程序?qū)С龅臄?shù)據(jù)dbimport導(dǎo)入數(shù)據(jù)的同時(shí)自動(dòng)從模式文件中創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象400-013-9696 / / 28 dbexport 語(yǔ)法dbexport -X -c -q -d -ss -o | -t -b -s -f 其中主要選項(xiàng)說(shuō)明如下: -c 如果沒(méi)有發(fā)生致命錯(cuò)誤,則輸出全部信息 -d 僅輸出blob描述符,不輸出blob數(shù)據(jù) -ss

21、 對(duì)指定數(shù)據(jù)庫(kù)中的所有表生成詳細(xì)的屬性。 -q 在標(biāo)準(zhǔn)輸出設(shè)備上不顯示錯(cuò)誤信息,警告和所生成的SQL數(shù)據(jù)定義語(yǔ)句 database 指定卸出的數(shù)據(jù)庫(kù)名 -o directory 命名存儲(chǔ)ASCII數(shù)據(jù)文件和模式文件的磁盤(pán)目錄 -f sql-command-file 指定存于磁盤(pán)上的模式文件400-013-9696 / / 29 dbimport 語(yǔ)法dbimport實(shí)用程序的語(yǔ)法:dbimport -X -c -q -d -l buffered -ansi -ci -nv -D -i | -t -b -s -f 建庫(kù)選項(xiàng):-d 指定用來(lái)存儲(chǔ)新建數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)空間(dbspace)。如果沒(méi)有使用-d選項(xiàng)指定dbspace,則數(shù)據(jù)庫(kù)缺省建立在根dbspace(rootdbs)中。-i 指定存儲(chǔ)ASCII文件和模式文件的磁盤(pán)目錄,以便dbimport查找。-l 如果沒(méi)有使用buffered參數(shù),為裝入的數(shù)據(jù)庫(kù)建立無(wú)緩沖事務(wù)日志;如果使用了buffered參數(shù),為裝入的數(shù)據(jù)庫(kù)建立有緩沖事務(wù)日志。-l選項(xiàng)等價(jià)于CREA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論