2011年12月30日 星期五

db2cc: line 26: db2javit:命令找不到 解決方式

./opt/ibm/db2/V9.7/bin/db2cc: line 26: db2javit:命令找不到
/opt/ibm/db2/V9.7/bin/db2cc: line 26: db2javit: command not found

在CentOS 6安裝DB2 Express 9.7一直遇到此問題
今天研究一天,看到下面這篇文章
,總算是可以正常執行db2cc,把控制中心叫出來
http://www.linuxso.com/linuxpeixun/11337.html

步驟:
1. 以root執行 xhost +
2. 以root執行 env, 看一下DISPLAY 值是啥, 如 1:1
3. su db2inst1
4. export DISPLAY=
   同root下使用env指令所查到的值
5. xhost +
6. db2cc

解除安裝您的 DB2 資料庫產品(Linux 及 UNIX)

http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=%2Fcom.ibm.db2.luw.qb.server.doc%2Fdoc%2Ft0007439.html

db2 get admin cfg

[root@localhost bin]# pwd
/home/db2inst1/sqllib/bin

[root@localhost bin]# ./db2 get admin cfg

                        管理伺服器配置

 鑑別    類型 DAS                       (AUTHENTICATION) = SERVER_ENCRYPT

 DAS 管理權限群組名稱                     (DASADM_GROUP) = dasadm1

 DAS 探索模式                                 (DISCOVER) = SEARCH
 DB2 伺服器系統名稱                          (DB2SYSTEM) = LOCALHOST

 Java Development Kit 安裝路徑 DAS            (JDK_PATH) = AUTOMATIC (/home/dasusr1/das/java/jdk)
 Java Development Kit 安裝路徑 DAS   (JDK_64_PATH) = AUTOMATIC (/home/dasusr1/das/java/jdk)

 DAS 字碼頁                               (DAS_CODEPAGE) = 0
 DAS 專屬區                              (DAS_TERRITORY) = 0

 聯絡人清單的位置                         (CONTACT_HOST) =
 執行過期作業                            (EXEC_EXP_TASK) = NO
 排程程式模式                             (SCHED_ENABLE) = OFF
 SMTP 伺服器                               (SMTP_SERVER) = localhost.localdomain
 工具目錄資料庫                            (TOOLSCAT_DB) =
 工具目錄資料庫實例                      (TOOLSCAT_INST) =
 工具目錄資料庫綱目                    (TOOLSCAT_SCHEMA) =
 排程程式使用者 ID                                       =

 診斷錯誤擷取層次                            (DIAGLEVEL) = 3

[root@localhost bin]#

新增db2profile

vi /root/.bash_profile

加入以下此行
. /home/db2inst1/sqllib/db2profile

建立用於 DB2 UDB 安裝的群組與使用者 ID (UNIX)

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/start/t0006742.htm

表 11. 必要的使用者和群組
必要的使用者 範例使用者名稱 範例群組名稱
實例擁有者 db2inst1 db2iadm1
隔離使用者 db2fenc1 db2fadm1
DB2 管理伺服器使用者 dasusr1 dasadm1
  • 實例擁有者起始目錄是將建立 DB2 實例之處。
  • 隔離使用者是用來在 DB2 資料庫所使用的位址空間外,執行使用者定義的函數 (UDF) 及儲存程序。
  • DB2 管理伺服器使用者 是用來在您的系統上執行 DB2 管理伺服器。

db2admin路徑

/opt/ibm/db2/V9.7/das/bin/db2admin

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/t0005170.htm
 To start the DAS use the db2admin command:
db2admin start
Stop the DAS using the db2admin command as follows:
db2admin stop

使用身分:dasusr1 (或root)

p.s.開啟控制中心必須先啟動DAS

DB2 root 安裝與非 root 安裝之間的差異

http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=%2Fcom.ibm.db2.luw.qb.server.doc%2Fdoc%2Fr0024443.html

準則 Root 安裝 非 root 安裝
使用者可以選取安裝目錄 否。DB2 產品安裝在使用者的起始目錄下。
容許的 DB2 實例數 多個 一個
安裝期間部署的檔案 僅程式檔案。必須在安裝之後建立實例。 程式檔案及實例檔案。可在安裝之後立即使用DB2 產品。

預設 root 安裝之後 DB2 物件的位置

http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=%2Fcom.ibm.db2.luw.qb.server.doc%2Fdoc%2Fr0024443.html


