Windows 10 출시 1주년 업데이트를 통해 bash를 사용할 수 있게 되었다 (!)

다음과 같이 진행하면 Windows 10 bash 쉘을 설치한 후

root 유저의 패스워드를 변경하여 사용할 수 있다.

 

원칙적으로는 root 유저를 사용하기보다는

sudo 를 통해 수행할 커맨드만 root 권한으로 수행하는 게 맞겠지만

root 유저의 패스워드를 모르면 기분이 좋지 않으므로 바꿔두기로 한다.

 

 

 

C:\Users\in0de>bash
-- 베타 기능 --
이렇게 하면 Canonical에서 배포하고 다음에서 사용 가능한
조건에 따라 사용이 허가되는 Ubuntu가 Windows에 설치됩니다.
https://aka.ms/uowterms

계속하려면 "y" 입력: y
Windows 스토어에서 다운로드하는 중... 100%
파일 시스템을 추출하는 중... 몇 분 정도 걸립니다.
기본 UNIX 사용자 계정을 만드세요. 사용자 이름이 Windows 사용자 이름과 일치할 필요는 없습니다.
자세한 내용은 https://aka.ms/wslusers를 참조하세요.


새로운 UNIX 사용자 이름 입력: in0de
새 UNIX 암호 입력: ********
새 UNIX 암호 재입력: ********
passwd: password updated successfully
설치했습니다.
환경이 곧 시작됩니다.
https://aka.ms/wsldocs에서 설명서를 사용할 수 있습니다.

in0de@X:/mnt/c/Users/in0de$
in0de@X:/mnt/c/Users/in0de$ ls -la
합계 6792
drwxrwxrwx 2 root root       0  8월  9 22:26 .
dr-xr-xr-x 2 root root       0  8월  9 18:19 ..
drwxrwxrwx 2 root root       0  8월  9 18:18 AppData
drwxrwxrwx 2 root root       0  8월  9 19:44 Contacts
drwxrwxrwx 2 root root       0  8월  9 20:03 Desktop
drwxrwxrwx 2 root root       0  8월  9 19:44 Documents
drwxrwxrwx 2 root root       0  8월  9 22:57 Downloads
drwxrwxrwx 2 root root       0  8월  9 19:44 Favorites
drwxrwxrwx 2 root root       0  8월  9 19:44 Links
drwxrwxrwx 2 root root       0  8월  9 19:44 Music
                       ......
drwxrwxrwx 2 root root       0  8월  9 20:24 OneDrive
drwxrwxrwx 2 root root       0  8월  9 19:44 Pictures
drwxrwxrwx 2 root root       0  8월  9 19:44 Saved Games
drwxrwxrwx 2 root root       0  8월  9 19:44 Searches
drwxrwxrwx 2 root root       0  8월  9 19:44 Videos
-rwxrwxrwx 1 root root  262144  8월  9 18:18 ntuser.dat.LOG1
-rwxrwxrwx 1 root root  423936  8월  9 18:18 ntuser.dat.LOG2
-rwxrwxrwx 1 root root      20  8월  9 19:43 ntuser.ini

 

in0de@X:/mnt/c/Users/in0de$ cd /
in0de@X:/$ ls -la
합계 145
drwxr-xr-x 2 root root     0  1월  1  1970 .
drwxr-xr-x 2 root root     0  1월  1  1970 ..
drwxr-xr-x 2 root root     0  8월  9 22:58 acct
drwxr-xr-x 2 root root     0  3월 24 05:45 bin
drwxr-xr-x 2 root root     0  3월 24 05:54 boot
drwxrwx--- 2 root root     0  1월  1  1970 cache
drwxrwx--x 2 root root     0  1월  1  1970 data
drwxr-xr-x 2 root root     0  8월  9 22:56 dev
drwxr-xr-x 2 root root     0  8월  9 22:56 etc
drwxr-xr-x 2 root root     0  1월  1  1970 home
-rwxr-x--- 1 root root 38896  1월  1  1970 init
drwxr-xr-x 2 root root     0  3월 24 05:54 lib
drwxr-xr-x 2 root root     0  3월 24 05:42 lib64
drwx------ 2 root root     0  3월 24 05:46 lost+found
drwxr-xr-x 2 root root     0  3월 24 05:41 media
drwxr-xr-x 2 root root     0  1월  1  1970 mnt
drwxr-xr-x 2 root root     0  3월 24 05:41 opt
dr-xr-xr-x 1 root root     0  8월  9 22:56 proc
drwx------ 2 root root     0  1월  1  1970 root
drwxr-xr-x 2 root root     0  8월  9 22:56 run
drwxr-xr-x 2 root root     0  3월 24 05:45 sbin
drwxr-xr-x 2 root root     0  3월 24 05:41 srv
dr-xr-xr-x 1 root root     0  8월  9 22:56 sys
drwxrwxrwt 2 root root     0  8월  9 22:53 tmp
drwxr-xr-x 2 root root     0  3월 24 05:41 usr
drwxr-xr-x 2 root root     0  3월 24 05:45 var

 

 

