青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

DB2 實(shí)用程序介紹之LOAD實(shí)用程序

Posted on 2009-11-09 13:32 Prayer 閱讀(1825) 評論(0)  編輯 收藏 引用 所屬分類: DB2

 LOAD 實(shí)用程序是用于為表填充數(shù)據(jù)的另一種方法。該實(shí)用程序?qū)⒏袷交?strong>頁面直接寫入到數(shù)據(jù)庫中。這種機(jī)制允許比 IMPORT 實(shí)用程序更有效地移動數(shù)據(jù)。然而,有些操作,例如參照約束或表約束檢查和觸發(fā)器的調(diào)用,是不能用 IMPORT 實(shí)用程序執(zhí)行的。

  下面是 LOAD 命令的核心。其他受支持的選項(xiàng)和修飾符將在本節(jié)中后面幾屏中介紹。為了成功地執(zhí)行這個命令,必須擁有 SYSADM/DBADM 或 LOAD 權(quán)限,或者擁有裝載操作涉及的表上的 INSERT 和/或 DELETE 特權(quán)。為了將數(shù)據(jù)裝載到包含受保護(hù)列的表中,必須擁有允許對表中所有受保護(hù)列進(jìn)行寫訪問的 LBAC 憑證。為了將數(shù)據(jù)裝載到受保護(hù)的行中,必須被授予允許寫訪問的安全標(biāo)簽,作為保護(hù)表的安全策略的一部分。

  LOAD FROM input_source OF input_type
  MESSAGES message_file
  [ INSERT REPLACE TERMINATE RESTART ]
  INTO target_tablename

  用于 LOAD 的源輸入的格式可以是 DEL、ASC、PC/IXF 或 CURSOR。游標(biāo)是一個 SELECT 語句返回的結(jié)果集。下面是使用 CURSOR 作為裝載輸入的一個例子:

  DECLARE mycursor CURSOR FOR SELECT col1, col2, col3 FROM tab1;
  LOAD FROM mycursor OF CURSOR INSERT INTO newtab;

  在開始裝載實(shí)用程序之前,裝載目標(biāo)必須已經(jīng)存在。裝載目標(biāo)可以是一個表、一個類型化表或一個表的別名。將數(shù)據(jù)裝載到包含 XML 列的表、系統(tǒng)表和臨時表是不受支持的。

  使用 MESSAGES 選項(xiàng)可以捕獲裝載期間遇到的錯誤、警告和包含有用信息的消息。

  LOAD 可以以四種不同的模式執(zhí)行:

  •   INSERT 模式將輸入數(shù)據(jù)添加到一個表中,而不更改已有的表數(shù)據(jù)。
  •   REPLACE 模式刪除表中所有已有的數(shù)據(jù),然后用輸入數(shù)據(jù)填充這個表。
  •   TERMINATE 模式終止裝載操作,并回滾到它開始時所在的時間點(diǎn)。一個例外是,如果指定了 REPLACE 模式,那么表將被刪節(jié)。
  •   RESTART 模式用于重新開始之前被中斷的裝載命令。它將自動從最近的一致點(diǎn)繼續(xù)。要使用這個模式,可以指定與前一個 LOAD 命令相同的選項(xiàng),但是這一次加上 RESTART。它使實(shí)用程序可以發(fā)現(xiàn)在裝載處理中生成的所有需要的臨時表。因此,千萬不要手動刪除裝載命令所生成的任何臨時文件,除非您確信不再需要這些臨時文件。一旦裝載成功完成,這些臨時文件將自動被刪除。默認(rèn)情況下,這些臨時文件是在當(dāng)前的工作目錄中創(chuàng)建的。也可以使用 TEMPFILES PATH 選項(xiàng)指定存放臨時文件的目錄。

  裝載過程的四個階段

  一個完整的裝載過程包括四個不同的階段。

  1、裝載階段:

  •   將數(shù)據(jù)裝載到表中。
  •   收集索引鍵和表統(tǒng)計信息。
  •   記錄一致點(diǎn)。
  •   將無效的數(shù)據(jù)放在轉(zhuǎn)儲文件中,并在消息文件中記錄消息。當(dāng)數(shù)據(jù)行不符合表定義時,這些數(shù)據(jù)就被當(dāng)作無效數(shù)據(jù),并且被拒絕(不裝載到表中)。可以使用 dumpfile 修飾符來指定用于記錄被拒絕行的文件的文件名和位置

  2、構(gòu)建階段:

  基于裝載階段收集到的鍵創(chuàng)建索引。如果指定了 STATISTICS USE PROFILE,則還要根據(jù)為目標(biāo)表定義的概要文件(profile)收集統(tǒng)計信息。這個概要文件必須在裝載執(zhí)行之前創(chuàng)建,否則將返回一個警告,并且無法收集到統(tǒng)計信息。

  3、刪除階段:

  •   刪除導(dǎo)致違反惟一鍵的行,并將它們放在異常表中。除了前面描述的不符合目標(biāo)表定義的數(shù)據(jù)外,還有一些通過了裝載階段但是違反表中定義的惟一性約束的數(shù)據(jù)。注意,這里只有違反惟一鍵的行被當(dāng)作不良數(shù)據(jù);這一次不會檢查其他約束。由于這種類型的數(shù)據(jù)已經(jīng)被裝載到表中,因此 LOAD 實(shí)用程序?qū)⒃谶@個階段刪除不符合要求的行。這里可以使用一個異常表來存儲被刪除的行,以便裝載操作完成后決定如何處理它們。如果沒有指定異常表,則不符合要求的行就完全被刪除,而沒有被跟蹤。后面將更詳細(xì)地討論異常表。
  •   將消息記錄在消息文件中。

  4、索引復(fù)制階段:

  •   如果指定了 ALLOW READ ACCESS 和 USE TABLESPACE 選項(xiàng),那么這個階段會將索引數(shù)據(jù)從系統(tǒng)臨時表空間中復(fù)制到這些索引應(yīng)該處在的表空間中。

  異常表 是一種用戶定義的表,它必須具有與被裝載的目標(biāo)表相同的列定義。如果至少有一個列在異常表中沒有出現(xiàn),那么不符合要求的行將被丟棄。只有兩個附加的列可以添加到表的后面:一個是用于記錄一個行何時被插入的時間戳列,另一個是用于存放一個行之所以被當(dāng)作壞行的原因(或消息)的 CLOB 列。

  您將注意到,這一屏中給出的一些概念還沒有被詳細(xì)談到。在這一節(jié)剩下的部分中,我們將使用一些例子,并將這些概念串起來講。

  一個裝載的例子

  看看下面這個例子,它演示了一個裝載過程中涉及的步驟:

  LOAD FROM emp.ixf OF IXF
  MESSAGES msg.out
  MODIFIED BY DUMPFILE=c:\emp.dmp
  TEMPFILES PATH d:\tmp
  INSERT INTO employee
  FOR EXCEPTION empexp

  裝載示例

  在上面的圖中,(1) 顯示了輸入源文件的內(nèi)容。

  (2) 中顯示的目標(biāo)表 EMPLOYEE 是用以下列定義創(chuàng)建的:

  第一列必須是惟一的。

  最后一列是一個數(shù)值列,且不能為 NULL。

  (3) 中顯示的異常表 EMPEXP 是使用和 EMPLOYEE 相同的列,再加上時間戳和消息列創(chuàng)建的。

  在裝載階段,輸入文件中的所有數(shù)據(jù)被裝載到 EMPLOYEE 中 —— 除了標(biāo)為粉色的兩個行,因?yàn)樗鼈儾环?NOT NULL 和 NUMERIC 列定義。由于指定了 DUMPFILE 修飾符,因此這兩行的數(shù)據(jù)被記錄在 C:\emp.dmp 文件中。

  在刪除階段,標(biāo)為黃色的兩個行被從 EMPLOYEE 中刪除,并插入到異常表 EMPEXP 中。這是因?yàn)樗鼈冞`反了 EMPLOYEE 表中第一列的惟一性約束造成的。

  在裝載的最后,您應(yīng)該檢查消息文件、轉(zhuǎn)儲文件和異常表,然后決定如何處理被拒絕的行。如果裝載成功完成,那么在 D:\tmp 中生成的臨時表將被刪除。

  裝載選項(xiàng)和文件類型修飾符

  前一屏中已經(jīng)介紹了一些裝載選項(xiàng)和文件類型修飾符。這里再討論一些。

  裝載選項(xiàng):

  ROWCOUNT n: 允許用戶指定只裝載輸入文件中的前 n 個記錄。

  SAVECOUNT n: 每裝載 n 行后建立一致點(diǎn)。消息文件中將生成和記錄一些消息,用于表明在保存點(diǎn)所在時間上有多少輸入行被成功地裝載。當(dāng)輸入文件類型是 CURSOR 時,不會出現(xiàn)這種情況。

  WARNINGCOUNT n: 在發(fā)生 n 次警告后停止裝載。

  INDEXING MODE [ REBUILD INCREMENTAL AUTOSELECT DEFERRED ]: 在構(gòu)建階段構(gòu)建索引。這個選項(xiàng)指定 LOAD 實(shí)用程序是重新構(gòu)建索引,還是以增量的方式擴(kuò)展索引。這里支持四中不同的模式:

  •   REBUILD 模式強(qiáng)制重新構(gòu)建所有索引。
  •   INCREMENTAL 模式只向索引中添加新的數(shù)據(jù)。
  •   AUTOSELECT 模式允許實(shí)用程序在 REBUILD 和 INCREMENTAL 之間作出選擇。
  •   DEFERRED 模式意味著在裝載期間不會創(chuàng)建索引。涉及的索引上會作出標(biāo)記,但是需要刷新。當(dāng)重新啟動數(shù)據(jù)庫或者第一次訪問那些索引時,才會重新構(gòu)建那些索引。

  STATISTICS USE PROFILE: 執(zhí)行裝載后,之前的目標(biāo)表統(tǒng)計信息很可能已經(jīng)無效了,因?yàn)楸碇刑砑恿烁嗟臄?shù)據(jù)。您可以選擇在構(gòu)建階段根據(jù)為目標(biāo)表定義的概要文件來收集統(tǒng)計信息。

  文件類型修飾符。 文件類型修飾符是用 MODIFIED BY 子句指定的。下面是一些可能對您有用的文件類型修飾符:

  •   fastparse: 減少對被裝載數(shù)據(jù)的語法檢查,以提高性能。
  •   identityignore、identitymissing 和 identityoverride: 分別用于忽略列數(shù)據(jù)、表明缺少列數(shù)據(jù)或覆蓋相同的列數(shù)據(jù)。
  •   indexfreespace n、pagefreespace n 和 totalfreespace n: 保留索引中指定數(shù)量的空閑頁和數(shù)據(jù)頁。
  •   norowwarnings: 禁止發(fā)出行警告。
  •   lobsinfile: 表明要裝載 LOB 文件。看看用于 LOB 路徑的 LOBS FROM 選項(xiàng)。

  裝載期間的表訪問

  當(dāng)一個表被裝載時,LOAD 實(shí)用程序用一個排它鎖將它鎖定。在裝載完成之前,對表的其他訪問是不允許的。這是 ALLOW NO ACCESS 選項(xiàng)的默認(rèn)行為。在那樣的裝載期間,表處于 LOAD IN PROGRESS 狀態(tài)。有一個很方便的命令可以檢查裝載操作的狀態(tài)和返回表狀態(tài):

  LOAD QUERY TABLE table_name

  您也許會猜想有一個選項(xiàng)會允許表訪問。ALLOW READ ACCESS 選項(xiàng)導(dǎo)致被裝載的表以共享的方式鎖定。讀者可以訪問表中已有的數(shù)據(jù),但是不能訪問新裝載的那部分?jǐn)?shù)據(jù)。在裝載完成之前,不能訪問正在裝載的數(shù)據(jù)。這個選項(xiàng)使正在裝載數(shù)據(jù)的表處于 LOAD IN PROGRESS 狀態(tài)和 READ ACCESS ONLY 狀態(tài)。

  如前一屏中提到的那樣,在構(gòu)建階段,可以重新構(gòu)建一個完整的索引,也可以用新的數(shù)據(jù)擴(kuò)展索引。對于 ALLOW READ ACCESS 選項(xiàng),如果重新構(gòu)建完整的索引,那么將創(chuàng)建索引的一個影子副本。當(dāng) LOAD 實(shí)用程序進(jìn)入索引復(fù)制階段(見 裝載過程的四個階段)時,目標(biāo)表將離線,新的索引被復(fù)制到目標(biāo)表空間。

  無論指定哪種表訪問選項(xiàng),裝載操作都需要得到各種不同的鎖才能繼續(xù)。如果某個應(yīng)用程序已經(jīng)鎖住了目標(biāo)表,那么 LOAD 實(shí)用程序就必須等到這些鎖被釋放。為了不必等到一個鎖釋放出來,可以使用 LOAD 命令中的 LOCK WITH FORCE 選項(xiàng),使持有有沖突的鎖的其他應(yīng)用程序離開。

  設(shè)置 Integrity Pending 表狀態(tài)

  到目前為止,我們知道不符合目標(biāo)表定義的輸入數(shù)據(jù)不會被裝載到表中。在裝載階段,那樣的數(shù)據(jù)會被拒絕,并記錄在消息文件中。在刪除階段,LOAD 實(shí)用程序刪除違反惟一性約束的行。如果指定了相關(guān)選項(xiàng),則不符合要求的行將被插入到一個異常表中。那么,對于表上可能定義的其他約束,例如參照完整性約束和檢查約束,又是如何處理的呢?LOAD 實(shí)用程序不會檢查這些約束。表將處于 SET INTEGRITY PENDING 狀態(tài),因此,在可以訪問表之前,必須手動地檢查數(shù)據(jù)完整性。可以使用前一屏中討論的 LOAD QUERY 命令來查詢表的狀態(tài)。系統(tǒng)編目表 SYSCAT.TABLES 中的 CONST_CHECKED 列也表明了表中定義的每種約束的狀態(tài)。

  check Pending

  要手動關(guān)閉一個或多個表的完整性檢查,可以使用 SET INTEGRITY 命令。這里給出一些例子來演示這個命令的一些選項(xiàng)。為了立即為 EMPLOYEE 和 STAFF 表的附加選項(xiàng)檢查完整性,可以使用命令:

  SET INTEGRITY FOR employee, staff IMMEDIATE CHECKED INCREMENTAL

  為了避免對 EMPLOYEE 表進(jìn)行外鍵檢查,可以使用 IMMEDIATE UNCHECKED 選項(xiàng):

  SET INTEGRITY FOR employee FOREIGN KEY IMMEDIATE UNCHECKED

  在某些情況下,您可能想在裝載完成后使目標(biāo)表和與之有外鍵關(guān)系的子表處于 SET INTEGRITY PENDING 狀態(tài)。這樣可以確保對所有這些表的訪問都受到控制,直到執(zhí)行了手動的完整性檢查。裝載選項(xiàng)是 SET INTEGRITY PENDING CASCADE IMMEDIATE,這表明外鍵約束的 check pending 狀態(tài)被立即擴(kuò)展到有外鍵關(guān)系的所有子表中。默認(rèn)情況下,只有被裝載的表處于 check pending 狀態(tài)。這是裝載選項(xiàng) SET INTEGRITY PENDING CASCADE DEFERRED 的行為。

  表空間狀態(tài)

  由于 LOAD 實(shí)用程序直接將格式化的頁寫到數(shù)據(jù)庫中,因此不會執(zhí)行數(shù)據(jù)庫日志記錄來記錄被裝載的新數(shù)據(jù)。對于可恢復(fù)數(shù)據(jù)庫(即打開了 LOGREATIN 和/或 USEREXIT 選項(xiàng)),DB2 需要確保那個數(shù)據(jù)庫在裝載完成后仍然是可恢復(fù)的。為了保¯?可恢復(fù)性,用于存放表的表空間將被置于 BACKUP PENDING 模式。這意味著表空間在被訪問之前必須先作備份。

  這是使表空間在裝載操作完成之后可以被訪問的默認(rèn)方法。另一種方法是在裝載運(yùn)行時,使用 COPY YES 選項(xiàng)備份被裝載的數(shù)據(jù)。在裝載結(jié)束時,將創(chuàng)建一個備份文件。

  如果想避免在裝載完成后立即備份表空間,那么可以考慮另外一種選擇。裝載選項(xiàng) NONRECOVERABLE 將被裝載的表標(biāo)記為不可恢復(fù)。在裝載完成后,相關(guān)的表空間可以完全訪問。DB2 不會阻止您查詢和修改表數(shù)據(jù)。但是,如果以后需要恢復(fù)表空間并且回滾到 NONRECOVERABLE 裝載選項(xiàng)之后的某個時間點(diǎn),這個被裝載的表是不可恢復(fù)的。恢復(fù)過程忽略所有與表相關(guān)的日志。您只能刪除并重新創(chuàng)建表。因此,建議在方便的時候?yàn)楸碜鱾浞荩挂延械臄?shù)據(jù)和被裝載的數(shù)據(jù)都保存在備份中。

  使用 Control Center 執(zhí)行裝載

  Control Center 為執(zhí)行裝載操作提供了易于使用的圖形化界面。如下圖所示,高級選項(xiàng)都用提示作了描述。使用 Control Center 很容易設(shè)置這些選項(xiàng)。

  使用 Control Center 執(zhí)行裝載

  IMPORT 與 LOAD

  下面是 IMPORT 和 LOAD 實(shí)用程序之間的比較:

  Import 與 Load

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品久久7777| 国产午夜精品一区二区三区欧美 | 亚洲开发第一视频在线播放| 亚洲天天影视| 欧美男人的天堂| 亚洲第一精品电影| 久久精品视频导航| 中文亚洲字幕| 欧美日韩免费观看一区二区三区 | 欧美不卡福利| 亚洲电影在线| 欧美成人综合| 久久精品色图| 在线观看欧美激情| 久久综合狠狠综合久久激情| 久久九九99视频| 亚洲成人在线视频网站| 欧美国产精品日韩| 欧美成人精品激情在线观看| 亚洲茄子视频| 亚洲精品欧洲精品| 欧美三级视频在线观看| 亚洲免费视频网站| 亚洲男人的天堂在线观看| 国产精品一区在线播放| 久久久久久欧美| 久久亚裔精品欧美| 亚洲精品乱码久久久久久按摩观| 欧美激情一区二区三区蜜桃视频 | 亚洲国产一二三| 蘑菇福利视频一区播放| 亚洲电影在线看| 美女被久久久| 久久久亚洲午夜电影| 在线看无码的免费网站| 欧美综合77777色婷婷| 亚洲新中文字幕| 国产精品日韩电影| 欧美一级专区| 欧美一区日韩一区| 黄色日韩在线| 欧美国产精品日韩| 亚洲欧美日韩一区在线观看| 国产精品综合av一区二区国产馆| 久久超碰97人人做人人爱| 久久久久国产精品人| 欧美日韩大片| 国产精品99久久久久久人| 99视频+国产日韩欧美| 国产精品白丝jk黑袜喷水| 亚洲欧美韩国| 久久精品二区三区| 亚洲国产一区二区a毛片| 亚洲国产精品一区二区www| 欧美日韩美女在线| 久久精品av麻豆的观看方式| 久久久久看片| 9国产精品视频| 欧美大片免费观看| 久久精品二区| 亚洲一二三区视频在线观看| 亚洲第一精品电影| 国产精品高潮呻吟视频 | 在线观看日韩av| 亚洲人成在线播放网站岛国| 欧美午夜视频在线| 久久免费国产精品1| 欧美jizz19hd性欧美| 亚洲欧美中日韩| 免费视频亚洲| 久久久久天天天天| 国产精品99免费看| 欧美日韩少妇| 免费精品视频| 国产精品久久久亚洲一区| 亚洲国产精品v| 国产美女精品视频| 一区二区三区偷拍| 最新国产乱人伦偷精品免费网站| 99riav久久精品riav| 亚洲国内精品在线| 一本久道久久综合婷婷鲸鱼| 久久久一二三| 在线观看欧美精品| 欧美一区二区三区免费在线看 | 国产偷国产偷精品高清尤物| 亚洲午夜一区二区三区| 亚洲免费av观看| 这里只有精品视频在线| 亚洲精品日韩欧美| 久久久久久**毛片大全| 午夜视频在线观看一区二区| 欧美人交a欧美精品| 在线观看视频一区二区| 久久久久久午夜| 性高湖久久久久久久久| 国产美女精品视频免费观看| 亚洲美洲欧洲综合国产一区| 99视频有精品| 欧美另类一区| 亚洲深夜av| 亚洲网友自拍| 国产精品亚洲精品| 欧美福利视频在线观看| 91久久精品日日躁夜夜躁欧美| 欧美在线观看视频一区二区| 欧美va天堂va视频va在线| 亚洲精品美女在线观看| 欧美性做爰毛片| 欧美插天视频在线播放| 亚洲欧美一区二区精品久久久| 一区二区三区日韩精品| 在线综合欧美| 亚洲永久字幕| 久久高清一区| 亚洲欧美精品在线观看| 欧美国产91| 亚洲国产日韩欧美在线99| 亚洲国产精品成人| 久久综合激情| 激情六月综合| 久久av最新网址| 久久精品亚洲精品国产欧美kt∨| 激情久久五月天| 久久久久久黄| 亚洲三级国产| 亚洲社区在线观看| 国产精品视频网址| 欧美专区一区二区三区| 欧美人体xx| 中文无字幕一区二区三区| 久久精品国产久精国产一老狼 | 美玉足脚交一区二区三区图片| 亚洲第一主播视频| 99综合精品| 欧美日韩国产精品一区二区亚洲| 日韩西西人体444www| 性欧美18~19sex高清播放| 国产主播一区二区三区| 欧美美女bb生活片| 亚洲一区图片| 亚洲第一黄网| 欧美一区二区在线免费观看| 久久久久久久成人| 亚洲精品小视频在线观看| 亚洲欧美日韩成人高清在线一区| 欧美成人激情视频| 在线性视频日韩欧美| 国产精品女同互慰在线看| 久久成人国产| 亚洲一二三区精品| 精品91在线| 欧美日韩免费一区二区三区| 99视频在线观看一区三区| 欧美激情一区二区三区成人| 亚洲一区二区三区三| 黑人巨大精品欧美一区二区 | 18成人免费观看视频| 欧美调教视频| 美女被久久久| 久久久蜜桃一区二区人| 99人久久精品视频最新地址| 亚洲激情另类| 久久久久久香蕉网| 亚洲无玛一区| 一区二区三区免费网站| 久久国产一区二区三区| 亚洲婷婷免费| 精品69视频一区二区三区| 欧美色大人视频| 美女精品国产| 欧美一区永久视频免费观看| 亚洲欧洲综合另类| 麻豆av福利av久久av| 亚洲最新视频在线| 今天的高清视频免费播放成人| 欧美日韩亚洲成人| 美女黄毛**国产精品啪啪| 欧美一级大片在线观看| 一区二区三区视频观看| 久久久精品国产一区二区三区| 亚洲专区在线| 国产一区二区三区久久久久久久久 | 国产精品久久久久久久久免费樱桃| 久久人人爽人人爽爽久久| 亚洲免费小视频| 亚洲六月丁香色婷婷综合久久| 久久蜜桃香蕉精品一区二区三区| 亚洲夜晚福利在线观看| 日韩一区二区电影网| 最新国产精品拍自在线播放| 欧美成人中文| 欧美国产1区2区| 免费h精品视频在线播放| 久久er精品视频| 亚洲欧美在线一区| 在线观看亚洲视频| 在线看一区二区| 91久久精品国产91久久性色| 亚洲线精品一区二区三区八戒|