表 1. 預設 root 安裝之後 DB2 物件的位置
DB2 物件 位置
DAS 起始目錄 home/dasusr1
DAS 資訊 home/dasusr1/das
資料庫配置檔 SQLDBCON home/db2inst1/db2inst1/NODE0000/SQL00001
資料庫目錄
包含下列項目所需的檔案:
  • 緩衝池資訊
  • 歷程資訊
  • 日誌控制檔
  • 儲存體路徑資訊
  • 表格空間資訊
home/db2inst1/db2inst1/NODE0000/SQL00001
資料庫管理程式配置檔 db2systm home/db2inst1/sqllib
DB2 指令 /opt/IBM/db2/V9.5/bin
DB2 錯誤訊息檔案 db2diag.log home/db2inst1/sqllib/db2dump
DB2 安裝路徑 /opt/IBM/db2/V9.5
事件監視器資料的目錄 home/db2inst1/db2inst1/NODE0000/SQL00001/db2event
交易日誌檔的目錄 home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR
安裝日誌檔 db2install.history /opt/IBM/db2/V9.5/install/logs
實例主目錄 home/db2inst1
實例資訊 home/db2inst1/sqllib
實例的本端資料庫目錄 home/db2inst1/db2inst1/NODE0000/sqldbdir
分割的資料庫環境檔案 db2nodes.cfg home/db2inst1/sqllib
系統資料庫目錄 home/db2inst1/sqllib/sqldbdir

Examples of DB2 system commands

http://www.ibm.com/developerworks/data/library/techarticle/0307fierros/0307fierros.html

Examples of DB2 system commands

Command Description
db2audit DB2 provides an audit facility to assist in the detection of unknown or unanticipated access to data. This utility can be used to automate security auditing as described in Scripting scenarios.
db2batch Reads SQL statements from either a flat file or standard input, dynamically prepares and describes the statements, and returns an answer set. This DB2 command can be used within a script designed for benchmarking different instance and database configuration parameters. You will want to restart the instance and capture system information such as DB2 registry, instance, and database configurations before invoking this utility.
db2exfmt Formats the contents of the explain tables. This DB2 command can be used within a script designed for SQL tuning because you can use it to automate the explaining, extraction, and formatting of SQL statement. Scripting this DB2 command allows a large number of SQL statements to be explained, extracted, and formatted for review at a later time.
db2chkbk This utility can be used to test the integrity of a backup image and to determine whether or not the image can be restored. This utility can be very useful at the end of a database backup script to generate a backup completion report.
db2flsn Returns the name of the database transaction log file that contains the log record identified by a specified log sequence number (LSN). This utility can be very useful as part of a database transaction log pruning script when log retain is enabled for recovery and you are running data replication and need to determine where to start pruning transaction logs.

DB2 GUI tool和Command對照

http://www.redbooks.ibm.com/abstracts/tips0142.html?Open


DB2 GUI tool Command
Control Center db2cc
Command Center db2cmdctr
Configuration Assistance db2ca
Health Center db2hc
Task Center db2tc
Development Center db2dc
Command Widow (command line processor) db2cmd
Journal db2journal
Memory Visualizer db2memvis
Information Center db2ic
Replication Center db2rc

2011年12月27日 星期二

IE 7及IE8 Session

IE 7:同一SESSION,後蓋前
IE8以上:不管開幾個視窗或Tab都是同個Session

ref:
http://blog.darkthread.net/post-2009-04-08-ie8-nomerge.aspx

2011年12月21日 星期三

最後還是用了TrueCrypt

工作上難免有些機敏性資料
怕硬體不見,怕硬碟format後仍然可以被找出來
一直在用TrueCrypt
但是有看到一些小八掛
本來想找替代方案
但是PGP DISK在8.0後已經不是免費軟體
Win 7專業版以上可用EFS也很虛
BitLocker要買Win 7企業版@.@
目前看到能跨Win、Linux、Mac的只有TrueCrypt和PGP
再研究看看
等換硬碟再用Disk Wipe
應該就滿安全了



ref:
http://en.wikipedia.org/wiki/Comparison_of_disk_encryption_software
http://www.phy.bnl.gov/computing/index.php/Disk_Encryption

2011年12月17日 星期六

Windows 7 的「備份與還原」

在PxHome買了WAU卡
把家用進階升級成專業版
結果還原回去又變家用進階版~~~@.@
還是弄成VM備份比較方便

Acer電腦還原

Alt+F10

2011年12月4日 星期日

兩款安全插座

R35912:使用保險絲