in0de@X:/$ sudo su
[sudo] password for in0de: ********
root@X:/#
root@X:/# id
uid=0(root) gid=0(root) 그룹들=0(root)

root@X:/# passwd
새 UNIX 암호 입력: ********
새 UNIX 암호 재입력: ********
passwd: password updated successfully
root@X:/#
root@X:/# exit
exit
in0de@X:/$
in0de@X:/$ su -
암호: ********
root@X:~#

 

Posted by in0de
,

데이터가 많은 테이블의 건 수를 조회하려고 할 때

SQL0802N
Arithmetic overflow or other arithmetic exception occurred.
산술 오버플로우 또는 다른 산술 예외가 발생했습니다.


위와 같은 오류가 발생할 수 있다.


이는, MAX_LONGINT_INT 제약 (2,147,483,647) 보다 더 많은 건 수를 담고 있는 테이블에

SELECT COUNT 문을 수행했을 경우 발생하며


이 때는 COUNT_BIG 함수를 사용하면 정상적으로 수행할 수 있다.


select count_big(*) from HUGE_TABLE;


한편, INT 타입의 컬럼을 SUM 하다보면 INT 타입의 크기 제약으로 인해 산술 오버플로우가 발생할 경우도 있는데

이런 경우에는 CAST를 해서 SUM 하면 된다.

 

select SUM(CAST(col1 as BIGINT)) from TABLE;

select SUM(CONVERT(bigint, col1)) from TABLE;

Posted by in0de
,

1. 압축률

  • 현재 DB2 DW의 압축률 = 70% 수준 (table 단위의 block compression)
  • 현재 운영 Oracle의 압축률 = 55% 수준 (row 단위 compression)
  • DB2 BLU (columnar)의 압축률 = 95% (hybrid compression)
  • DB2 Netezza (columnar)의 압축률 = 75%
  • 오라클 HCC (columnar)의 압축률 = 85% ~ 92.5% (외부 압축 알고리즘 도입)


    ■ 압축률
    - Query Low : 85%
    - Query High :   
    - Archive Low :
    - Archive High : 92.5%

실질적으로 운영환경에서 사용할 수 있는 압축방식은 제공되는 4 가지 옵션 중
성능의 문제로 인해 Query Low 하나라고 보면 되겠고,

Archive Low/High 압축의 경우는
곧바로 읽을 수 있다는 장점이 있는 마그네틱 테이프를 생각하시면 되겠다.


■ Query Low
    CU (Compression Unit)의 크기 : 32k
    LZO 알고리즘

■ Query High
    CU 크기 : 32~64k
    ZLIB 알고리즘

■ Archive Low
    CU 크기 : 32~256k
    ZLIB 알고리즘


■ Archive High
    BZIP2 알고리즘






2. 성능
압축 시 데이터 크기 자체가 줄어들음으로 인해, 조회 성능은 개선되나,
데이터 ETL 시 불리하다.

■ Insert 성능

query low = 20초
query high = 40초
archive low = 40초
archive high = 240초


■ SQL 쿼리 성능

비압축 = IO bound :171초, CPU bound : 13초
query low = IO bound :91초, CPU bound : 16초
query high = IO bound :73초, CPU bound : 19초
archive low = IO bound :74초, CPU bound : 19초
archive high = IO bound :118초, CPU bound : 33초





3. 기타 기술적인 제약

- 특성 상 데이터의 Sort 상태를 유지하여야 압축률이 높아짐

- 조회한 데이터를 메모리 버퍼에 올리거나, aggregate 또는 sort 동작을 위해 temporary 영역에 넣으려면 압축을 해제해야 함

- Index를 읽어 데이터를 조회할 때, 하나의 CU를 여러 번 압축 해제 해야 하는 문제로 성능이 저하될 수 있음
  ∵ 정렬된 rowid 순서로 select하는 게 아니라, 컬럼 데이터 순서로 정렬된 rowid 포인터로 CU를 읽기 때문

