관리하는 시스템이 많아지고, 체계적으로 시스템이 관리되지 않다 보면 서버에 누가! 무엇을! 설치해 놓았는지 알 수 없게 된다.
컴플라이언스 문제로 서버에 DB2가 설치되었는지 여부를 확인할 필요성이 생길 것이다.
DB2에 대한 어떠한 정보도 모르는 상태에서 DB2가 설치되었는지 확인해 보고, 설치된 경우 인스턴스를 확인해서 DB가 존재하는지 등을 살펴 봐야 할 것이다.
1. DB2가 설치되어 있나?
DB2 제품을 설치하게 되면 (리눅스, 유닉스 기준) OS가 사용하는 파일 시스템인 /var 하위에 db2 라는 디렉토리가 생긴다. 그 안에는 global.reg 라는 파일이 만들어 지는데 install한 경우는 설치한 정보가 기록되고, 인스턴스를 생성하면 인스턴스 정보들 까지 기록이 된다.
위 파일을 vi 로 열어 보면 binary code가 들어가 있어 보기가 불편하다. 그래서 /var/db2 라는 디렉토리가 존재하면 db2가 설치가 되었던 시스템이라 판단하면 되겠다.
좀 더 편히 보기 위해서는 /usr/local/bin 하위에 있는 db2ls 라는 쉘을 실행시켜 시스템 내에 설치된 DB2 버전과 설치 위치, 설치 날짜를 확인할 수 있다.
>> 명령문 #> cd /usr/local/bin #> ./db2ls >> 결과 Install Path Level Fix Pack Special Install Number Install Date Installer UID |
2. DB2 계정은 어떻게 되지?
엔진 설치 경로를 들어가서 instance라는 디렉토리 하위의 db2ilist, daslist 를 실행하면 생성된 인스턴스 이름을 확인할 수 있다.
>> 명령문 #> cd /db2/v9.8/intance #> ./db2ilist >> 결과 db2sdin1 |
3. 사용 중인 DB2는 서버 용인가? 클라이언트 용인가?
한 개의 인스턴스가 존재함을 확인하였다. 해당 인스턴스 계정으로 변경한 후, db2 get dbm cfg 명령어 수행한 결과를 통하여 생성된 인스턴스가 ESE, WSE인지 혹은 클라이언트 용인지 확인할 수 있다.
>> 명령문 $> db2 get dbm cfg | grep -i 'node type' >> 결과 Node type = Enterprise Server Edition with local and remote clients |
ESE나 WSE 등의 서버 제품이면 db2_ps 명령어로 서버 프로세스가 실행 중인지 확인하고, db2 list db directory 결과를 통해 로컬 DB가 있는지 확인한다.
>> 명령문 $> db2_ps >> 결과 Node 0 >> 명령문 $> db2 list db directory >> 결과 System Database Directory |
위 예제는 pureScale 환경으로 2개의 인스턴스가 실행 중이고, 1개의 DB가 존재한다.
업무 환경, 요건에 따라서 DB 목록들을 파악하여 업무용으로 쓰는 것인지? 사용하지 않는 것인지 ? 등등 확인해서 불필요한 DB나 인스턴스는 제거하여 관리를 해야 될 것이다.
'Note' 카테고리의 다른 글
[구성] InfoSphere Federation Server (IFS) 설정 (0) | 2011.08.03 |
---|---|
[운영] DB2의 과도한 Bufferpool 생성의 종말은? (0) | 2011.07.29 |
[관리] 우리가 쓰는 DB2는 Compliance 문제가 없는 것일까? (0) | 2011.07.28 |
[운영] 테이블의 데이터 Truncate 하기 (0) | 2011.07.26 |
[운영] DB2 진단로그를 편하게 보기! (0) | 2011.07.11 |