R31320:機制不詳

http://civil.bsmi.gov.tw/bsmi_pqn/do/pqn5890/form

p.s.UL 94

2011年12月1日 星期四

log4j

http://logging.apache.org/log4j/1.2/manual.html
http://wiki.apache.org/logging-log4j/Log4jXmlFormat

Access Plan Graph

http://www.webcool.cn/html=Display_Info=3712=1.html

http://etutorials.org/Misc/advanced+dba+certification+guide+and+reference/Chapter+6.+The+DB2+Optimizer/Understanding+DB2+Query+Access+Plans/

http://www.devx.com/gethelpon/10minutesolution/16567/1954

cf:
db2 graphic timeron

Explain Facility Tools

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/c0005755.htm

Using DB2 UDB OLAP functions

http://www.ibm.com/developerworks/data/library/techarticle/dm-0401kuznetsov/index.html

Visual Explain operators

http://publib.boulder.ibm.com/infocenter/db2luw/v9r8/index.jsp?topic=%2Fcom.ibm.db2.luw.admin.explain.doc%2Fdoc%2Fr0021335.html

FFDC

First Failure Data Collection

IBM i 中国开发团队 Blog:利用服务监控器(Service Monitor)自动报告软件问题

Automated Problem Reporting With Service Monitor

com.ibm.db2.jcc

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.dc.doc/dc/r_jdbcdrivers.htm

當您新增連線到專案時,您可以指定適當的驅動程式,以連接您想要在其中建置物件的資料庫。 在大多數情況中,IBM DB2 驅動程式非常適合用於連接您的 DB2 資料庫伺服器。不過,建議您在用戶端使用 IBM Universal Type 4 驅動程式,並在伺服器上使用 IBM Universal Type 2 驅動程式。

2011年11月27日 星期日

E5300 & RHEL6 (CentOS 6)