- HCC 압축된 row에 update가 수행되면, 이 데이터는 압축이 풀리면서 기존의 낮은 압축률 공간으로 옮겨지며
  이 과정도 느릴 뿐더러, 향후 조회 시 HCC블럭, OLTP블럭 두 군데를 읽어야 하므로 성능 저하
  업데이트가 있는 테이블에는 HCC를 적용하지 않을 것을 권고

- 하나의 row를 업데이트 하더라도, 그 row가 걸쳐있는 전체 CU를 lock 걸어야 하는데, 이로 인해 빈번한 lock wait 발생 가능, 동시성 저하

- 이를 해결하기 위해서는 Oracle 12c Advanced Compression 옵션을 구매해야 하며, 적용 시 일반적인 RDBMS의 row level locking이 가능해짐

- 그러나, 이 정보를 관리하기 위한 overhead가 발생하여, 약 10% 가량의 데이터 사이즈가 증가함

- partition table의 경우, 압축된 후의 사이즈가 충분히 크지 않으면 direct path read 플랜 (스마트 스캔을 가능하게 하는) 으로 풀리지 않게 되고,
이로인해 결국 스마트 스캔을 하지 않게 되면서, 셀 노드의 CPU로 압축해제 하지 못하고, DB 서버에 CPU 부하를 주게 될 수 있음.
다시 말해, 월별 건수가 애매하게 작으면 DB서버 CPU 부하 상당량 발생 (이 기준점은 알 수 없음)



4. 환경 고려사항


- HCC 압축을 하기 위해서는 모든 insert문을 수정해야 함. INSERT /*+ APPEND */ INTO


- HCC가 적용된 DB의 백업본을 복구하기 위해서도 Exadata가 필요함 (Exadata Storage server 이외의 HW에서는 HCC 사용에 제약이 걸려있어)

- 오라클 ZFS 스토리지 어플라이언스에 복구가 가능하기는 하나, 스토리지를 백업본 크기의 10배를 준비해야 하며,
   ALTER TABLE NOCOMPRESS로 압축을 다 풀기 전에는 조회 불가

Posted by in0de
,

v$session 다이내믹 퍼포먼스 뷰를 조회하다보면,

ORA-29275 : 부분 다중바이트 문자 오류가 발생하는 경우가 있는데
이는 sys.v$session 뷰의 action varchar2(32 또는 64 byte) 컬럼이 문제이다.

 

이 action 컬럼은 DBMS_APPLICATION_INFO.SET_ACTION 프로시저로
애플리케이션이 하는 일을 사용자가 이름 붙여주는 것으로서,
어떤 SQL 로직의 실행 단계를 태그하고자 할 때 사용할 수 있는 컬럼이다.

 

최초 프로그램이 접속하면 다음과 같이 모듈명과 실행 작업을 지정해주고

BEGIN
  DBMS_APPLICATION_INFO.set_module(module_name => '1. 주문',
                                   action_name => '1.1 주문 접수');
  -- 수행할 SQL
END;
/

 

일련의 실행 단계마다, action 에 대해서

BEGIN
  DBMS_APPLICATION_INFO.set_action(action_name => '1.2 재고 조회');
 
  -- 수행할 SQL
END;
/

와 같이 이름지어주어, 모니터링 시 확인할 수 있도록 하는 컬럼이다.

 

어쨌든 이 컬럼으로 인해 Toad 등의 애플리케이션에서
세션 조회가 불가능한 경우에는 action 컬럼에 대해

TO_SINGLE_BYTE('ACTION') 과 같이 함수를 씌워서 직접 조회해볼 수는 있다.

 

