DB2 10.1.0.5 이하의 버전에서, 쿼리에

  • UNION ALL 이 있고,
  • LEFT JOIN 이 있고
  • LEFT JOIN되는 테이블 컬럼이 비교구문에 사용되는데, NULL 값이 일부 들어있는 경우

결과값이 비정상적으로 표시될 수 있다.


이는 다음 버그에 해당하며

IT08504: INCORRECT RESULT WHEN QUERY HAS LEFT OUTER JOIN AND UNION ALL


DB2 v10.1.0.5로 FixPack Update 하거나

쿼리 수행 전에 다음 문장을 추가하여 쿼리 옵티마이저를 변경하여 우회할 수 있다.

SET CURRENT QUERY OPTIMIZATION = 1;


Posted by in0de
,

DB2 database의 설치일자를 확인할 일이 있었는데,

db2 get db cfg 등에 존재하려나 하는 단순한 생각 같지는 않았다.


DB2 database의 설치일자를 확인하려면 다음 중 하나로 조회할 수 있다.


db2 connect to ${dbname}
db2 "select * from sysibm.sysversions"


db2 list history all for database ${dbname}


db2 "select create_time, tabname from syscat.tables where tabname like 'SYSTABLES'"


Posted by in0de
,

NetBackup 등의 서드파티 툴에 의해서 수행된 백업이라면 해당 GUI에서 종료하는 것이 옳겠다.


수행 중인 DB2 백업을 종료하기 위해서는 다음 쉘 커맨드를 수행하면 된다.


for apphandle in $(db2pd -d $db -applications -alldbpartitionnums | grep 'PerformingBackup' | awk '{print $2}')

do

db2 "force application ($apphandle)"

done

bash, DB2 DPF 10.1 에서 테스트 됨.

Posted by in0de
,