E5300(Core 2系列)有EM64T(Intel採用的x86-64


E5300規格:
http://ark.intel.com/products/35300/Intel-Pentium-Processor-E5300-(2M-Cache-2_60-GHz-800-MHz-FSB)

RHEL硬體限制:
http://www.redhat.com/rhel/compare/#note_4
http://support.bull.com/ols/product/system/linux/redhat/help/kbf/g/inst/PrKB11417

ESX Server不支援Red Hat Hugemem Kernel :
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=8964517

ref(PAE):
kernel-PAE
http://en.wikipedia.org/wiki/Physical_Address_Extension
http://pacoup.com/2009/05/27/pae-vs-64-bit-what-manufacturers-dont-want-you-to-know/comment-page-1/
http://communities.intel.com/message/132864
http://msdn.microsoft.com/en-us/library/aa366796%28VS.85%29.aspx

ref:
http://www.zimbra.com/forums/installation/4885-rhel4-64-bit-rhel4-32-bit.html

2011年11月26日 星期六

Virtualbox的Guest OS使用PPPOE撥號

Virtualbox的Network設定成Bridge Adapter

階段作業逾時值

階段作業逾時值: 欄位應該在 2 至 2147483647 的範圍內。

單位:分鐘
default timeout:30 minutes

ref:
http://www.redbooks.ibm.com/redpapers/pdfs/redp4580.pdf

Reading DB2 Execution Plans

http://etutorials.org/SQL/Sql+tuning/Chapter+3.+Viewing+and+Interpreting+Execution+Plans/3.2+Reading+DB2+Execution+Plans/

http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2.doc.sqlref%2Frexpl.htm

類別載入器檢視器



如果classes和jar有相同套件
由此可知會執行classes的程式
不會執行jar檔的程式
實測也是如此

同理,jar檔有相同套件類別,要看誰先載入
另外有載入war那一層(WEB-INF的上一層)<載入順序為最後>
所以jar和class檔放在war那層也可以運作??
有空無聊時再來測看看

2011年11月23日 星期三

DB21061E

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/core/r0002036.htm

reorgchk

reorgchk update statistics on table all

Calls the RUNSTATS routine to update table and index statistics, and then uses the updated statistics to determine if table or index reorganization is required.



http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.db2.luw.admin.cmd.doc%2Fdoc%2Fr0001971.html



http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?topic=%2Fcom.ibm.itame3.doc_5.1%2Fam51_perftune66.htm

2011年11月22日 星期二

Win7 PPPoE網路閒置不斷線設置

http://alexjean1031.wordpress.com/2010/11/25/win7-%E7%B6%B2%E8%B7%AF%E9%96%92%E7%BD%AE%E6%96%B7%E7%B7%9A%E8%99%95%E7%90%86%E6%96%B9%E6%B3%95/

http://www.pczone.com.tw/vbb3/thread/3/150799/

因為某些理由只能用H牌的
H牌又用pppoe~~~=.=

列出Schema所有表格

select TABNAME from syscat.tables where DEFINER = 'XXXXX' and TYPE = 'T' and TABSCHEMA = 'YYYYYY'


TYPE = 'V'
=>列出所有View

預設public群組有select系統表格權限
如果公司有安控疑慮拿掉public群組select系統表格權限就沒辦法查

db2look

http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=%2Fcom.ibm.db2.udb.admin.doc%2Fdoc%2Fr0002051.htm

ex:

db2look -d 資料庫名稱 -e -c -z 綱目(Schema)名稱 -o 匯出檔名.sql

2011年11月20日 星期日

模擬的遠端桌面系統: XRDP 伺服器

http://linux.vbird.org/linux_server/0310telnetssh.php#ps9
很可惜的是,我們的 CentOS 6.x 預設並沒有提供 XRDP 的伺服器,如果你有興趣的話,可以自行編譯 xrdp 軟體, 但鳥哥有找到 Fedora 基金會提供的 RHEL 額外軟體計畫 (註9),你可以到底下的連結去找到你對應的版本:
http://download.fedora.redhat.com/pub/epel/6/i386/xrdp-0.5.0-0.13.el6.i686.rpm
http://download.fedora.redhat.com/pub/epel/6/x86_64/xrdp-0.5.0-0.13.el6.x86_64.rpm



2012/10/4更新:
以上載點失效
可至Hinet載點
http://mirror01.idc.hinet.net/EPEL/6/i386/xrdp-0.5.0-0.13.el6.i686.rpm
http://mirror01.idc.hinet.net/EPEL/6/x86_64/xrootd-3.0.5-1.el6.x86_64.rpm

jar檔可以用壓縮軟體壓縮

http://download.oracle.com/javase/1.4.2/docs/guide/extensions/spec.html

Each optional package or application consists of at least one JAR file containing an optional manifest, code and assorted resources. As described below, this primary JAR file can also include additional information in its manifest to describe dependencies on other JAR files. The jar command line tool included with the Java 2 SDK provides a convenient means of packaging optional packages, although any ZIP-compatible archiving tool should work as well.

由官方規格即知jar檔只要是ZIP相容即可,基本上我都用7-zip壓
只是jar工具程式壓的可能包含了一些相依資訊
另外放在$/JAVA_HOME/jre/lib/ext的套件也是可以壓成jar或zip檔

WebSphere設定jndi (DB2)

http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0512zhanghzh/

http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Fudat_minreq.html

2011年11月19日 星期六

使用in的欄位要有index

如果使用in的欄位沒有建index
就會TBSCAN

ex.
good.status in ('a','b','c')
gooddetail.status in ('a','b','c')


good.status沒有建index =>TBSCAN
gooddetail.status 有建index =>IXSCAN
good.status也可以調成or or的形式避免執行太久dead lock

2011年10月14日 星期五

log4j進階應用

過濾不同的Level:org.apache.log4j.varia.levelrangefilter

過濾字串(比如過濾哪種Exception才輸出):org.apache.log4j.varia.StringMatchFilter
發送email通知:org.apache.log4j.net.SMTPAppender

ref:
http://wiki.apache.org/logging-log4j/Log4jXmlFormat

(DB2)Max number of existing agents

db2=>GET DATABASE MANAGER CONFIGURATION

Max number of existing agents是設定db2這個instance最大可用的Node Agent數目
如果AP(如:Websphere)的Connection Pool沒有到上限,資料庫卻無法連線
可能是這裡設定太小

查看LOG大檔的好幫手-KFK

http://www.kcsoftwares.com/index.php?kfk
LOG太大不好查看
可以用KFK分割,只查看某時段的LOG
方便好用,分割檔案也滿快的
也可以分割其他種檔案
但是沒用過,我都是拿來分割LOG
有中文介面,也可免安裝

另外一套工具是HJSplit,可見以下網站說明
如何使用 HJSplit 分割、合併大型檔案
https://briian.com/6810/hjsplit.html

2011年8月6日 星期六

Ubuntu下安裝DB2 Express-C

# ./db2setup
ERROR:
   The required library file libaio.so.1 is not found on the system.
   Check the following web site for the up-to-date system requirements
   of IBM DB2 9.7
   http://www.ibm.com/software/data/db2/udb/sysreqs.html
   http://www.software.ibm.com/data/db2/linux/validate
  Aborting the current installation ...
  Run installation with the option "-f sysreq" parameter to force the installation.






需先安裝:
sudo apt-get install libaio-dev

ref:
http://packages.ubuntu.com/zh-tw/natty/libaio-dev
This library enables userspace to use Linux kernel asynchronous I/O system calls, important for the performance of databases and other advanced applications.


p.s.聽說安裝Oracle資料庫前也需安裝

2011年7月14日 星期四

valueOf()、Wrapper Constructor 、 xxxValue()及 parseXxx()的用法及不同

(1)將String(或基本型別Primitive Type)轉成Wrapper Object
     ==>使用Wrapper Constructor

(2)將String轉成Wrapper Object
     ==>使用valueOf()
    p.s. valueOf()提供指定基數表示法

(3)將String轉成基本型別Primitive Type
    ==>使用parseXxx()

(4)將Wrapper Object轉成基本型別Primitive Type
    ==>xxxValue()

p.s.1: xxx的都是轉成Primitive Type
p.s.2:valueOf()、 xxxValue()及 parseXxx()都是外覆類別提供的Method
p.s.3:Boolean物件的valueOf()不會拋出NumberFormatException (NFE)
p.s.4: Boolean a = new Boolean("Test");
          System.out.println(a);
          結果是:false,因為除了傳入True(不分大小寫)外都是false

ref 1:NumberFormatException (NFE)
ref 2:toXxxString() (二進位、十六進位、八進位)

2011年3月13日 星期日

eclipse連jndi

使用Helios Service Release 2 + WTP,tomcat 6
問題點在不透過eclipse(直接用tomcat)連jndi都ok
一透過eclipse連jndi就出錯,錯誤訊息如下:
Cannot create JDBC driver of class '' for connect URL 'null'
因為原本jndi我訂在tomcat的server.xml
但eclipse複製server.xml到eclipse的workspace時,不知道為啥都會把jdbc連線資訊去掉
後來改修改tomcat的context.xml,eclipse複製context.xml到workspace時才不會亂刪
才連線成功
如果不修改tomcat的context.xml,在專案的WebContent/META-INF建立一份
context.xml也可
如果tomcat版本是4.1以上
基本上建議JNDI訂在META-INF/context.xml
包含path及docBase
                                                                              
                                                                              
ref:
http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html
http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
http://wiki.eclipse.org/WTP_Tomcat_FAQ

Shell Script連MySQL

somevar=`echo "select A from B" | mysql -u $USER -p$PWD -D $DB `

db2上得到日期

db2 => select current date from sysibm.sysdummy1

1
----------
2011-03-13

    已選取 1 個記錄。


db2 => SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1

1
--------------------------
2011-03-13-18.00.25.177000


db2 => select date ( days( current date) -1 ) yesterday_date from sysibm.sysdumm
y1

YESTERDAY_DATE
--------------
2011-03-12

    已選取 1 個記錄。




db2 => select year(current date) 年,month(current date) 月,day(current date) 日
from sysibm.sysdummy1

年          月          日
----------- ----------- -----------
       2011           3          13

    已選取 1 個記錄。


db2 => select char( year(current date) ) from sysibm.sysdummy1

1
-----------
2011


db2 => select char( year(current date) ) ,char(month(current date)),char(day(cur
rent date)) from sysibm.sysdummy1

1           2           3
----------- ----------- -----------
2011        3           13

    已選取 1 個記錄。


db2 => select concat( concat(trim(char(year(current date))),trim(char(month(curr
ent date))) ),trim(char(day(current date)))) from sysibm.sysdummy1

1
---------------------------------
2011313

    已選取 1 個記錄。


db2 => select substr(char(year(current date)),1,4)|| case when month(current dat
e) <= 9 then '0'||substr(char(month(current date)),1,1) else substr(char(month(c
urrent date)),1,2) end || case when day(current date) <= 9  then '0'||substr(cha
r(day(current date)),1,1) else substr(char(day(current date)),1,2) end from sysi
bm.sysdummy1

1
--------
20110313

    已選取 1 個記錄。


REF:
http://www.ibm.com/developerworks/data/library/techarticle/0211yip/0211yip3.html
http://www.tek-tips.com/viewthread.cfm?qid=535886&page=85