SELECT /*+  RULE */ s.inst_id AS node
   , s.username
   , CASE
   WHEN SUBSTR( s.action, 1, 4 ) = 'FRM:' THEN s.module || '(Form)'
   WHEN SUBSTR( s.action, 1, 4 ) = 'Onli' THEN s.module || '(Form)'
   WHEN SUBSTR( s.action, 1, 4 ) = 'Conc' THEN s.module || '(Conc)'
   ELSE s.module
  END AS module
   , SUBSTR( CASE WHEN SIGN( LENGTHB( s.program ) - 16 ) = 1 THEN SUBSTR( s.program, 1, 16 ) || '..' ELSE s.program END, 1, 16 ) AS program
   , s.osuser||'@'||s.machine AS who
   --, s.port
   , last_call_et
   , TO_CHAR( logon_time, 'mm-dd HH24:MI:SS' ) AS logon_time
   , s.sql_id
   , 'kill -9 ' || p.spid AS OSKILLCMD
   , 'alter system kill session ' || '''' || s.sid || ',' || s.serial# || ',@' || s.inst_id || '''' || ';  --'||p.spid||'' AS ORACLEKILLCMD
   , s.terminal AS USER_INFO
   , SUBSTR( LPAD( TRIM( TO_CHAR( ROUND( p.pga_alloc_mem / 1024 / 1024 ), '999,999' ) ) || 'M', 5, ' ' ), 1, 6 ) AS pga
   --, TRIM( ( SELECT SUBSTR( sql_text, 1, 120 ) FROM v$sql sq WHERE sq.sql_id = s.sql_id AND s.sql_hash_value = sq.hash_value AND ROWNUM = 1 ) ) AS sql_text
   , CASE
   WHEN s.blocking_session IS NULL THEN ''
   ELSE SUBSTR( s.blocking_session_status, 1, 3 ) || '(' || s.blocking_instance || ')' || ( s.blocking_session - 1 )
  END AS BLOCKING_SID
   , s.seconds_in_wait
   , SUBSTR( s.event, 1, 32 ) AS wait_event
   , TO_SINGLE_BYTE( s.action ) AS action
   , ( SELECT  sql_text
    FROM   v$sql sq
    WHERE   sq.sql_id = s.sql_id AND s.sql_hash_value = sq.hash_value AND ROWNUM = 1 )
   AS sql_text
FROM gv$session s, gv$process p
WHERE s.paddr = p.addr
AND  s.inst_id = p.inst_id
AND  s.status = 'ACTIVE'
AND  s.event NOT IN ( 'queue messages'
        , 'pipe get'
        , 'jobq slave wait'
        , 'Streams AQ: waiting for messages in the queue'
        , 'class slave wait')
AND  s.username IS NOT NULL
AND  s.audsid <> USERENV( 'SESSIONID' )                     -- which is not my session
--order by s.inst_id,status1 desc,username1 desc , substr(s.action,1,3) desc, module1,last_call_et
ORDER BY s.inst_id, s.status DESC, last_call_et DESC

/

Posted by in0de
,

DPF 환경에서 오류 등으로 인해 특정 노드가 자동으로 재기동되어 올라왔을 때

모니터링 툴이 없다면 어느 노드에서 언제 문제가 발생하였는 지 확인하는 것도 쉽지 않다.

이럴 때 모든 노드의 db2diag.log를 일일이 확인해야 하는데, 그 작업량이 만만치 않다.


이런 경우 다음과 같이 조회하여 어느 노드에서 언제 재기동되었는 지 대략의 시간을 확인할 수 있다.


db2 "SELECT DBPARTITIONNUM, DB_CONN_TIME FROM SYSIBMADM.SNAPDB order by 1"

DBPARTITIONNUM DB_CONN_TIME             
-------------- --------------------------
             0 2015-03-04-14.39.12.711837
             1 2015-03-18-11.38.02.950709
             2 2015-03-18-11.38.02.950741
             3 2015-03-18-11.38.02.950723
             4 2015-03-18-11.38.02.950742
             5 2015-06-12-04.27.20.267942
             6 2015-06-12-04.27.24.363985
             7 2015-06-12-04.27.24.363985
             8 2015-06-12-04.27.24.364009
             9 2015-06-12-04.27.24.364020
            10 2015-06-12-04.27.24.364009
            11 2015-06-12-04.27.24.364009
            12 2015-06-12-04.27.24.364011
            13 2015-03-18-11.38.02.952040
            14 2015-03-18-11.38.02.951850
            15 2015-03-18-11.38.02.951862
            16 2015-03-18-11.38.02.951868
            17 2015-03-18-11.38.02.951868
            18 2015-03-18-11.38.02.951908
            19 2015-03-18-11.38.02.951870
            20 2015-03-18-11.38.02.951976
            21 2015-03-18-11.38.02.950909
            22 2015-03-18-11.38.02.950996
            23 2015-03-18-11.38.02.950994
            24 2015-03-18-11.38.02.951033
            25 2015-03-18-11.38.02.950951
            26 2015-03-18-11.38.02.951059
            27 2015-03-18-11.38.02.950974
            28 2015-03-18-11.38.02.951017


Posted by in0de
,

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
,
Network drive를 mapping하여 사용할 때,
드라이브 자체는 연결된 것처럼 나오지만
드라이브 내용이 아무 것도 없는 것처럼 나오지 않는 경우가 있다.

