• <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>
            天空之城
            new,think,program,happy to live
            posts - 39,comments - 39,trackbacks - 0
            值得大家一看:有關DB2的FAQ

            1、DB2 命令行處理器中命令選項的介紹

            環境 產品:DB2 UDB

            平臺:跨平臺

            版本:Version 6.1,Version 7.1

            問題 介紹 DB2 命令行狀態下有關命令選項的用途及設置方法。

            解答 在 DB2 命令行處理器中使用命令 db2 list command options,可得到如下輸出:

            命令行處理器選項設置

            后端進程等待時間(秒) (DB2BQTIME) = 1

            連接至后端的重試次數 (DB2BQTRY) = 60

            請求隊列等待時間(秒) (DB2RQTIME) = 5

            輸入隊列等待時間(秒) (DB2IQTIME) = 5

            命令選項 DB2OPTIONS) =

            選項 說明 當前設置

            ------ ------------------------------- ------------

            -a 顯示 SQLCA OFF

            -c 自動落實 ON

            -e 顯示 SQLCODE/SQLSTATE OFF

            -f 讀取輸入文件 OFF

            -l 將命令記錄到歷史文件中 OFF

            -n 除去換行字符 OFF

            -o 顯示輸出 ON

            -p 顯示交互式輸入提示 ON

            -r 將輸出保存到報告文件 OFF

            -s 在命令出錯時停止執行 OFF

            -t 設置語句終止字符 OFF

            -v 回送當前命令 OFF

            -w 顯示 FETCH/SELECT 警告信息 ON

            -x 不打印列標題 OFF

            -z 將所有輸出保存到輸出文件 OFF

            這些選項的具體功能及其缺省設置為:

            .a 顯示 SQLCA 的數據,缺省為 OFF。

            .c 是否自動落實 SQL 命令,缺省為 ON。

            .e {c|s} 顯示 SQLCODE 或 SQLSTATE,缺省為 OFF。

            .f 文件名 將命令的輸入從標準輸入指定到某一文件,缺省為 OFF。

            注:命令“db2 < 文件名”與“db2 -f 文件名”作用相同。

            .l 文件名 將命令記錄到歷史文件中,缺省為 OFF。

            .n 除去換行字符,缺省為 OFF。

            .o 將輸出數據及信息送到標準輸出,缺省為 ON。

            .p 在交互方式下顯示命令行處理器的提示信息,缺省為 ON。

            .r 將輸出保存到指定文件中,缺省為 OFF。

            .s 執行批處理文件中或交互方式下的命令出錯時即停止執行操作,缺省為 OFF。

            .t 設置語句終止字符,缺省為 OFF。

            .v 回送當前命令到標準輸出,缺省為 OFF。

            .w 顯示 FETCH 或 SELECT 警告信息,缺省為 ON。

            .x 不打印列標題,缺省為 OFF。

            .z 文件名 將所有輸出保存到輸出文件,缺省為 OFF。

            以上選項不要求順序并可以進行組合使用。若要修改其缺省設置,將選項設為打開,只需在選項前加“+”;而將選項關閉則加“-”。

            通過設置環境變量 DB2OPTIONS,也可對這些選項進行設置。如在 Intel 系統下使用:set DB2OPTIONS='+c -a';在 UNIX 系統下使用:export DB2OPTIONS='+c -a'。但命令行處理器選項設置的優先級高于 DB2OPTIONS 的設置。

            另外使用 db2 update command options 命令,同樣可以實現通過交互式輸入模式或命令文件改變選項設置的功能。如:db2 update command options using c off。

            2、DB2備份歷史文件損壞

            環境 產品:DB2

            平臺:跨平臺

            版本:DB2 5.2;DB2 6.1

            問題 DB2備份歷史文件損壞

            解答 如果在作數據庫備份操作時遇到DB2備份歷史文件db2rhist.asc損壞, 錯誤代碼SQL2048的錯誤,可按照如下步驟操作: 1. 先在NODE000x/SQL000x目錄下找到該文件,及其備份文件db2rhist.bak,將db2rhist.asc文件移動到其他目錄中。

            2. 重新運行備份命令。此命令仍會報同樣的錯誤,但同時DB2系統會自動用db2rhist.bak重新生成db2rhist.asc文件。

            3. 再次運行備份命令,它將能夠正確運行。

            如果按照上面的步驟操作后,仍出同樣的錯誤,則再按如下操作: 1. 先在NODE000x/SQL000x目錄下找到該文件,及其備份文件db2rhist.bak,將這兩個文件移動到其他目錄中。

            2. 重新運行備份命令。此命令仍會報同樣的錯誤,但同時DB2系統會自動重新生成這兩個文件。

            3. 再次運行備份命令,它將能夠正確運行。

            3、DB2從7.2版本開始支持存儲過程的發布,即可以將一個數據庫上已編譯好的存儲過程抽取并安裝到其它數據庫上,目標數據庫所在的服務器上不再需要c編譯器。

            解答 發布存儲過程請按以下步驟:

            1. 如果數據庫是從7.1版本打補丁后升為7.2版本,請用

            db2updv7 -d 數據庫名

            使DB2可以抽取或安裝已編譯好的存儲過程;

            2. 在源數據庫,編譯好存儲過程;

            3. 在源數據庫,運行

            db2 "get routine into 文件名 from procedure 存儲過程名"

            抽取存儲過程;

            4. 上傳文件至目標服務器;

            5. 在目標服務器端,運行

            db2 "put routine from 文件名"

            安裝已編譯好的存儲過程。

            4、DB2數據庫中一個表的行長度、列數以及每頁行數在表空間中的限制

            環境 [產品] DB2 UDB

            [平臺] Windows 9x/NT/2000, Unix, Linux

            [版本] 6.x/7.x

            問題 DB2數據庫中一個表的行長度、列數以及每頁行數在表空間中的限制

            解答 在DB2數據庫中一個表的每行長度、列數以及每頁行數在表空間中的限制如下:

            表空間頁面大小 表空間中行長度限制(bytes) 表空間中列數限制 表空間中每頁最大行數

            4K 4005 500 255

            8K 8101 1012 255

            16K 16293 1012 255

            32K 32677 1012 255

            注:表空間頁面大小只有4K,8K,16K,32K四種。

            5、當編譯一個復雜的SQL語句時,出現SQL0101N錯誤,怎么辦?

            環境 DB2 V5.2; DB2 V6.1; DB2 V7.1

            問題 某些SQL語句可能非常復雜,比如嵌套調用多個表或觸發許多觸發器,在對這樣

            的SQL語句進行編譯時,出現SQL0101N錯誤,如何處理

            解答 對于一個復雜的SQL語句,在調用多個表或觸發多個觸發器時, 可能會占用

            大量的系統資源.

            當出現SQL0101N錯誤時, 首先需要確認系統中沒有遞歸的觸發器存在.

            之后可通過增加如下參數的值來解決此問題:

            1)STMTHEAP

            2)APPLHEAPSZ

            3)PCKCACHESZ

            6、如何實施已刪除表的恢復(Dropped Table Recovery)

            解答 如何實施已刪除表的恢復(Dropped Table Recovery)

            解答:

            1. 首先數據庫要可以前滾恢復(數據庫配置參數logretain或userexit打開)。

            2. 對要實施Drop Table Recovery的表空間(限regular tablespace),執行:

            alter tablespace 表空間名 dropped table recovery on

            3. 用 list history dropped table all for 數據庫名 得到刪除表的tableid(例如 0000000000006d0000020003)和表結構的生成語句(DDL),記錄tableid和該語句以便恢復。之后,用drop命令刪除的表中的數據可以在前滾恢復時導出。

            4. 恢復數據庫后,如果想恢復已刪除的表,在前滾時加recover dropped table tableid to 目標目錄 。 在該目錄下被刪除的表中的數據導出,例如導出至 ../NODE0000/data文件。利用上面提到表結構生成語句生成被刪除了的表,然后用import命令將數據導入表中。

            7、如何更改本地系統名稱

            環境 [產品] DB2 UDB

            [平臺] Windows 9x/NT/2000, Unix, Linux

            [版本] 5.x/6.x/7.x

            問題 在控制中心(Control Center)中,可以看到編目在節點下的系統名稱。可啟動控制中心的節點作為本地系統,名稱是不能在這里改變的。那么如何改變本地系統的名稱呢?

            解答 首先,從控制中心(Control Center)中知道本地系統所在的原節點名。

            然后退出控制中心,在命令行處理器中輸入以下命令:

            1. db2set db2system=新系統名

            2. db2 terminate

            3. db2 uncatalog node 原節點名

            4. db2 terminate

            重起控制中心,可以看到,本地系統名已更改。

            8、如何將表空間的狀態置為正常

            環境 [產品] DB2 UDB

            [平臺] Windows 9x/NT/2000, Unix, Linux

            [版本] 5.x/6.x/7.x

            問題 quiesce是一種持續狀態的鎖,它屬于一個連接,當該連接失敗時,quiesce狀態依然存在。如何將表空間的狀態置為正常狀態?

            解答 除去quiesce狀態:

            1. 連接到數據庫

            2. 用 list tablespaces 判斷哪個tablespace處于quiesce狀態和和取得對象(object)ID

            3. 判斷對象ID對應的表

            a)用 db2 "select tabname from syscat.tables where tablid=對象ID" 得到表名

            b)用 db2 list history 判斷是那個表

            4. 用 db2 quiesce tablespaces for table 表名 reset 去除quiesce狀態

            9、如何實施聯機備份

            環境 [產品] DB2 UDB

            [平臺] Windows 9x/NT/2000, Unix, Linux

            [版本] 5.x/6.x/7.x

            問題 如何實施聯機備份?

            解答 數據庫建立時日志方式默認是循環日志模式(Circular Log),這時是無法做聯機備份的。所以,希望實施聯機備份,首先要將日志方式改為歸檔日志模式(Archival Log)。

            以sample數據庫為例,可以在控制中心中改變sample數據庫的配置參數LOGRETAIN為Recovery,或在命令行下用 db2 update db cfg for sample using LOGRETAIN on。改變此參數后,再次連接數據庫會顯示數據庫處于備份暫掛(BACKUP PENDING)狀態。這時,需要做一次對數據庫的脫機備份。在控制中心中選擇對數據庫進行脫機備份或在命令行下用 db2 backup db sample 實施。此后數據庫就可以進行聯機備份了。

            可以選擇在控制中心中對數據庫進行聯機備份,或在命令行下用 db2 backup db sample online 實施。

            注意: 利用聯機備份得到的IMAGE文件進行恢復時,還需要相關的日志文件。

            10、如何在AIX上建立使用裸設備的數據庫管理(DMS)表空間

            環境 [產品] DB2 UDB

            [平臺] AIX

            [版本] 5.x/6.x/7.x

            問題 如何在AIX上建立使用裸設備的數據庫管理(DMS)表空間?

            解答 1. 用mklv命令建裸設備,語法為:

            mklv -t jfs -y 設備名 -U 用戶名 -G 組名 vg名 lv大小 硬盤

            例如: mklv -t jfs -y contest -U db2inst1 -G db2iadm1 rootvg 10 hdisk0

            2. 然后創建表空間

            1). 連接數據庫

            2). 創建表空間:注意在命令中要在加引號:

            db2 "create tablespace 表空間名 managed by database using (device 裸設備名及路徑 大小)"

            例如: db2 "create tablespace tptest managed by database using (device '/dev/rcontest' 80M)"

            db2 "create tablespace tptest managed by database using (device '/dev/rc

            1、如何在Unix平臺上啟動DB2控制中心(Control Center)

            環境 [產品] DB2 UDB

            [平臺] Unix

            [版本] 6.x/7.x

            問題 如何在Unix平臺上啟動DB2控制中心(Control Center)

            解答 再Unix平臺上啟動DB2控制中心需要一下幾個步驟,以AIX操作系統為例:

            1. 安裝DB2時選擇安裝DB2控制中心(Control Center);

            2. 以root賬號登錄,輸入xhost +命令(每次重新啟動Unix后需輸入該條命令以啟動控制中心);

            3. 以DB2實例管理員賬號登錄,輸入以下命令

            a. db2jstrt

            b. db2cc

            這樣,就啟動了DB2控制中心(Control Center)。

            #xhost +

            #su - db2inst1

            $db2jstrt

            $db2cc

            db2cc使用的是jdk118

            export JAVA_HOME=/usr/jdk118

            export PATH=/usr/jdk118/binPATH

            2、如何在查詢語句中只顯示結果的前n條記錄

            環境 [產品] DB2 UDB

            [平臺] Windows 9x/NT/2000, Unix, Linux

            [版本] 5.x/6.x/7.x

            問題 在查詢語句中,不想顯示所有記錄,只顯示結果的前n條記錄

            解答 在查詢語句中,不想顯示所有記錄,只顯示結果的前n條記錄,可以用 fetch first n rows only 跟在查詢語句后面實現。

            以sample數據庫中的staff表為例,用如下命令可以得到查詢結果的前5條建立:

            db2 "select * from staff fetch first 5 rows only"

            3、如何在命令行下查看修改實例和數據庫配置參數

            環境 [產品] DB2 UDB

            [平臺] Windows 9x/NT/2000, Unix, Linux

            [版本] 5.x/6.x/7.x

            問題 如何在命令行下查看修改實例和數據庫配置參數

            解答 在命令行下查看實例的配置參數,可用 db2 get dbm cfg 命令實現。

            類似地用 db2 get db cfg for 數據庫名 可以得到數據庫的配置參數。

            以下是數據庫參數的一部分:

            Log file size (4KB) (LOGFILSIZ) = 250

            Number of primary log files (LOGPRIMARY) = 3

            Number of secondary log files (LOGSECOND) = 2

            修改實例配置參數,用 db2 update dbm cfg using 參數名 新值

            類似,用 db2 update db cfg for 數據庫名 using 參數名 新值 修改數據庫配置參數。

            例如,要修改sample數據庫配置參數中的LOGPRIMARY為10,可用以下命令實現:

            db2 update db cfg for sample using logprimary 10

            4、如何在命令行下執行DB2腳本(script)

            環境 [產品] DB2 UDB

            [平臺] Windows 9x/NT/2000, Unix, Linux

            [版本] 5.x/6.x/7.x

            問題 如何在命令行下執行DB2腳本(script)

            解答 在命令窗口中運行DB2腳本,可用 db2 -svtf 腳本文件名 來實現。

            例如,腳本文件名為sample.sql,運行:db2 -svtf sample.sql

            參數中:

            s 代表遇到錯誤時中止運行腳本

            v 代表輸出結果到屏幕

            t 指以;號作為每行的分隔符

            f 指后面需跟腳本文件名

            如果希望即使遇到錯誤也不要中止運行可以去掉參數s。

            5、文件標題: 如何解決資料庫別名已存在問題?

            修訂日期: 2001/10/15

            文件來源: TSC Team

            英文標題: How to eliminate the existed database alias name?

            產品名稱: DB2 UDB

            作業平臺: 跨平臺

            適用範圍: system administrator

            --------------------------------------------------------------------------------

            問題:

            如何解決資料庫別名已存在問題?

            解答:

            在建立資料庫時遇到資料庫別名已存在的問題時,可以:

            1)首先用 db2 list database directory 命令查看系統資料庫目錄(System Database Directory)中有沒有該資料庫。

            如果有,應該再確定該資料庫是沒有用的資料庫之後用 db2 drop database 資料庫名將其刪除。

            2)如果沒有,再用 db2 list database directory on location 看在本端資料庫目錄(Local Database Directory)中有沒有該資料庫,location指定資料庫的位置(如Windows下的C: ,Unix下的/home/db2inst1)。

            如果有,先用 db2 catalog database 資料庫名 on location 將資料庫catalog到節點上,再對其進行刪除處理。

            6、文件標題: 如何直接備份DB2資料庫到磁帶設備?

            修訂日期: 2001/06/06

            文件來源:

            英文標題: How to backup DB2 database to a tape library?

            產品名稱: Database and Data Management

            作業平臺: 跨平臺

            適用範圍:system administrator

            --------------------------------------------------------------------------------

            問題:

            如何直接備份DB2資料庫到磁帶設備?

            解答:

            在UNIX和Windows NT作業系統,支援本端的磁帶設備。OS/2作業系統不提供本端磁帶

            設備支援。下面以Windows作業系統為例,介紹如何將DB2資料庫直接備份到磁帶設備。

            (1)首先在備份資料庫之前先要初始化磁帶設備,可用INITIALIZE TAPE命令完成此工作

            ,例如initialize tape on \\.\tape0

            (2)備份資料庫到磁帶設備,可用backup database命令。如:backup database sample to \\.\tape0

            (3)在回復資料庫時要先將磁帶倒帶,可用命令rewind tape。如:rewind tape on \\.\tape0。

            (4)回復資料庫sample到一個新資料庫newdb時,可用restore database命令。如:

            restore database sample from \\.\tape0 into newdb

            附註:在備份資料庫到磁帶設備或從磁帶設備回復時,可能需要檢查磁帶機的blocking

            參數與DB2的資料庫管理(DBM)參數Max requester I/O block size是否符合。如

            需更詳細資訊可參考DB2的命令手冊。

            7、文件標題: 怎樣解決DB2資料庫代碼頁不相容的問題

            修訂日期: 2001/03/10

            文件來源: http://www-900.ibm.com/cn/support/viewdoc/FaqDisplay?DocId=1307130000002

            英文標題: How to solve DB2 database codepage imcompatablility problem

            產品名稱: DB2 UDB 7.1/6.1/5.2

            作業平臺: ALL

            適用範圍: system administrator

            --------------------------------------------------------------------------------

            問題:

            怎樣解決DB2資料庫代碼頁(codepage)不相容的問題

            解答:

            當發出命令:db2 connect to db_name 後系統出現

            SQL0332N There is no available conversion for the source code page "819" to the target code page "1386". Reason Code "1". SQLSTATE=57017

            DB2 要求來源代碼與目標代碼頁是相容的, 在以上的例子中,來源代碼頁為819與目標代碼頁1386不相容,導致了資料庫連接失敗, 解決方法如下:

            在發出db2 connect 命令失敗的機器上,在DB2 命令視窗中執行如下命令後重新進行連接:

            ->;

            db2set db2codepage=1386  I instance_name

            db2 terminate

            8、在 AIX 和 Solaris 上如何配置存儲過程構建器(SPB)?

            環境 產品: DB2 通用數據庫

            版本: 7.1

            平臺: AIX, Solaris

            問題 在 AIX 和 Solaris 上如何配置存儲過程構建器(SPB)?

            解答 為了在 AIX 或 Solaris 上配置“存儲過程構建器”,需確保在您的系統上安裝了“Java 開發者工具箱”(JDK)。DB2 在可用于“控制中心”的系統上安裝“Java 運行期環境”(JRE),但是,它將不允許使用“存儲過程構建器”。

            一旦安裝了 JDK,就需要確保 DB2 知道 JDK 的位置,方法是在該實例的數據庫管理程序配置文件中設置 JDK 的路徑。要設置 JDK 的路徑,執行下列步驟:

            1. 以具有 SYSADM 權限的用戶登錄系統。

            2. 通過輸入以下命令來更新數據庫管理程序配置文件:

            db2 update dbm cfg using jdk11_path /usr/jdk_base

            其中 /usr/jdk_base 表示 JDK 安裝路徑。

            3. 一旦更新了實例的數據庫管理程序配置文件,您就必須停止并重新啟動該實例,以使更改生效。要停止并啟動當前實例的數據庫管理程序,輸入下列命令:

            db2stop

            db2start

            9、在DB2 UDB中如何創建用戶定義臨時表?

            解答 可使用 DECLARE GLOBAL TEMPORARY TABLE 語句來定義臨時表。此語句需在應用程序中使用。只有在應用程序與數據庫斷開連接之前,用戶定義臨時表才是持續的。

            此表的說明并不出現在系統目錄中,使其對于其他應用程序而言不是持續的,也不能與其他應用程序共享此表。

            當使用此表的應用程序終止或與數據庫斷開連接時,此表中的數據被刪除, 此表被隱式卸下。

            下面是定義臨時表的一個示例:

            DECLARE GLOBAL TEMPORARY TABLE gbl_temp

                  LIKE empltabl

                  ON COMMIT DELETE ROWS

                  NOT LOGGED

                  IN usr_tbsp

            此語句創建一個名為 gbl_temp 的用戶臨時表。定義此用戶臨時表 所使用的列的名稱和說明與 empltabl 的列的名稱和說明完全相同。隱式定義只包括列名、數據類型、可為空特性和列缺省值屬性。未定義所有其他列屬性,包括唯一約束、外部關鍵字約束、觸發器和索引。執行 COMMIT 操作時, 若未對該表打開 WITH HOLD 游標,則該表中的所有數據都被刪除。不記錄 對用戶臨時表所作的更改。用戶臨時表被放在指定的用戶臨時表空間中。此表空間必須存在,否則此表的聲明將失敗。

            10、在使用IMPORT命令向數據庫出入數據時,如何避免日志空間滿錯誤?

            環境 平臺: 所有平臺

            版本: DB2 V7,DB2 V6,DB2 V5

            問題 在用IMPORT命令向數據庫插入大量數據時,如何避免日志空間滿錯誤

            解答 在執行IMPORT命令時, 如果使用循環日志, 有時會出現日志滿錯誤,

            這時可用COMMITCOUNT參數來解決.

            因為日志空間滿往往是因為所有的日志均處于活動狀態導致的.

            而COMMIT執行后, 會釋放所占據的資源, 其中包括日志 .

            這樣, 被當前事務使用的日志在COMMIT命令執行后, 即變成非活動狀態了.

            1、在由備份恢復一個數據庫時,遇到SQL2542錯誤,怎麼辦?

            環境 版本:(試用)DB2 V5.0,DB2 V6.1,DB2 V7.1

            操作系統:(試用)Windows NT,AIX

            問題 在由備份恢復一個數據庫時,遇到SQL2542錯誤

            解答 如果有幾個數據庫的備份,在做數據庫恢復時,需要提供正確的路徑和時間戳,如果是用DB2命令行來執行恢復操作,在Windows NT操作系統,可參照如下命令:

            RESTORE DATABASE SAMPLE FROM D:\backups TAKEN AT 19991117125141

            此命令中要注意路徑和時間戳。時間戳可以通過list history命令得到。可參照如下命令:

            LIST HISTORY BACKUP ALL FOR SAMPLE

            Op Obj Timestamp+sequence Type Dev Earliest log Current log Backup ID

            B D 19991117125141001 F D S0000000.LOG S0000000.LOG

            Contains 2 tablespace(s):

            00001 SYSCATSPACE

            00002 USERSPACE1

            此命令的輸出列出了備份的時間戳加上一個3位的數字序列:

            時間戳+3位的數字序列=19991117125141001

            所以,可以在restore命令中使用時間戳:19991117125141。

            如果你有多于一個備份,list history命令將顯示所有備份紀錄的信息。

            更多的信息可以參考“IBM DB2 Universal Database 命令手冊:第三章 CLP命令”。

            2、怎么樣檢查數據庫連接有關的錯誤?

            環境 產品: DB2 UDB

            平臺: Windows 9x/NT/2000, Unix, Linux

            版本: 5.x/6.x/7.x

            問題 怎么樣檢查數據庫連接有關的錯誤?

            解答 以TCP/IP連接為例, 若連接失敗,您可以檢查下列項目:

            A) 在服務器上: 1) db2comm 注冊表值包括值 tcpip。

            輸入 db2set DB2COMM 命令, 以檢查 db2comm 注冊表值的設置。有關詳情,請參考管理指南。

            2) 正確地更新了 services 文件。

            3) 在數據庫管理程序配置文件中正確地更新了服務名 (svcename) 參數。

            4) 安全服務已啟動。輸入 net start db2ntsecserver 命令(僅對于 Windows NT 服務器)。

            5) 正確地創建并編目了數據庫。

            6) 數據庫管理程序已停止并再次啟動(在服務器上輸入 db2stop 和 db2start 命令)。

            * 如果在啟動一個協議的連接管理程序時出現問題, 則會出現警告信息,并將錯誤信息記錄在 db2diag.log 文件中。

            B) 在客戶機上: 1) 正確地更新了 services 和 hosts 文件(若使用過的話)。

            2) 使用正確的主機名 (hostname) 或 IP 地址 (ip_address)編目了此節點。

            3) 端口號必須匹配,或服務名必須映射為服務器上所用的端口號。

            4) 在數據庫目錄中指定的節點名 (node_name) 指向節點目錄中的正確項目。

            5) 數據庫已正確編目, 它使用在服務器上創建該數據庫時編目的服務器的數據庫別名(database_alias), 作為客戶機上的數據庫名 (database_name)。

            驗證這些項目后,若連接仍失敗,則參考 DB2 Troubleshooting Guide

            3、怎么樣獲取表結構以及索引的信息?

            環境 產品: DB2 UDB

            平臺: Windows 9x/NT/2000, Unix, Linux

            版本: 5.x/6.x/7.x

            問題 怎么樣獲取表結構以及索引的信息?

            解答 您可以使用"describe" 命令:

            (1) 顯示關于SELECT語句的 SQLDA 信息;

            (2) 顯示表或視圖的列信息;

            (3) 顯示表或視圖的索引信息;

            * 命令語法:

            >;>;-DESCRIBE-------------------------->;

            >;--+-select-statement---------+->;<

            '--+-TABLE--table-name----------+---+----------+-'

            '-INDEXES FOR TABLE--table-name--' '-SHOW DETAIL--'

            例如:

            1) 下面的例子用于描述 SELECT 語句:

            db2 "describe select * from staff"

            SQLDA Information

            sqldaid : SQLDA sqldabc: 896 sqln: 20 sqld: 7

            Column Information

            sqltype sqllen sqlname.data sqlname.length

            --------------- ------ -------------- ---------------

            500 SMALLINT 2 ID 2

            449 VARCHAR 9 NAME 4

            501 SMALLINT 2 DEPT 4

            453 CHARACTER 5 JOB 3

            501 SMALLINT 2 YEARS 5

            485 DECIMAL 7, 2 SALARY 6

            485 DECIMAL 7, 2 COMM 7

            2) 下面的例子用于描述表結構:

            db2 describe table user1.department

            Table: USER1.DEPARTMENT

            Column

            name Type

            schema Type

            name Length Scale Nulls

            --------- ------- ----------- -------- ------ ------

            AREA SYSIBM SMALLINT 2 0 No

            DEPT SYSIBM CHARACTER 3 0 No

            DEPTNAME SYSIBM CHARACTER 20 0 YES

            3) 下面的例子用于描述索引結構:

            db2 describe indexes for table user1.department

            Table: USER1.DEPARTMENT

            Index

            schema Index

            name Unique

            rule Number of

            columns

            ------------ ---------- ------------ ----------------

            USER1 IDX1 U 2

            4、以空文件為數據文件導入(IMPORT)并替換(REPLACE)目標表和刪除(DELETE)表操作的對比(一種可以繞開刪除整個表操作時遇到交易日志已滿的辦法)

            文章編號:1347131000035

            日 期:2001-12-24

            打印格式

            以空文件為數據文件導入(IMPORT)并替換(REPLACE)目標表和刪除(DELETE)

            表操作的對比(一種可以繞開刪除整個表操作時遇到交易日志已滿的辦法)

            環境 [產品] DB2 UDB

            [平臺] 跨平臺

            [版本] 5.x/6.1/7.x

            問題 以空文件為數據文件導入(IMPORT)并替換(REPLACE)目標表和刪除(DELETE)表操作的對比

            解答 當用DELETE TABLE命令刪除整個表中數據時,該操作會逐條刪除表中記錄,并記入活動的交易日志。當表中數據量很大時,如果活動的交易日志不夠大,就會遇到交易日志已滿的錯誤,并回滾日志。即使活動的交易日志足夠大,刪除數據量很大的表的操作也會占用很多時間。用以空文件為數據文件導入(IMPORT)并替換(REPLACE)表的辦法可以解決這個問題。例如

            IMPORT FROM /dev/null OF DEL REPLACE INTO 目標表名

            這樣交易日志只會記錄下該條命令,并立即釋放所占的空間,而不會像刪除命令一樣逐條掃描記錄,這就類似于DROP掉該表再創建一個完全相同只是沒有數據的表一樣。對于屬于DMS表空間的表來說,刪除命令逐條掃描記錄,所占的記錄空間仍標記為該表所用,而不立即釋放空間,需要用REORG命令才可以釋放剩余空間。用 LIST TABLESPACE SHOW DETAIL 可以對比兩條命令執行后表空間中的剩余空間的大小。

            用LOAD命令加REPLACE參數可以達到類似IMPORT命令加REPLACE的效果,但是由于LOAD本身不記日志,所以對于可恢復的數據庫,LOAD完成后建議馬上做一下聯機備份的,相比之下,IMPORT命令加REPLACE操作上比較簡單一些。

            from jourmen

            問題描述:

            db2的界面都顯示不了中文,所有該顯示中文的地方都是顯示方框

            操作系統:

            win2k(別的我沒有試,不知道是不是這樣)

            db2版本:

            db2 8.1 for win

            解決方法:

            控制面板-->;區域選項-->;常規選項卡-->;你的區域設置設成中文(中國)

            ok,問題解決

            問題原因:一般是你把區域設置成非中文(中國),比如我設成了英語(美國),來顯示時間(9:05AM)這樣格式的

            P.S.:win別的平臺和db2的別的版本沒有試,也許一樣:)

            posted on 2006-05-13 16:29 太極虎~宏 閱讀(150) 評論(0)  編輯 收藏 引用
            亚洲av日韩精品久久久久久a| 国内精品九九久久久精品| 日本一区精品久久久久影院| 97精品国产97久久久久久免费| 久久天天躁狠狠躁夜夜2020老熟妇 | 久久精品中文騷妇女内射| 久久99国产精品久久99| 久久久久久毛片免费看| 久久夜色精品国产噜噜噜亚洲AV | 99久久久精品免费观看国产| 99精品久久精品| 欧美久久一级内射wwwwww.| 久久久久免费看成人影片| 久久中文字幕无码专区| 国产成人精品久久免费动漫| AV无码久久久久不卡蜜桃| 久久精品国产只有精品66 | 久久99热这里只有精品国产| 91精品国产91久久| 久久精品aⅴ无码中文字字幕重口| 欧美精品福利视频一区二区三区久久久精品 | 成人妇女免费播放久久久| 亚洲国产成人久久综合野外| 久久久精品午夜免费不卡| 色综合久久无码五十路人妻| 99久久国产精品免费一区二区 | 亚洲av日韩精品久久久久久a| 亚洲精品乱码久久久久久不卡| 国产毛片久久久久久国产毛片| 好久久免费视频高清| 97久久超碰国产精品2021| 久久久亚洲AV波多野结衣| 欧美日韩中文字幕久久久不卡| 久久九色综合九色99伊人| 国产精品成人99久久久久 | 久久综合给合久久狠狠狠97色69| 久久国语露脸国产精品电影| 伊人久久精品无码av一区| 日韩精品无码久久久久久| 国产高潮国产高潮久久久| 99久久婷婷免费国产综合精品|