DB2 UDB 운용명령어
목 차
Ø UDB Start/Stop 명령어
Ø Tablespace & Table에 대한 정보
Ø Database 백업 & 복구 명령어
Ø 에러 & 명령어 구문에 대한 도움말
Ø Crontab 명령어
Ø UDB모니터링 툴
Ø REORG & RUNSTATS
Ø DB2 Administration Tools
Ø DB2 기타 유틸리티
Ø DBM CFG & DB CFG 환경 변수
UDB Start/Stop 명령어
l UDB Start
IBM UDB를 운용하려면, 다음과 같은 명령들을 이용하여
데이타베이스, Instance 사용자로 로그인 한 다음,
데이타베이스를 시동시켜야 한다.
# su – db2inst1 $ db2start $ db2 activate db depsdb
( 주 : DB2 ACTIVATE DB명령어는 DB global memory를 미리 메모리에 상주시키는 명령어로
처음 connect 시의 시간을 단축시키는 효과가 있음,
단 DB를 stop시킬때 db2 deactivate db 명령어를 이용하여 memory등을
release시켜주어야 함)
l UDB의 사용
데이타베이스가 시동되면, 사용하고자 하는 데이타베이스로 연결을
한다. 만약 데이타베이스가 없으면 "create database " 명령어를
이용하여 데이타베이스를 생성시킨 후 연결한다.
$ db2 create db database명 $ db2 connect to database명 user userid using password
데이타베이스가 연결되면, SQL 문을 사용하여 테이블의 생성,조작을 수행할 수 있다.
ex) select , insert , update , delete
l UDB 종료
테이블에 대한 조작이 끝나면, 다음의 명령어를 이용하여 데이터베이스의 연결을 중단하고, 운용중인 데이타베이스의 시동을 끝낸다.
$ su – db2inst1 $ db2 terminate $ db2 force application all $ db2stop
참고사항
l db2start시 에러발생 메시지가 나타났을 때
“DB2START 처리가 성공적이었습니다.그러나 하나 이상의 통신 지원이 성공적이지 못했습니다."라는 메시지가 나오면....
$ cd /home/db2inst1/sqllib/db2dump $ vi db2diag.log 파일의 마지막 부분에서 원인을 파악한다. ex) TCPIP service port가 등록이 되지 않았다라는 메시지가 나오면 dbm cfg에 service port를 등록시켜주어야 한다. Db2 update dbm cfg using svcename 50000.
Tablespace & Table에 대한 정보
l Tablespace의 정보를 보고자 할 경우
$ db2 connect to depsdb $ db2 list tablespaces | more or $db2 list tablespace show detail | more
l Table의 list를 보고자 할 경우
$ db2 connect to depsdb $ db2 list tables for all | more
l Table의 column 정보를 보고자 할 경우
$ db2 connect to depsdb $ db2 “select tabschema, tabname, colname, typename, length, scale, default, nulls from syscat.columns “ 또는 제어센타 이용
참고사항
l Tablespace 크기가 부족할 경우
$ db2 connect to depsdb $ db2 list tablespaces show detail | more
‘상태’필드가 0x0000으로 나오는지 확인
‘가용 페이지 수’가 충분한지 확인
만약 가용페이지 수가 충분하지 못하면 테이블 스페이스의 크기를 늘려줌
ex) GisaTBS가 부족할 경우
# su – root smit에서 datavg1에 Logical Volume 64M 짜리를 하나 만듬 # cd /dev # chown db2inst1:db2iadm1 gisalv2 $ su – db2inst1 $ db2 connect to depsdb $ db2 “alter tablespace GisaTBS add (device ‘/dev/rgisalv2’ 16000)”
l TableSpace가 Backup Pending 상태에 빠졌을 경우
# su - db2inst1 $ db2 connect to depsdb $ db2 list tablespaces | more
ex) GisaTBS가 백업 보류
$ db2 backup database depsdb tablespace GisaTBS
l TableSpace가 Check Pending 상태에 빠졌을 경우
다음은 테이블의 점검보류 상태를 조회하는 것이다.
SUBSTR은 SYSCAT.TABLES의 CONST_CHECKED 컬럼에 있는 처음
2바이트를 추출하는데 사용된다.
첫번째 바이트는 외부 키 의무 규정을 나타내고,
두번째 바이트는 점검 의무 규정을 나타낸다.
$ db2 “ SELECT TABNAME, SUBSTR( CONST_CHECKED, 1, 1 ) AS FK_CHECKED, SUBSTR( CONST_CHECKED, 2, 1 ) AS CC_CHECKED FROM SYSCAT.TABLES WHERE STATUS = 'C' “
그 다음 T1과 T2 테이블을 점검 보류 상태로 설정합니다.
$ db2 SET CONSTRAINTS FOR T1, T2 OFF
다음과 같이 수행하여 T1에 대한 제한 조건을 점검하고 첫번째 위반만을 얻습니다.
$ db2 SET CONSTRAINTS FOR T1 IMMEDIATE CHECKED
T1 및 T2에 대한 제한 조건을 점검하고, 예외 테이블 E1과 E2로 위반 행을 기입한다.
$ db2 SET CONSTRAINTS FOR T1, T2 IMMEDIATE CHECKED FOR EXCEPTION IN T1 USE E1, IN T2 USE E2
IMMEDIATE CHECKED 옵션으로 T1의 FOREIGN KEY 제한 조건 점검과 T2의 Check
제한 조건 점검이 무시되도록 합니다
$ db2 SET CONSTRAINTS FOR T1 FOREIGN KEY, T2 CHECK IMMEDIATE UNCHECKED
Database 백업 & 복구 명령어
데이타베이스의 안전성을 높이려면 주기적인 backup 과 데이타베이스 손상시 restore 해 주어야 한다.
l Database 백업
# su – db2inst1 $ db2 list applications 사용자가 있으면, $ db2 force applications all $ db2 backup db depsdb to /dev/rmt0
l AIX 에서 backup image 의 형태는 다음과 같다.
Edi. 0. dsna . NODE0000 . CATN0000 . 1996.12.16121212 . 001 --- -- ----- --------------------- ----------------------- | | | | | | | instance | backup image의 순차번호 | | name | backup한 날짜,시간(분,초 포함) | | | | | +-------> UDB EEE가 사용하기 위한 필드 | +---------> 사용된 backup 유형 | 0 : 전체 데이터 베이스의 backup | 3 : tablespace 의 backup | 4 : 테이블 적재의 복사 | +--------> 데이터베이스 별명
l Database 복구
# su –db2inst1 $ db2 restore db depsdb from /dev/rmt0 taken at date_time to target_directory]
(여기서 * date_time은 backup image file에 포함된 timestamp임)
l 데이터베이스가 archive logging일 경우에는 rollforward 명령어를 사용한다.
$ db2 rollforward db database_alias to end of logs ans stop overflow log path Log_Directory
만일 특정 시점까지만 복원하려면, 다음과 같습니다.
$ db2 rollforward db database명 to isotime and stop
에러 & 명령어 구문에 대한 도움말
l 에러 메세지 발생시
만약 데이터베이스 운용시 문제가 생기면, vi에디터를 이용하여
$HOME/sqllib/db2dump 디렉토리내의 db2diag.log 파일을 조사한다.
만약 SQL Error Code가 발생하였으면,
다음과 같이 해당 메시지를 찾아본다.
$ su – db2inst1 $ db2 “ ? Sql0805 ” 에러메세지 원인과 조치를 보고 실행
이 메시지에는 에러의 원인과 해결을 위한 조치가 포함되어 있으므로 이를 통하여 문제점을
해결할 수 있다.
l 명령어 구문 확인
$ su – db2inst1 $ db2 “ ? list ”
참고사항
l 갑자기 느려졌을 경우
ü LOCK 상태 확인
$ su – db2inst1 $ db2 get snapshot for locks on depsdb 유지되는 잠금, 현재 잠금대기중인 에이전트, 응용프로그램명, 응용프로그램 상태, 총대기시간, 모드상태 등을 확인
ü Index 설정 여부
$ su – db2inst1 $ dynexpln –d depsdb “select …..” –o explain.out
l 손상된 데이터베이스의 강제 삭제
만약 데이타베이스의 손상으로 데이타베이스의 삭제가 제대로
되지 않을 경우에는 다음의 디렉토리를 삭제해야 한다.
$HOME/instance_name$ rm -r SQL0000x
(여기서 0000x는 숫자로 데이타베이스가 생성된 순서를 나타낸다.
즉, 손상된 데이타베이스의 물리적 디렉토리임)
Crontab 명령어
l Crontab 명령어
crontab [ -e | -l | -r | -v | File ]
Crontab [ -e / -l / -r / -v / File] -l crontab file을 리스트 - r crontab directory에서crontab file 삭제 -v cron jobs 상태 보기
l crontab의 사용법
root 로 login 한 다음 ,
# crontab -e # COMPONENT_NAME:(CMDCNTL)commands needed for basic system needs # # FUNCTIONS: # (C) COPYRIGHT International Business Machines Corp. 1989,1994 # All Rights Reserved # Licensed Materials - Property of IBM # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 0 11 * * * /usr/bin/errclear -d S,O 30 0 12 * * * /usr/bin/errclear -d H 90 0 0 * * * /tmp/lsh/rmscript 53 17 * * 2,4,6 /home/udbinst/myjob
다음에서 논의할 crontab file entry Format 으로 편집합니다.
끝부분의 실행파일에서는 다음과 같이 편집해야 합니다.
# vi myjob su - db2inst1 “–c db2 backup db dbalias to /db2/” |
ü crontab File Entry Format
crontab file은 각각의cron job을 위해 다음의 Entry를 포함한다.그 형태는 다음과 같다.
minute hour day_of_month month weekday command
각각의 fields 는 다음의 값을 수용합니다.
minute 0 through 59 hour 0 through 23 day_of_month 1 through 31 month 1 through 12 weekday 0 through 6 for Sunday through Saturday command a shell command
ü crontab 의 사용예
. /var/adm/cron/crontabs 디렉토리에 mycronjobs 파일을 상기의 형식으로 만든 다음,
다음의 명령을 수행한다.
# crontab mycronjobs
. mycronjobs 파일을 상기의 형식의 예는 다음과 같다.
① 매시간마다 console에 시간을 출력하는 예 0 * * * * echo The hour is `date` . >/dev/console ② 월,수,금요일 오전6시 30분마다 calendar 명령을 수행 30 6 * * 1, 3, 5 /usr/bin/calendar ③ 매일 6:30마다 calendar 명령을 수행 30 6 * * * /usr/bin/calendar ④ 8월 한밤중마다 maintenance의 script를 수행 0 23 * 8 * /u/harry/bin/maintenance
UDB모니터링 툴
l EVENT MONITOR
$ db2 create event monitor testmon for statements write to file --------- ------------- (event monitor 이름) (database,transactions, tables,...) '/home/rdb/int1hqd1/SQL00001/db2event' maxfiles 24 maxfilesize 1024 nonblocked append “ $ db2 “set event monitor testmon state 1” $ db2 “select evmonname , event_mon_state(evmonname) from syscat.eventmonitors “ $ db2evmon -db sample -evm testmon $ db2evmon -path /home/rdb/int1hqd1/SQL00001/db2event (이전 작업의 대체용)
l SNAPSHOT MONITOR
$ db2 “ get monitor switches” $ db2 “update monitor switches using bufferpool on uow on “ $ db2 “ get snapshot for all on db명 “ | more $ db2 “ get snapshot for locks on db명 “ | more $ db2 “ get snapshot for application agentid # “ |more ( # 은 application handle ID임)
l EXPLAIN TOOL
db2expln 툴은 시스템 카탈로그 테이블에 저장되어 있는
패키지의 정적 SQL에 대한 선택된 액세스 플랜을 기술합니다.
db2expln -d (db 명) -c (user명) -p (package명) -s (section 번호) -o (outfile 이름)
* Interactive SQL에 대해서는
export DYNEXPLN_OPTIONS='blocking all isolation ur queryopt 3’ dynexpln <dbname> "<SQL statement>”
l explain 문
EXPLAIN문은 제공된 설명 가능한 명령문에 선택된 액세스
플랜에 관한 정보를 보관하고, 이 정보를 Explain테이블에 둔다.
설명가능 명령문은 DELETE, INSERT, SELECT, SELECT INTO,
UPDATE, VALUES 또는 VALUES INTO SQL문이다.
이 명령문은 적용 업무 프로그램에 포함되거나
대화식으로 발행될 수 있다.
이 명령문은 동적으로 준비될 수 있는 실행 가능한 명령문이다.
ex1> 간단한 SELECT문을 설명하고
QUERYNO = 13이라는 태그를 표시한다.
EXPLAIN PLAN SET QUERYNO = 13 FOR SELECT C1 FROM T1
ex2> 간단한 SELECT문을 설명하고
QUERYTAG = 'TEST13' 표시를 합니다.
EXPLAIN PLAN SELECTION SET QUERYTAG = 'TEST13' FOR SELECT C1 FROM T1
ex3> 간단한 SELECT문을 설명하고 QUERYNO = 13과
QUERYTAG = 'TEST13'으로 태그를 붙인다.
EXPLAIN PLAN SELECTION SET QUERYNO = 13 SET QUERYTAG = 'TEST13’ FOR SELECT C1 FROM T1
ex4> Explain 테이블이 존재하지 않으면
Explain 정보를 확보한다.
EXPLAIN ALL FOR SELECT C1 FROM T1
l Visual Explain
Visual Explain을 실행하기 위해 다음과 같이 explain 정보를
저장할 테이블을 생성해야 한다.
/$HOME/sqllib/misc> db2 connect to sample /$HOME/sqllib/misc> db2 -tf EXPLAIN.DDL
ü 현재의 explain snapshot을 변경
db2 set current explain snapshot yes
ü bindfile 내의 source 를 보기 위해 다음을 수행합니다.
db2bfd bindfile_name
REORG & RUNSTATS
l reorgchk 수행
db2 -r out_file reorgchk current statistics on table tbl_name 또는 db2 reorgchk update statistics on table system
위의 명령을 수행하면 다음과 같은 결과를 얻을 수 있습니다.
Table statistics: F1: 100*OVERFLOW/CARD < 5 F2: 100*TSIZE / ((FPAGES-1) * 4020) > 70 F3: 100*NPAGES/FPAGES > 80 CREATOR NAME CARD OV NP FP TSIZE F1 F2 F3 REORG ------------------------------------------------------------------------------- SYSIBM SYSCHECKS - - - - - - - - --- SYSIBM SYSDATATYPES 13 0 1 1 1027 0 - 100 --- SYSIBM SYSFUNCTIONS 104 0 8 8 728 0 2 100 -*- SYSIBM SYSINDEXES 57 17 3 5 9063 29 56 60 *** Index statistics: F4: CLUSTERRATIO or normalized CLUSTERFACTOR > 80 F5: 100*(KEYS*(ISIZE+10)+(CARD-KEYS)*4) / (NLEAF*4096) > 50 F6: 90*(4000/(ISIZE+10)**(NLEVELS-2))*4096/ (KEYS*(ISIZE+10)+(CARD- KEYS)*4)<100 CREATOR NAME CARD LEAF LVLS ISIZE KEYS F4 F5 F6 REORG ------------------------------------------------------------------------------- Table: SYSIBM.SYSCHECKS SYSIBM IBM37 - - - - - - - - ---
위의 결과에서 REORG컬럼의 내용이 별표(*) 이면 그 테이블은 reorg가
필요하고 하이폰(-)이면 정상이므로 reorg를 할 필요가 없습니다.
l reorg 명령
db2 reorg table 테이블명 [INDEX 색인명] [USE 테이블공간명] db2 reorg table tbl_name index idx_name use tempspace1 |
reorg명령은 해당 테이블의 데이터를 Physical 하게 재정렬하여
조회의 Performance를 향상시킨다.
l runstats 명령
db2 runstats on table 테이블명 [WITH DISTRIBUTION [AND [DETAILED] {INDEXES ALL | INDEX 색인명}] | {AND | FOR} [DETAILED] {INDEXES ALL | INDEX 색인명}] [SHRLEVEL {CHANGE | REFERENCE}] db2 runstats on table inst.albums with distribution and detailed indexes all
DB2 Administration Tools
l Instance 작업
Instance란 데이터베이스가 운영되는 환경으로, 한 Instance
내에서는 유일한 데이터베이스 별명과 Authentication type를
가져야 한다. 이러한 Instance는 여러 개 생성할 수 있으며
즉, 데이터베이스가 운영되는 환경을 복수로 가질수 있다.
Instance를 달리 표현하면 데이터베이스 관리자(dbm) 라고도
하는 데, 다른 데이터베이스 운영환경을 다루려면,
각 Instance 별로 데이터베이스 매니저를 시동해야 한다.
root 로 login하여 다음의 디렉토리로 이동합니다.
# cd /usr/lpp/db2_05_00/instance
Instance를 생성하기 위해 다음의 명령어를 사용합니다.
# db2icrt -u fenceid dsna(instance 명) |
여기서 fenceid는 UDF(User Defined Function)의 owner로써
instance생성시 필요하다.
Instance 의 삭제하는 명령은 다음과 같다.
# db2idrop (instance 명)
이미 생성된 Instance 의 리스트를 보려면
다음의 명령어를 사용한다.
# db2ilist
l 권한
새로이 사용자를 추가 생성하여 Instance를 시동할 수 있게 하려면,
다음과 같이 그 사용자의 .profile을 변경 및 적용시키고,
dsna 사용자가 속한 cics group의 member이면 된다.
이러한 사용자들은 sysadm권한을 갖는 instance owner들로
데이터베이스 관리자 내의 어떠한 일도 수행할 수 있게 된다.
이보다 낮은 dbadm 권한을 데이터베이스별로 줄 수 있는데,
마찬가지로 새로운 사용자의 .profile을 변경및 적용시키고
grant 명령을 이용하여 권한을 부여한다.
물론 먼저 dbadm 권한을 부여할 데이터베이스에
먼저 연결되어 있어야 한다.
.profile의 변경 및 grant 명령은 다음과 같다.
(여기서 dsna사용자는 cics group의 한 member라고 가정한다.)
# vi .profile . /home/dsna/sqllib/db2profile # . .profile $ db2 connect to edi $ db2 grant dbadm on database to (사용자 id 또는 group id)
다음의 system table을 조회하여 해당 사용자가 어떤 권한을
갖는지를 알 수 있다.
$ db2 connect to eddb user userid using password ; $ db2 “ select * from syscat.dbauth “ $ db2 “ select * from syscat.tabauth “ $ db2 “ select * from syscat.colauth “ $ db2 “ select * from syscat.packageauth “ $ db2 “ select * from syscat.schemaauth “
Ex) Public 권한 가진 사람
$ db2 connect to eddb user userid using password $ db2 “ select * from syscat.dbauth where grantee='PUBLIC'“
PUBLIC는 해당 DB에 대해 connect, create table,
add new packages의 권한을 가지고 있다.
SYSIBM 의 grantor는 인증부여가 데이타베이스 관리자(DBM)에
의해 부여되고, 이 특별한 부여는 데이타베이스 생성 중에 만들
어진다.
NOFENCEAUTH 컬럼의 'N' 값은 PUBLIC가 NOT FENCED UDF
생성을 허용하지 않음을 나타낸다.
NOT FENCED Function은 함수Code와 데이터베이스에이젼트 코드간
의 Firewall의 Protection없이 instance내에서 수행할 수 있다.
Connect Authority를 갖는 어떤 User도 Fenced UDF를 정의할 수
있다. 위의 예에서처럼 Connect To PUBLIC는 Fenced UDF를 허용
하지 않는다.
데이터베이스 사용자가 가지고 있는 권한을 삭제하려면 다음과
같은 명령을 사용한다.
$ db2 revoke connect, bindadd, createtab on database from public
l Data Moving Utility
ü Export
$ db2 export to educ.exp of ixf messages msg select * from org
table의 데이터 내용을 DEL, IXF, WSF 형태로 반출할 수 있다.
반출된 내용은 import 나 load 유틸리티를 사용하여 테이블로
다시 반입할 수 있다.
ü Import
일단 export 명령으로 반출된 파일이나 이미 DEL,ASC,IXF,WSF
형태로 존재하는 파일은 LOAD 명령(WSF유형만 지원 안됨)이나
IMPORT 명령으로DB의 TABLE로 데이타를 이동시킬 수 있다.
$ db2 import from educ.exp of ixf messages msg.imp create into userid.orgg in tablespace_name
method n ( column 명) 옵션을 부여할 수도 있습니다.
그 옵션은 export된 table과 다른 column을 주는 경우의
option 입니다.
ü Load
$ db2 load from educ.exp of ixf messages msg.load remote file educ.긋 replace into userid.orgg for exception userid.exp11
LOAD 는 IMPORT 보다 속도가 빠릅니다.
왜냐하면, INDEX 가 생성되는 방법에 있어서,
IMPORT는 IMPORT 되는 레코드 단위로 한번에 하나의 INDEX를
만들지만, LOAD는 데이타의 LOAD 단계가 모두 끝난 이후에 BUILD
단계에서 한꺼번에 INDEX를 만드는 특징을 갖고 있기 때문이다.
특기할 만한 옵션은 다음과 같은 것들이 있다.
method ( L : 컬럼의 위치 (start,end) N : 컬럼의 이름 P : 컬럼의 순서 ) restart ( B : index creation D : error 인 레코드 제거 N : N 번째 레코드 부터 시작 )
l 테이블스페이스 및 테이블 생성,관리 및 삭제를 위한 명령
ü 테이블스페이스 및 테이블의 생성
$ db2 connect to db_name user userid using password $ db2 create regular tablespace dms04 managed by database using (file '/dms/dms04' 1000) extentsize 2; $ db2 create table test1 (partno integer, subpart integer) in DMS04
ü 테이블스페이스 및 테이블의 상태
$ db2 list tablespaces $ db2 list tablespaces show detail $ db2 list tablespace containers for tblspace_id $ db2 list tablespace containers for tblspace_id show detail $ db2 list tables for all $ db2 "select tbspace , definer , tbspaceid, tbspacetype, datatype from syscat.tablespaces " $ db2 "select tabname , tbspaceid, tbspace, index_tbspace , long_tbspace from syscat.tables where tabname = 'SYSTABLES' " $ du -k
ü 테이블스페이스 및 테이블을 삭제
$ db2 drop tablespace test1space $ db2 drop table userid.test1
l DB Application 관리
DB Application들의 상태를 보거나 강제로 DB Application을
kill하려고 할 때 다음의 명령을 이용한다.
$ db2 list applications show detail $ db2 force application ( agent-id ); -------- 숫자 5자리
DB2 기타 유틸리티
l Db2batch
SQL 조회에 대한 BMT용 유틸러티로써, 다음과 같이 사용합니다.
$ db2batch “SQL 조회문”
l Db2look
DB2 통계 추출 툴로써, 다음과 같이 사용합니다.
$ db2look -d db_name -u user_id -p -o 파일명
l Db2exfmt
Explain 테이블 항목을 형식화한다.
데이타베이스명과 다른 규정화 정보가 제공되면,
이 툴은 정보에 대한 Explain 테이블을 조회하고
그 결과를 형식화한다.(sqllib/misc에 위치)
l Db2tbst
16진의 상태 값을 취하고("list tablespaces" 명령에서 제공됨)
그 상태를 해석한다.
$ db2tbst 0x000c State = Quiesced Exclusive + Load Pending
l Db2gov
적용업무에서 사용중인 데이타베이스가 어떤 것인지 알기 위해
주기적으로 DB2 스냅샷 모니터를 호출해서 어떤 적용업무가
Governor 구성 파일에서 지정한 한계를 초과하는 것으로 발견
되면, 이 적용업무가 종료되거나 (FORCEd) 또는 그 우선 순위가
변경된다.
$ db2gov start <Database> [nodenum <NodeNum>] <ConfigFile> <LogFile> $ db2gov stop <Database> [nodenum <NodeNum>]
여기서 <ConfigFile>은 Governor configuration의 파일명을 말한다.
l Lstaltsm
스냅샷 모니터에 대한 심각한 오류(alert)를 검색하기 위한
샘플 DDL(sqllib/samples/mon에 위치)
l Sample.pv
스냅샷 모니터를 위한 샘플 성능 변수 프로파일
(sqllib/samples/mon에 위치)
l Vesampl.ddl
Visual Explain을 위한 스냅샷을 반출(export)하기 위한
샘플 DDL(sqllib/samples/ve에 위치)
l Dynexpln
동적 SQL에 대하여 db2expln을 수행한다.
$ dynexpln [[-d <database>] [-e <statement terminator>] [-f <input file>] [-g] [-i] [-t| -o <output file> ] [-s <SQL statement>] [-u <userid> <password> ] ] [ -h | -?]
상기의 명령의 옵션은 다음과 같습니다.
-e <statement terminator> = SQL 구분자 (default 값은 no terminator) -g = show optimizer plan graphs -h 또는 -? = 도움말 -i = show operator ID numbers -s <SQL statement> = 보고자 하는 SQL 문 -t = terminal output desired
l Db2ipxad
직접주소 지정모드를 사용하여 IPX/SPX 노드를 카탈로그화하는
원격클라이언트 시스템의 사용자를 위해 서버의 IPX/SPX**
인터네트워크주소를 리턴합니다.
l Db2untag
sysadm이 "소유한" 데이타베이스의 컨테이너태그 정보를 삭제.
l DB2/VM 과 관련된 사항
ü isql :
ISQL을 사용하여 DB2/VM로부터의 액세스를 허용하기
위하여 더미(Dummy) 테이블을 작성합니다.
ü sqldbsu :
SQLDBSU를 사용하여 DB2/VM으로부터의 액세스를
허용하기 위하여 더미 테이블을 작성한다.
l 저장 프로시듀어와 관련된 사항
ü storproc.ddl :
저장프로시듀어 pseudo_catalog DB2CLI.PROCEDURES를
생성하기 위한 샘플 DDL
ü storproc.dml :
저장 프로시듀어 pseudo_catalog DB2CLI.PROCEDURES
로의 항목 삽입을 위한 샘플 DML
l Rebind
기존의 bind 된 package를 다시 bind하고자 할 때 다음의 명령을
이용한다.
$ db2 rebind package inst.myapp(package 명)
DBM CFG & DB CFG 환경 변수
l DBM CFG 환경 변수 수정
데이터베이스 Instance 환경을 구성합니다.
ü query_heap_sz :
대부분 생략시 값으로 충분하고 ,
최소값으로는 aslheapsz의 최소 5배의 값으로 설정한다.
ü rqrioblk :
블로킹이 안된 커서의 경우 ,단일 sql 문으로
전송되는 자료가 너무 커서 생략시 값으로 충분하지
않은 경우가 있다.
ü maxagents :
데이터베이스 연결시 마다 Agent가 부여되고,
이 Agents의 최대수
ü maxcagents :
동시적인 데이터베이스 Coordinating Agent들의 최대 수
ü tm_database :
데이터베이스 인스턴스가 트랜잭션 매니저 역할을
할 경우에 그 제어 정보를 갖고 있는 데이터베이스 이름
ü udf_mem_sz :
Fenced UDF에 대한 공유 메모리 할당 크기
ü numdb : 동시에 활동 가능한 국지 데이터베이스의 수
ü aslheapsz : Application 계층에서 사용할 Heap Size
l DB CFG 환경 변수 변경
각 데이터베이스 별 환경을 구성합니다.
ü maxappls :
해당 데이터베이스에서 연결될 수 있는 클라이언트
업무의 개수를 나타낸다.
ü avg_appls :
해당 데이터베이스에서 사용될 수 있는 클라이언트
평균업무의 개수를 나타낸다.
'DB2' 카테고리의 다른 글
DB2기초 : 재미있는 날짜와 시간 (0) | 2006.03.24 |
---|---|
DB2 UDB 시스템 카탈로그에서 유용한 정보를 얻는 방법 (0) | 2006.03.24 |
DB2의 제약조건 (0) | 2006.03.24 |
[본문스크랩] DB2 지원되는 함수 및 SQL 관리 루틴 (0) | 2006.03.22 |
[본문스크랩] [1]오라클에서 DB2로 바꿀 때_FUNCTION (0) | 2006.03.20 |