network drive offline 등의 키워드로 검색해보면 별별 해결책들이 나오는데
  • 기본 게이트웨이를 사용하지 않도록 설정하는 방법
  • UAC를 사용하지 않도록 하면 해결된다는 방법
어느 해결책이 잘 동작하는지는 경우에 따라 다를 지도 모르겠으나
다음의 경우를 먼저 확인해보는 것이 좋겠다.

제어판 > 동기화 센터 > 오프라인 파일 관리 > 오프라인 파일 사용 안함

원래 의도는, 오프라인 파일 기능을 통하여, 네트워크 드라이브에 대해 로컬 복사본 캐시를 두고서,
일정 시간이 지나면 자동으로 연결이 끊어지도록 하는 메카니즘으로 보이는데

정작 네트워크 드라이브를 사용하려고 할 때,
 해당 리소스를 온라인으로 변경할 방법이 없어보이므로
오프라인 파일 사용 기능을 해제한 후 재부팅하면
네트워크 드라이브가 오프라인 되는 일 없이,
정상적으로 네트워크 드라이브를 액세스 할 수 있다.

Posted by in0de
,

DB2 Favorite Links

DB2 LUW 2010. 9. 8. 17:52
db2Dean’s Favorite Links
아주 일목요연한 db2 link 모음
http://www.db2dean.com/Previous/DeanLinks.html

developerWorks: 다운로드
http://www.ibm.com/developerworks/kr/downloads/

IBM FixCentral
다운로드 하기 좋게 리뉴얼 됨
http://www-933.ibm.com/support/fixcentral/

Fix Packs for IBM DB2 and IMS Tools - DB2RE, PE, HPU
http://www-01.ibm.com/support/docview.wss?rs=434&uid=swg27008647

DMMag
이제 온라인으로 발간함
http://www.ibmdmmagazinedigital.com

IDUG
http://www.idug.org/

KDUG
나름 활성화 된 IBM 주도 DB2 커뮤니티
http://www.kdug.kr/

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

SQL and XML limits
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.db2.luw.sql.ref.doc/doc/r0001029.html

IBM Redbooks
필독서들. 읽을 시간은 있을 지?
http://www.redbooks.ibm.com/

IBM DB2 for Linux, Unix, and Windows Forum
http://www.ibm.com/developerworks/forums/forum.jspa?forumID=842&cat=19

Information Management Training : Self-Study Courses
http://www-01.ibm.com/software/data/education/selfstudy.html

DB2 Podcast series on channelDb2
http://www-01.ibm.com/software/sw-library/en_US/detail/R910330G45195P41.html

DB2 LUW DBA HowTo - Useful database administration techniques for Unix (LUW/UDB) DB2
http://www.ebenner.com/db2dba_blog/

developersWork search
사실, 찾아도 잘 안찾아지는 IBM의 검색 페이지.
http://www.ibm.com/developerworks/search/searchResults.jsp?searchType=1&searchSite=dW&searchScope=dW&query=&Search.x=28&Search.y=10&Search=Search

Everything You Wanted to Know About DB2 Universal Database Processes
http://www.ibm.com/developerworks/data/library/techarticle/0304chong/0304chong.html

IBM - DB2 사용자 게시판
한국 IBM이 관리하는. 어떻게 하면 이렇게 망할 수 있는 지?
http://www-903.ibm.com/kr/bbs/board_list.jsp?bbs=6

IBM - DB2 기술 정보
한국 IBM이 관리하는. 어떻게 하면 이렇게 업데이트가 없을 수 있는 지?
http://www-903.ibm.com/kr/techinfo/db2/

Migrating Recursive SQL from Oracle to DB2 UDB
http://www.ibm.com/developerworks/data/library/techarticle/0307steinbach/0307steinbach.html

Bringing the Power of Regular Expression Matching to SQL
http://www.ibm.com/developerworks/data/library/techarticle/0301stolze/0301stolze.html

Essential Facts about Index Covering in DB2 Universal Database
http://www.ibm.com/developerworks/data/library/techarticle/0303kuznetsov/0303kuznetsov.html

Improve DB2 query performance in a business intelligence environment - 튜닝 기술
http://www.ibm.com/developerworks/data/library/techarticle/dm-0703kapoor/

데이터 유형 간 캐스팅
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.db2.luw.sql.ref.doc/doc/r0008478.html

Lock events for DB2 for Linux, UNIX, and Windows, Part 1: Analyzing lockwait situations in DB2 for Linux, UNIX, and Windows
http://www.ibm.com/developerworks/data/library/techarticle/dm-0707fechner/index.html

