<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    樂(lè)在其中

    以JEE為主攻,以Flex為點(diǎn)綴,以Eclipse RCP為樂(lè)趣
    請(qǐng)?jiān)L問(wèn)http://www.inframesh.org

    首頁(yè) 新隨筆 聯(lián)系 管理
      43 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

    如何重新啟動(dòng)數(shù)據(jù)庫(kù)?
    Restart db db_name
    如何激活數(shù)據(jù)庫(kù)?
    Activate db db_name
    如何停止數(shù)據(jù)庫(kù)?
    Deactivate db db_name
    如何重命名表?
    Rename old_tablename to new_tablename
    如何設(shè)置DB2環(huán)境變量
    Db2set命令,語(yǔ)法如下:
    Db2set variant=value
    如何除去quiesce狀態(tài)
    1. 連接到數(shù)據(jù)庫(kù)
    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)
    如何實(shí)施已刪除表的恢復(fù)(Dropped Table Recovery)
    1. 首先數(shù)據(jù)庫(kù)要可以前滾恢復(fù)(數(shù)據(jù)庫(kù)配置參數(shù)logretain或userexit打開(kāi))。
    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ù)庫(kù)名 得到刪除表的tableid(例如 0000000000006d0000020003)和表結(jié)構(gòu)的生成語(yǔ)句(DDL),記錄tableid和該語(yǔ)句以便恢復(fù)。之后,用drop命令刪除的表中的數(shù)據(jù)可以在前滾恢復(fù)時(shí)導(dǎo)出。
    4. 恢復(fù)數(shù)據(jù)庫(kù)后,如果想恢復(fù)已刪除的表,在前滾時(shí)加recover dropped table tableid to 目標(biāo)目錄 。 在該目錄下被刪除的表中的數(shù)據(jù)導(dǎo)出,例如導(dǎo)出至 ../NODE0000/data文件。利用上面提到表結(jié)構(gòu)生成語(yǔ)句生成被刪除了的表,然后用import命令將數(shù)據(jù)導(dǎo)入表中。
    如何生成所有對(duì)象的DDL
    db2look -d DB_NAME -a -e -m -l -f -o filename.sql
    如何恢復(fù)數(shù)據(jù)庫(kù)
    restore db db1 to /tstdb2/catalog into db newlogpath /tstdb2/db2log buffer 2048
    replace existing redirect parallelism 16;
    set tablespace containers for 1 using (path '/tstdb2/db2tmp');
    set tablespace containers for 2 using
    (device '/dev/rtstcontlv00' 2621440, device '/dev/rtstcontlv01' 2621440,
    device '/dev/rtstcontlv02' 2621440, device '/dev/rtstcontlv03' 2621440 ) ;
    restore db db1 continue;
    恢復(fù)完成后,執(zhí)行db2s命令,如果出錯(cuò),再執(zhí)行如下命令:
    db2 rollforward db db to end of logs and complete
    如何查看數(shù)據(jù)庫(kù)目錄
    1)首先用 db2 list database directory 命令查看系統(tǒng)資料庫(kù)目錄(System Database Directory)中有沒(méi)有該資料庫(kù)。如果有,應(yīng)該再確定該資料庫(kù)是沒(méi)有用的資料庫(kù)之後用 db2 drop database 資料庫(kù)名將其刪除。

    2)如果沒(méi)有,再用 db2 list database directory on location 看在本端資料庫(kù)目錄(Local Database Directory)中有沒(méi)有該資料庫(kù),location指定資料庫(kù)的位置(如Windows下的C: ,Unix下的/home/db2inst1)。
    如何更改本地系統(tǒng)名稱
    1.db2set db2system=新系統(tǒng)名
    2. db2 terminate
    3. db2 uncatalog node 原節(jié)點(diǎn)名
    4. db2 terminate
    如何使用DB2MOVE
    Db2move DB_NAME action <options> -u USERID –p PASSWORD
    Action:export,import,load
    Options如下:
    Option Default Notes
    -tc table-creators all_creators EXPORT.Wildcard
    -tn table-names all_user_tables EXPORT.Wildcard
    -sn schema-names all_schemas EXPORT.Wildcard
    -ts tblspace-names all_tablespace EXPORT.Wildcard
    -tf tables from file
    -io import-option REPLACE_CREATE IMPORT_only.
    -lo load-option INSERT LOAD_only.
    -l lobpaths current_dir separated_by_commas.NO
    -u userid logged_on_userid
    -p password logged_on_password
    -aw allow-warnings false include
    warnings during export.

    例如:
    Db2move ehrdb export –u ehr –p ehr
    Db2move ehrdb import –u her –p ehr
    IMPORT如何避免日志滿出錯(cuò)
    在使用IMPORT命令向數(shù)據(jù)庫(kù)出入數(shù)據(jù)時(shí),如何避免日志空間滿錯(cuò)誤?
    在執(zhí)行IMPORT命令時(shí), 如果使用循環(huán)日志, 有時(shí)會(huì)出現(xiàn)日志滿錯(cuò)誤, 這時(shí)可用COMMITCOUNT參數(shù)來(lái)解決. 因?yàn)槿罩究臻g滿往往是因?yàn)樗械娜罩揪幱诨顒?dòng)狀態(tài)導(dǎo)致的. 而COMMIT執(zhí)行后, 會(huì)釋放所占據(jù)的資源, 其中包括日志 . 這樣, 被當(dāng)前事務(wù)使用的日志在COMMIT命令執(zhí)行后, 即變成非活動(dòng)狀態(tài)了.
    如何處理日值
    -日志處理
    DB2日志是以文件的形式存放在文件系統(tǒng)中,分為兩種模式:循環(huán)日志和歸檔日志。當(dāng)創(chuàng)建新數(shù)據(jù)庫(kù)時(shí),日志的缺省模式是循環(huán)日志。在這種模式下,只能實(shí)現(xiàn)數(shù)據(jù)庫(kù)的脫機(jī)備份和恢復(fù)。如果要實(shí)現(xiàn)聯(lián)機(jī)備份和恢復(fù),必須設(shè)為歸檔日志模式。
    目前在綜合業(yè)務(wù)系統(tǒng)中,設(shè)置的均是歸檔日志模式;其它系統(tǒng)(如事后監(jiān)督、經(jīng)營(yíng)決策、中間業(yè)務(wù)等)一般都設(shè)置為循環(huán)日志模式。至于采用何種模式,可以通過(guò)修改數(shù)據(jù)庫(kù)配置參數(shù)(LOGRETAIN)來(lái)實(shí)現(xiàn): 歸檔日志模式:db2 update db cfg for using logretain on 注:改為on后,查看數(shù)據(jù)庫(kù)配置參數(shù)logretain的值時(shí),實(shí)際顯示的是recovery。改變此參數(shù)后,再次連接數(shù)據(jù)庫(kù)會(huì)顯示數(shù)據(jù)庫(kù)處于備份暫掛(BACKUP PENDING)狀態(tài)。這時(shí),需要做一次對(duì)數(shù)據(jù)庫(kù)的脫機(jī)備份(db2 backup db ),才能使數(shù)據(jù)庫(kù)狀態(tài)變?yōu)檎!?br>循環(huán)日志模式:db2 update db cfg for using logretain off
    -處理步驟
    必須按照以下正確的步驟進(jìn)行操作:
    要求必須使用DB2命令PRUNE進(jìn)行清理,不建議使用rm命令刪除。
    刪除前應(yīng)保證應(yīng)用已停止(即聯(lián)機(jī)已下來(lái))。
    查看當(dāng)前使用的日志文件目錄及第一活動(dòng)日志文件
    用 “db2 get db cfg for ”命令查看日志文件目錄(Path to log files)參數(shù),確定數(shù)據(jù)庫(kù)當(dāng)前使用的日志文件目錄。 例如:Path to log files = /db2log/,說(shuō)明DB2日志存放目錄是/db2log
    用 “db2 get db cfg for ”命令查看第一活動(dòng)日志文件(First active log file)參數(shù),該參數(shù)對(duì)應(yīng)的日志文件之前的日志文件均為歸檔日志文件,如果確認(rèn)沒(méi)有用,可以刪除。例如:First active log file = S0015913.LOG,說(shuō)明當(dāng)前第一活動(dòng)日志文件是S0015913.LOG。
    備份好要?jiǎng)h除的歸檔日志
    刪除歸檔日志 以應(yīng)用用戶(如BTP)登錄,執(zhí)行:

    $ db2 connect to

    $ db2 prune logfile prior to S???????.LOG
    注:S???????.LOG為查看到的第一活動(dòng)日志文件。此命令可以將當(dāng)前第一活動(dòng)日志文件之前的歸檔日志文件全部刪除。
    如何清理db2diag.log文件
    db2diag.log,是用來(lái)記錄DB2數(shù)據(jù)庫(kù)運(yùn)行中的信息的文件。可以通過(guò)此文件,查看記錄的有關(guān)DB2數(shù)據(jù)庫(kù)詳細(xì)的錯(cuò)誤信息。此文件也是不斷增大的,需要定期進(jìn)行清理。
    可以通過(guò)查看實(shí)例的配置參數(shù)DIAGPATH,來(lái)確定db2diag.log文件是放在哪個(gè)目錄下:db2 get dbm cfg 如果Diagnostic data directory path(DIAGPATH) = /home/db2inst1/sqllib/db2dump,則此文件是放在/home/db2inst1/sqllib/db2dump目錄下。當(dāng)文件系統(tǒng)/home的使用率達(dá)到80%-90%左右時(shí),應(yīng)及時(shí)刪除db2diag.log文件。
    請(qǐng)按以下正確步驟操作:確認(rèn)應(yīng)用(如BTP)、DB2已經(jīng)停止。
    將原db2diag.log文件備份到其它文件系統(tǒng)下。
    刪除db2diag.log文件。刪除后,DB2會(huì)自動(dòng)創(chuàng)建一個(gè)新的文件。
    標(biāo)準(zhǔn)函數(shù)
    length: 返回自變量中的字節(jié)數(shù)
    CAST: 變量類型轉(zhuǎn)換或截?cái)嘧址?br>如:CAST(RESUME AS VARCHAR(370))
    Select CAST(colname as integer) from tablename;
    decimal: 變量轉(zhuǎn)換為指定精度的數(shù)值
    如: select decimal(amount,16,2) from tablename;
    WHERE 子句條件
    謂詞 功能
    x = y x 等于 y
    x <> y x 不等于 y
    x < y x 小于 y
    x > y x 大于 y
    x <= y x 小于或等于 y
    x >= y x 大于或等于 y
    IS NULL/IS NOT NULL 測(cè)試空值

    獲取系統(tǒng)日期或系統(tǒng)時(shí)間
    select current time into curtime from (values 1) as tmp;
    select current date into curdate from (values 2) as tmp;
    select year(current date) into curdate from (values 2) as tmp; --獲取系統(tǒng)年份
    select month(current date) into curdate from (values 2) as tmp; --獲取系統(tǒng)月份
    select day(current date) into curdate from (values 2) as tmp; --獲取系統(tǒng)日份
    (CURRENT TIMESTAMP 精度達(dá)到微秒)
    如何預(yù)防空值
    DB2的COALESCE函數(shù)返回()中表達(dá)式列表中第一個(gè)不為空的表達(dá)式,可以帶多個(gè)表達(dá)式, 和oracle的isnull類似。語(yǔ)法格式如下:
    CLEASCE(colname,default_value)
    多表的關(guān)聯(lián)更新方法
    db2的update語(yǔ)法不支持“update table1 set t1.col1=t2.value1 from table1 t1,table2 t2 where …”的寫(xiě)法,但是可以通過(guò)如下方法解決:
    update table1 t1 set t1.col1=(select t2.col1 from table2 t2 where …)
    例:
    update test t1 set (t1.username,t1.instcode) = (select t2.instcode,t2.instname from sysinsttb t2 where t2.instcode=t1.instcode);
    獲取操作(insert、update)的記錄數(shù)
    GET DIAGNOSTICS rcount=ROW_COUNT;
    注:
    get diagnostics rcount =ROW_COUNT; 只對(duì)update,insert,delete起作用. 不對(duì)select into 有效

    如何執(zhí)行RUNSTATS等優(yōu)化命令
    db2 runstats on table <table_name> with distribution and detailed indexes all
    db2 reorgchk update statistics on table all
    查看什么時(shí)候進(jìn)行了runstats
    db2 "select name, stats_time from sysibm.systables"
    完整執(zhí)行如下:
    db2 connect to ocrm1 user db2iocrm using db2iocrm
    db2 runstats on table db2iocrm.eosoperator with distribution and indexes all
    db2 reorg table db2iocrm.eosoperator allow read access
    db2 reorg indexes all for table db2iocrm.eosoperator allow read access
    db2 connect reset
    如何獲取結(jié)果集的前N行數(shù)據(jù)
    Select * from tablename fetch first N rows only

    posted on 2009-04-13 20:34 suprasoft Inc,. 閱讀(506) 評(píng)論(0)  編輯  收藏 所屬分類: AIX/WebSphere/DB2

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
    相關(guān)文章:
     
    ©2005-2008 Suprasoft Inc., All right reserved.
    主站蜘蛛池模板: 亚洲人成网站18禁止久久影院| 久久精品亚洲日本佐佐木明希| 亚洲精品天堂在线观看| 三年片在线观看免费观看大全一| 亚洲男人天堂2020| caoporn成人免费公开| 久久综合亚洲色HEZYO国产| 丁香花在线观看免费观看图片| 亚洲视频在线精品| a在线免费观看视频| 亚洲丁香色婷婷综合欲色啪| 久久成人免费电影| 亚洲女人初试黑人巨高清| 91精品视频免费| 男人的天堂av亚洲一区2区| 免费人成在线观看网站品爱网日本| 黄页视频在线观看免费| 亚洲精品无码MV在线观看| 99re6热视频精品免费观看| 亚洲国产片在线观看| 日本特黄特色aa大片免费| 一级做a爰性色毛片免费| 久久综合九九亚洲一区| 久久久高清免费视频| 国产成人精品久久亚洲高清不卡| 亚洲一区无码精品色| 少妇人妻偷人精品免费视频| 亚洲中文字幕无码一去台湾| 四虎永久在线精品免费观看地址 | a级毛片无码免费真人| 亚洲AV噜噜一区二区三区 | 亚洲激情中文字幕| 国产一精品一AV一免费孕妇| 美女黄频免费网站| 亚洲爱情岛论坛永久| 成全视频在线观看免费高清动漫视频下载 | 亚洲乱码国产乱码精华| 狠狠综合久久综合88亚洲| 91成人免费在线视频| 国产成人无码精品久久久久免费| 亚洲系列中文字幕|