• <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
            值得大家一看:有關(guān)DB2的FAQ

            1、DB2 命令行處理器中命令選項(xiàng)的介紹

            環(huán)境 產(chǎn)品:DB2 UDB

            平臺(tái):跨平臺(tái)

            版本:Version 6.1,Version 7.1

            問題 介紹 DB2 命令行狀態(tài)下有關(guān)命令選項(xiàng)的用途及設(shè)置方法。

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

            命令行處理器選項(xiàng)設(shè)置

            后端進(jìn)程等待時(shí)間(秒) (DB2BQTIME) = 1

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

            請(qǐng)求隊(duì)列等待時(shí)間(秒) (DB2RQTIME) = 5

            輸入隊(duì)列等待時(shí)間(秒) (DB2IQTIME) = 5

            命令選項(xiàng) DB2OPTIONS) =

            選項(xiàng) 說明 當(dāng)前設(shè)置

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

            -a 顯示 SQLCA OFF

            -c 自動(dòng)落實(shí) ON

            -e 顯示 SQLCODE/SQLSTATE OFF

            -f 讀取輸入文件 OFF

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

            -n 除去換行字符 OFF

            -o 顯示輸出 ON

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

            -r 將輸出保存到報(bào)告文件 OFF

            -s 在命令出錯(cuò)時(shí)停止執(zhí)行 OFF

            -t 設(shè)置語句終止字符 OFF

            -v 回送當(dāng)前命令 OFF

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

            -x 不打印列標(biāo)題 OFF

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

            這些選項(xiàng)的具體功能及其缺省設(shè)置為:

            .a 顯示 SQLCA 的數(shù)據(jù),缺省為 OFF。

            .c 是否自動(dòng)落實(shí) SQL 命令,缺省為 ON。

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

            .f 文件名 將命令的輸入從標(biāo)準(zhǔn)輸入指定到某一文件,缺省為 OFF。

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

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

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

            .o 將輸出數(shù)據(jù)及信息送到標(biāo)準(zhǔn)輸出,缺省為 ON。

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

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

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

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

            .v 回送當(dāng)前命令到標(biāo)準(zhǔn)輸出,缺省為 OFF。

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

            .x 不打印列標(biāo)題,缺省為 OFF。

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

            以上選項(xiàng)不要求順序并可以進(jìn)行組合使用。若要修改其缺省設(shè)置,將選項(xiàng)設(shè)為打開,只需在選項(xiàng)前加“+”;而將選項(xiàng)關(guān)閉則加“-”。

            通過設(shè)置環(huán)境變量 DB2OPTIONS,也可對(duì)這些選項(xiàng)進(jìn)行設(shè)置。如在 Intel 系統(tǒng)下使用:set DB2OPTIONS='+c -a';在 UNIX 系統(tǒng)下使用:export DB2OPTIONS='+c -a'。但命令行處理器選項(xiàng)設(shè)置的優(yōu)先級(jí)高于 DB2OPTIONS 的設(shè)置。

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

            2、DB2備份歷史文件損壞

            環(huán)境 產(chǎn)品:DB2

            平臺(tái):跨平臺(tái)

            版本:DB2 5.2;DB2 6.1

            問題 DB2備份歷史文件損壞

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

            2. 重新運(yùn)行備份命令。此命令仍會(huì)報(bào)同樣的錯(cuò)誤,但同時(shí)DB2系統(tǒng)會(huì)自動(dòng)用db2rhist.bak重新生成db2rhist.asc文件。

            3. 再次運(yùn)行備份命令,它將能夠正確運(yùn)行。

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

            2. 重新運(yùn)行備份命令。此命令仍會(huì)報(bào)同樣的錯(cuò)誤,但同時(shí)DB2系統(tǒng)會(huì)自動(dòng)重新生成這兩個(gè)文件。

            3. 再次運(yùn)行備份命令,它將能夠正確運(yùn)行。

            3、DB2從7.2版本開始支持存儲(chǔ)過程的發(fā)布,即可以將一個(gè)數(shù)據(jù)庫上已編譯好的存儲(chǔ)過程抽取并安裝到其它數(shù)據(jù)庫上,目標(biāo)數(shù)據(jù)庫所在的服務(wù)器上不再需要c編譯器。

            解答 發(fā)布存儲(chǔ)過程請(qǐng)按以下步驟:

            1. 如果數(shù)據(jù)庫是從7.1版本打補(bǔ)丁后升為7.2版本,請(qǐng)用

            db2updv7 -d 數(shù)據(jù)庫名

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

            2. 在源數(shù)據(jù)庫,編譯好存儲(chǔ)過程;

            3. 在源數(shù)據(jù)庫,運(yùn)行

            db2 "get routine into 文件名 from procedure 存儲(chǔ)過程名"

            抽取存儲(chǔ)過程;

            4. 上傳文件至目標(biāo)服務(wù)器;

            5. 在目標(biāo)服務(wù)器端,運(yùn)行

            db2 "put routine from 文件名"

            安裝已編譯好的存儲(chǔ)過程。

            4、DB2數(shù)據(jù)庫中一個(gè)表的行長(zhǎng)度、列數(shù)以及每頁行數(shù)在表空間中的限制

            環(huán)境 [產(chǎn)品] DB2 UDB

            [平臺(tái)] Windows 9x/NT/2000, Unix, Linux

            [版本] 6.x/7.x

            問題 DB2數(shù)據(jù)庫中一個(gè)表的行長(zhǎng)度、列數(shù)以及每頁行數(shù)在表空間中的限制

            解答 在DB2數(shù)據(jù)庫中一個(gè)表的每行長(zhǎng)度、列數(shù)以及每頁行數(shù)在表空間中的限制如下:

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

            4K 4005 500 255

            8K 8101 1012 255

            16K 16293 1012 255

            32K 32677 1012 255

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

            5、當(dāng)編譯一個(gè)復(fù)雜的SQL語句時(shí),出現(xiàn)SQL0101N錯(cuò)誤,怎么辦?

            環(huán)境 DB2 V5.2; DB2 V6.1; DB2 V7.1

            問題 某些SQL語句可能非常復(fù)雜,比如嵌套調(diào)用多個(gè)表或觸發(fā)許多觸發(fā)器,在對(duì)這樣

            的SQL語句進(jìn)行編譯時(shí),出現(xiàn)SQL0101N錯(cuò)誤,如何處理

            解答 對(duì)于一個(gè)復(fù)雜的SQL語句,在調(diào)用多個(gè)表或觸發(fā)多個(gè)觸發(fā)器時(shí), 可能會(huì)占用

            大量的系統(tǒng)資源.

            當(dāng)出現(xiàn)SQL0101N錯(cuò)誤時(shí), 首先需要確認(rèn)系統(tǒng)中沒有遞歸的觸發(fā)器存在.

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

            1)STMTHEAP

            2)APPLHEAPSZ

            3)PCKCACHESZ

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

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

            解答:

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

            2. 對(duì)要實(shí)施Drop Table Recovery的表空間(限r(nóng)egular tablespace),執(zhí)行:

            alter tablespace 表空間名 dropped table recovery on

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

            4. 恢復(fù)數(shù)據(jù)庫后,如果想恢復(fù)已刪除的表,在前滾時(shí)加recover dropped table tableid to 目標(biāo)目錄 。 在該目錄下被刪除的表中的數(shù)據(jù)導(dǎo)出,例如導(dǎo)出至 ../NODE0000/data文件。利用上面提到表結(jié)構(gòu)生成語句生成被刪除了的表,然后用import命令將數(shù)據(jù)導(dǎo)入表中。

            7、如何更改本地系統(tǒng)名稱

            環(huán)境 [產(chǎn)品] DB2 UDB

            [平臺(tái)] Windows 9x/NT/2000, Unix, Linux

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

            問題 在控制中心(Control Center)中,可以看到編目在節(jié)點(diǎn)下的系統(tǒng)名稱??蓡?dòng)控制中心的節(jié)點(diǎn)作為本地系統(tǒng),名稱是不能在這里改變的。那么如何改變本地系統(tǒng)的名稱呢?

            解答 首先,從控制中心(Control Center)中知道本地系統(tǒng)所在的原節(jié)點(diǎn)名。

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

            1. db2set db2system=新系統(tǒng)名

            2. db2 terminate

            3. db2 uncatalog node 原節(jié)點(diǎn)名

            4. db2 terminate

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

            8、如何將表空間的狀態(tài)置為正常

            環(huán)境 [產(chǎn)品] DB2 UDB

            [平臺(tái)] Windows 9x/NT/2000, Unix, Linux

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

            問題 quiesce是一種持續(xù)狀態(tài)的鎖,它屬于一個(gè)連接,當(dāng)該連接失敗時(shí),quiesce狀態(tài)依然存在。如何將表空間的狀態(tài)置為正常狀態(tài)?

            解答 除去quiesce狀態(tài):

            1. 連接到數(shù)據(jù)庫

            2. 用 list tablespaces 判斷哪個(gè)tablespace處于quiesce狀態(tài)和和取得對(duì)象(object)ID

            3. 判斷對(duì)象ID對(duì)應(yīng)的表

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

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

            4. 用 db2 quiesce tablespaces for table 表名 reset 去除quiesce狀態(tài)

            9、如何實(shí)施聯(lián)機(jī)備份

            環(huán)境 [產(chǎn)品] DB2 UDB

            [平臺(tái)] Windows 9x/NT/2000, Unix, Linux

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

            問題 如何實(shí)施聯(lián)機(jī)備份?

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

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

            可以選擇在控制中心中對(duì)數(shù)據(jù)庫進(jìn)行聯(lián)機(jī)備份,或在命令行下用 db2 backup db sample online 實(shí)施。

            注意: 利用聯(lián)機(jī)備份得到的IMAGE文件進(jìn)行恢復(fù)時(shí),還需要相關(guān)的日志文件。

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

            環(huán)境 [產(chǎn)品] DB2 UDB

            [平臺(tái)] AIX

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

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

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

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

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

            2. 然后創(chuàng)建表空間

            1). 連接數(shù)據(jù)庫

            2). 創(chuàng)建表空間:注意在命令中要在加引號(hào):

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

            例如: 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平臺(tái)上啟動(dòng)DB2控制中心(Control Center)

            環(huán)境 [產(chǎn)品] DB2 UDB

            [平臺(tái)] Unix

            [版本] 6.x/7.x

            問題 如何在Unix平臺(tái)上啟動(dòng)DB2控制中心(Control Center)

            解答 再Unix平臺(tái)上啟動(dòng)DB2控制中心需要一下幾個(gè)步驟,以AIX操作系統(tǒng)為例:

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

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

            3. 以DB2實(shí)例管理員賬號(hào)登錄,輸入以下命令

            a. db2jstrt

            b. db2cc

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

            #xhost +

            #su - db2inst1

            $db2jstrt

            $db2cc

            db2cc使用的是jdk118

            export JAVA_HOME=/usr/jdk118

            export PATH=/usr/jdk118/binPATH

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

            環(huán)境 [產(chǎn)品] DB2 UDB

            [平臺(tái)] Windows 9x/NT/2000, Unix, Linux

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

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

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

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

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

            3、如何在命令行下查看修改實(shí)例和數(shù)據(jù)庫配置參數(shù)

            環(huán)境 [產(chǎn)品] DB2 UDB

            [平臺(tái)] Windows 9x/NT/2000, Unix, Linux

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

            問題 如何在命令行下查看修改實(shí)例和數(shù)據(jù)庫配置參數(shù)

            解答 在命令行下查看實(shí)例的配置參數(shù),可用 db2 get dbm cfg 命令實(shí)現(xiàn)。

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

            以下是數(shù)據(jù)庫參數(shù)的一部分:

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

            Number of primary log files (LOGPRIMARY) = 3

            Number of secondary log files (LOGSECOND) = 2

            修改實(shí)例配置參數(shù),用 db2 update dbm cfg using 參數(shù)名 新值

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

            例如,要修改sample數(shù)據(jù)庫配置參數(shù)中的LOGPRIMARY為10,可用以下命令實(shí)現(xiàn):

            db2 update db cfg for sample using logprimary 10

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

            環(huán)境 [產(chǎn)品] DB2 UDB

            [平臺(tái)] Windows 9x/NT/2000, Unix, Linux

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

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

            解答 在命令窗口中運(yùn)行DB2腳本,可用 db2 -svtf 腳本文件名 來實(shí)現(xiàn)。

            例如,腳本文件名為sample.sql,運(yùn)行:db2 -svtf sample.sql

            參數(shù)中:

            s 代表遇到錯(cuò)誤時(shí)中止運(yùn)行腳本

            v 代表輸出結(jié)果到屏幕

            t 指以;號(hào)作為每行的分隔符

            f 指后面需跟腳本文件名

            如果希望即使遇到錯(cuò)誤也不要中止運(yùn)行可以去掉參數(shù)s。

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

            修訂日期: 2001/10/15

            文件來源: TSC Team

            英文標(biāo)題: How to eliminate the existed database alias name?

            產(chǎn)品名稱: DB2 UDB

            作業(yè)平臺(tái): 跨平臺(tái)

            適用範(fàn)圍: system administrator

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

            問題:

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

            解答:

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

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

            如果有,應(yīng)該再確定該資料庫是沒有用的資料庫之後用 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到節(jié)點(diǎn)上,再對(duì)其進(jìn)行刪除處理。

            6、文件標(biāo)題: 如何直接備份DB2資料庫到磁帶設(shè)備?

            修訂日期: 2001/06/06

            文件來源:

            英文標(biāo)題: How to backup DB2 database to a tape library?

            產(chǎn)品名稱: Database and Data Management

            作業(yè)平臺(tái): 跨平臺(tái)

            適用範(fàn)圍:system administrator

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

            問題:

            如何直接備份DB2資料庫到磁帶設(shè)備?

            解答:

            在UNIX和Windows NT作業(yè)系統(tǒng),支援本端的磁帶設(shè)備。OS/2作業(yè)系統(tǒng)不提供本端磁帶

            設(shè)備支援。下面以Windows作業(yè)系統(tǒng)為例,介紹如何將DB2資料庫直接備份到磁帶設(shè)備。

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

            ,例如initialize tape on \\.\tape0

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

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

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

            restore database sample from \\.\tape0 into newdb

            附註:在備份資料庫到磁帶設(shè)備或從磁帶設(shè)備回復(fù)時(shí),可能需要檢查磁帶機(jī)的blocking

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

            需更詳細(xì)資訊可參考DB2的命令手冊(cè)。

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

            修訂日期: 2001/03/10

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

            英文標(biāo)題: How to solve DB2 database codepage imcompatablility problem

            產(chǎn)品名稱: DB2 UDB 7.1/6.1/5.2

            作業(yè)平臺(tái): ALL

            適用範(fàn)圍: system administrator

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

            問題:

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

            解答:

            當(dāng)發(fā)出命令:db2 connect to db_name 後系統(tǒng)出現(xiàn)

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

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

            在發(fā)出db2 connect 命令失敗的機(jī)器上,在DB2 命令視窗中執(zhí)行如下命令後重新進(jìn)行連接:

            ->;

            db2set db2codepage=1386  I instance_name

            db2 terminate

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

            環(huán)境 產(chǎn)品: DB2 通用數(shù)據(jù)庫

            版本: 7.1

            平臺(tái): AIX, Solaris

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

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

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

            1. 以具有 SYSADM 權(quán)限的用戶登錄系統(tǒng)。

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

            db2 update dbm cfg using jdk11_path /usr/jdk_base

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

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

            db2stop

            db2start

            9、在DB2 UDB中如何創(chuàng)建用戶定義臨時(shí)表?

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

            此表的說明并不出現(xiàn)在系統(tǒng)目錄中,使其對(duì)于其他應(yīng)用程序而言不是持續(xù)的,也不能與其他應(yīng)用程序共享此表。

            當(dāng)使用此表的應(yīng)用程序終止或與數(shù)據(jù)庫斷開連接時(shí),此表中的數(shù)據(jù)被刪除, 此表被隱式卸下。

            下面是定義臨時(shí)表的一個(gè)示例:

            DECLARE GLOBAL TEMPORARY TABLE gbl_temp

                  LIKE empltabl

                  ON COMMIT DELETE ROWS

                  NOT LOGGED

                  IN usr_tbsp

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

            10、在使用IMPORT命令向數(shù)據(jù)庫出入數(shù)據(jù)時(shí),如何避免日志空間滿錯(cuò)誤?

            環(huán)境 平臺(tái): 所有平臺(tái)

            版本: DB2 V7,DB2 V6,DB2 V5

            問題 在用IMPORT命令向數(shù)據(jù)庫插入大量數(shù)據(jù)時(shí),如何避免日志空間滿錯(cuò)誤

            解答 在執(zhí)行IMPORT命令時(shí), 如果使用循環(huán)日志, 有時(shí)會(huì)出現(xiàn)日志滿錯(cuò)誤,

            這時(shí)可用COMMITCOUNT參數(shù)來解決.

            因?yàn)槿罩究臻g滿往往是因?yàn)樗械娜罩揪幱诨顒?dòng)狀態(tài)導(dǎo)致的.

            而COMMIT執(zhí)行后, 會(huì)釋放所占據(jù)的資源, 其中包括日志 .

            這樣, 被當(dāng)前事務(wù)使用的日志在COMMIT命令執(zhí)行后, 即變成非活動(dòng)狀態(tài)了.

            1、在由備份恢復(fù)一個(gè)數(shù)據(jù)庫時(shí),遇到SQL2542錯(cuò)誤,怎麼辦?

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

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

            問題 在由備份恢復(fù)一個(gè)數(shù)據(jù)庫時(shí),遇到SQL2542錯(cuò)誤

            解答 如果有幾個(gè)數(shù)據(jù)庫的備份,在做數(shù)據(jù)庫恢復(fù)時(shí),需要提供正確的路徑和時(shí)間戳,如果是用DB2命令行來執(zhí)行恢復(fù)操作,在Windows NT操作系統(tǒng),可參照如下命令:

            RESTORE DATABASE SAMPLE FROM D:\backups TAKEN AT 19991117125141

            此命令中要注意路徑和時(shí)間戳。時(shí)間戳可以通過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

            此命令的輸出列出了備份的時(shí)間戳加上一個(gè)3位的數(shù)字序列:

            時(shí)間戳+3位的數(shù)字序列=19991117125141001

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

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

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

            2、怎么樣檢查數(shù)據(jù)庫連接有關(guān)的錯(cuò)誤?

            環(huán)境 產(chǎn)品: DB2 UDB

            平臺(tái): Windows 9x/NT/2000, Unix, Linux

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

            問題 怎么樣檢查數(shù)據(jù)庫連接有關(guān)的錯(cuò)誤?

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

            A) 在服務(wù)器上: 1) db2comm 注冊(cè)表值包括值 tcpip。

            輸入 db2set DB2COMM 命令, 以檢查 db2comm 注冊(cè)表值的設(shè)置。有關(guān)詳情,請(qǐng)參考管理指南。

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

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

            4) 安全服務(wù)已啟動(dòng)。輸入 net start db2ntsecserver 命令(僅對(duì)于 Windows NT 服務(wù)器)。

            5) 正確地創(chuàng)建并編目了數(shù)據(jù)庫。

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

            * 如果在啟動(dòng)一個(gè)協(xié)議的連接管理程序時(shí)出現(xiàn)問題, 則會(huì)出現(xiàn)警告信息,并將錯(cuò)誤信息記錄在 db2diag.log 文件中。

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

            2) 使用正確的主機(jī)名 (hostname) 或 IP 地址 (ip_address)編目了此節(jié)點(diǎn)。

            3) 端口號(hào)必須匹配,或服務(wù)名必須映射為服務(wù)器上所用的端口號(hào)。

            4) 在數(shù)據(jù)庫目錄中指定的節(jié)點(diǎn)名 (node_name) 指向節(jié)點(diǎn)目錄中的正確項(xiàng)目。

            5) 數(shù)據(jù)庫已正確編目, 它使用在服務(wù)器上創(chuàng)建該數(shù)據(jù)庫時(shí)編目的服務(wù)器的數(shù)據(jù)庫別名(database_alias), 作為客戶機(jī)上的數(shù)據(jù)庫名 (database_name)。

            驗(yàn)證這些項(xiàng)目后,若連接仍失敗,則參考 DB2 Troubleshooting Guide

            3、怎么樣獲取表結(jié)構(gòu)以及索引的信息?

            環(huán)境 產(chǎn)品: DB2 UDB

            平臺(tái): Windows 9x/NT/2000, Unix, Linux

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

            問題 怎么樣獲取表結(jié)構(gòu)以及索引的信息?

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

            (1) 顯示關(guān)于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) 下面的例子用于描述表結(jié)構(gòu):

            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) 下面的例子用于描述索引結(jié)構(gòu):

            db2 describe indexes for table user1.department

            Table: USER1.DEPARTMENT

            Index

            schema Index

            name Unique

            rule Number of

            columns

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

            USER1 IDX1 U 2

            4、以空文件為數(shù)據(jù)文件導(dǎo)入(IMPORT)并替換(REPLACE)目標(biāo)表和刪除(DELETE)表操作的對(duì)比(一種可以繞開刪除整個(gè)表操作時(shí)遇到交易日志已滿的辦法)

            文章編號(hào):1347131000035

            日 期:2001-12-24

            打印格式

            以空文件為數(shù)據(jù)文件導(dǎo)入(IMPORT)并替換(REPLACE)目標(biāo)表和刪除(DELETE)

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

            環(huán)境 [產(chǎn)品] DB2 UDB

            [平臺(tái)] 跨平臺(tái)

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

            問題 以空文件為數(shù)據(jù)文件導(dǎo)入(IMPORT)并替換(REPLACE)目標(biāo)表和刪除(DELETE)表操作的對(duì)比

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

            IMPORT FROM /dev/null OF DEL REPLACE INTO 目標(biāo)表名

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

            用LOAD命令加REPLACE參數(shù)可以達(dá)到類似IMPORT命令加REPLACE的效果,但是由于LOAD本身不記日志,所以對(duì)于可恢復(fù)的數(shù)據(jù)庫,LOAD完成后建議馬上做一下聯(lián)機(jī)備份的,相比之下,IMPORT命令加REPLACE操作上比較簡(jiǎn)單一些。

            from jourmen

            問題描述:

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

            操作系統(tǒng):

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

            db2版本:

            db2 8.1 for win

            解決方法:

            控制面板-->;區(qū)域選項(xiàng)-->;常規(guī)選項(xiàng)卡-->;你的區(qū)域設(shè)置設(shè)成中文(中國)

            ok,問題解決

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

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

            posted on 2006-05-13 16:29 太極虎~宏 閱讀(146) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            国产激情久久久久影院老熟女| 久久精品国产福利国产秒| 久久精品人人做人人爽电影| 久久人人爽人人爽人人片AV麻烦| 久久亚洲中文字幕精品有坂深雪| 久久中文字幕一区二区| 久久精品免费全国观看国产| 亚洲综合伊人久久综合| 久久综合九色综合久99| 久久99热这里只频精品6| 久久国产精品久久国产精品| 亚洲欧美久久久久9999| 97r久久精品国产99国产精| 香蕉久久夜色精品国产尤物| 久久国产色AV免费看| 亚洲午夜无码AV毛片久久| 国产精品久久久久无码av| 18禁黄久久久AAA片| 久久久久四虎国产精品| 亚洲av伊人久久综合密臀性色| 国产999精品久久久久久| 久久精品国产亚洲av麻豆色欲| 亚洲欧洲久久av| 精品久久久久久久中文字幕 | 99久久亚洲综合精品成人| 久久精品国产2020| 亚洲精品97久久中文字幕无码| 99久久免费只有精品国产| 亚洲国产精品久久| 国产69精品久久久久777| 久久人妻少妇嫩草AV无码专区| 欧美亚洲国产精品久久高清| 精品久久久久久久久久中文字幕| 久久91精品国产91久久麻豆| 亚洲国产精品无码久久一区二区 | 久久精品中文字幕无码绿巨人| 99久久精品国产高清一区二区| 狠狠色丁香久久婷婷综合| 欧美性大战久久久久久| 久久强奷乱码老熟女网站| 久久精品国产99久久丝袜|