Influence query optimization with optimization profiles and statistical views in DB2 9
http://www.ibm.com/developerworks/data/library/techarticle/dm-0612chen/

Making DB2 Case-Insensitive
http://www.ibm.com/developerworks/data/library/techarticle/0203adamache/0203adamache.html

dBforums - DB2
활발한 QnA, 문제를 검색하면 답변을 여기서 자주 얻기도 함
http://www.dbforums.com/db2/

DB2 SQL Cookbook Downloads Page
http://mysite.verizon.net/Graeme_Birchall/id1.html

An Expert's Guide to DB2 Technology
활발히 활동하는 블로거
http://it.toolbox.com/blogs/db2luw

Planet DB2
db2 blogger들의 메타 블로그
http://planetdb2.com/

Database Journal - DB2 Featured Database Articles
저널 형식의 짧은 특집, 기술 동향, 특집 컬럼
http://www.databasejournal.com/features/db2/

DBsarang - db2
http://database.sarang.net/?criteria=db2

DB2PORTAL Blog
http://db2portal.blogspot.com/

DB2uter
앞서가는 정보
http://www.ibmsystemsmag.blogs.com/db2utor/

깜장별 블로그
아마 엑셈에 근무하시는 db2 엔지니어이신 듯
http://bstar36.tistory.com/category/DB2

DB2ude
기술적인 내용을 다루는 블로그. 여기서도 해결책을 종종 찾을 수 있음.
http://www.db2ude.com/

추천 도서 리스트: Linux, UNIX, Windows용 DB2 UDB (한글)
쪼끔 오래되었으나 기본적인 내용들이기 때문에 언제 보아도 도움이 됨
http://www.ibm.com/developerworks/kr/library/dm-0509poon2/index.html

한국 데이터베이스 진흥원
이 조직이 정말 DB를 진흥해 주고 있는가?!
http://www.dpc.or.kr/

The Connection String Reference
DB Driver 연결 설정 스트링 참조 총망라
http://www.connectionstrings.com/

IBM Professional Certification Program
IBM 자격 시험 등록 페이지
https://www-903.ibm.com/kr/education/certify/index.html

IBM - IBM 자격증 로드맵
http://www-304.ibm.com/jct03001c/services/learning/ites.wss/kr/ko?pageType=page&c=a0013990

숭실대학교 Database lab
이상호 교수가 이끄는 팀. 2006년부터 DB2를 위주로 함
http://dblab.ssu.ac.kr/overview.html

DeveloperWorks - Best practices for DB2 for Linux, UNIX, and Windows
말이 필요 없는 Best Practices
http://www.ibm.com/developerworks/data/bestpractices/?S_TACT=105AGX11&S_CMP=LP

Bootcamps and Education
가고는 싶지만, 갈 수 없는...
http://www.ibm.com/developerworks/data/bootcamps

Instant SQL Formatter
SQL을 보기 좋게 만들어주는 온라인 툴. 상세한 설정은 없음.
http://www.dpriver.com/pp/sqlformat.htm

EXPORT command & File type modifiers for the export utility.
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.db2.luw.admin.cmd.doc/doc/r0008303.html

DB2 packages: Concepts, examples, and common problems
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0606chun/index.html

DB2 기초: 제약조건 (한글)
http://www.ibm.com/developerworks/kr/library/dm-0401melnyk/index.html

DB2 기초: 재미있는 날짜와 시간
의외로 자주 참조하게 됨
http://www.ibm.com/developerworks/kr/library/dm-0401melnyk/index.html

DB2 API
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.apdv.api.doc/doc/r0001915.html

DB2 9.5로 고가용성 구현하기
http://www.ibm.com/developerworks/kr/library/dm-0807wright/

DB2 UDB performance tuning scenarios: Part 1, DB2 UDB OLTP tuning illustrated with a Java program
http://www.ibm.com/developerworks/data/library/techarticle/dm-0508chong/

How multithreaded architecture works in DB2 9.5
http://www.ibm.com/developerworks/data/library/techarticle/dm-0807kharche/

Quest - Toad for DB2
토드 상용 버전의 홈페이지
http://www.quest.com/db2-on-luw/

토드 기간 한정 베타버전을 여기서 미리미리 구해서 쓸 수 있음
http://toadfordb2.com/index.jspa

DB2Monitor
아주 작은 db2top 대응 윈도우용 모니터링 툴
http://chuzhoi_files.tripod.com/

Posted by in0de
,