스크립트 화일로 일괄 작업을 하자.
## DB2 시작과 종료. db2start db2stop force db2 get instance 현재 세션에 지정된 인스턴스를 보여준다.
## 화일 생성 create.tab -------------------------------- connect to sample;
create table tab3 (naem varchar(20) not null, phone char(40), salary dec(7,2));
select * from tab3; commit work; connect reset;
## 실제 COMMAND화면에서 실행한 화면. ------------------------------------------------------ C:\PROGRA~1\IBM\SQLLIB\BIN>db2 -svtf create.tab connect to sample
데이터베이스 연결 정보
데이터베이스 서버 = DB2/NT 8.2.0 SQL 권한 부여 ID = NERD 로컬 데이터베이스 별명 = SAMPLE
create table tab3 (naem varchar(20) not null, phone char(40), salary dec(7,2)) DB20000I SQL 명령이 완료되었습니다.
select * from tab3
NAEM PHONE SALARY -------------------- ---------------------------------------- ---------
0 레코드가 선택됨.
commit work DB20000I SQL 명령이 완료되었습니다.
connect reset DB20000I SQL 명령이 완료되었습니다.
## DB2SET 명령어 C:\PROGRA~1\IBM\SQLLIB\BIN>db2set -?
DBI1300N db2set은 DB2 프로파일 변수를 표시, 설정 또는 제거합니다.
db2set [[[variable=[value]] [-g|-i instance[ node-number]]] [-all] [-null] [-r [instance[node-number]]] [-n DAS node[ -u user[-p password]]] [-l|-lr] [-v] [-ul|-ur] [-?|-h]
설명:
명령 옵션은 다음과 같습니다.
-g 전역 프로파일 변수에 액세스합니다.
-i 현재 또는 디폴트 인스턴스 프로파일 대신 사용할 인스턴스 프로파일을 지정합니다.
-n 리모트 DB2 Administration Server 노드 이름을 지정합니다.
-u Administration Server에 접속할 때 사용할 사용자 ID를 지정합니다.
-ul 사용자 프로파일 변수에 액세스합니다.
-ur 사용자 프로파일 변수를 새로 고칩니다.
-p Administration Server 접속에 사용할 암호를 지정합니다.
-r 주어진 인스턴스의 프로파일 레지스트리를 재설정합니다. 없음이 제공될 경우 디폴트/현재 인스턴스가 사용됩니다.
-l 모든 인스턴스 프로파일을 나열합니다.
-lr 지원되는 모든 레지스트리 변수를 나열합니다.
-v 상세 출력 모드.
-? 명령 도움말 메시지를 표시합니다.
-h -? 옵션과 같습니다.
-all 다음에 정의된 것처럼 로컬 환경 변수가 나오는 모든 어커런스를 표시합니다.
o 환경, [e]로 표시.
o 사용자 레벨 레지스트리, [u]로 표시.
o 노드 레벨 레지스트리, [n]으로 표시.
o 인스턴스 레벨 레지스트리, [i]로 표시.
o 전역 레벨 레지스트리, [g]로 표시.
-null 변수 값 검색 순서에 정의된 대로 다음 레지스트리 레벨의 값을 찾지 못하도록 지정된 레지스트리 레벨에서 변수 값을 널(NULL)로 설정합니다.
주의사항:
o 변수 이름이 없는 db2set을 사용하면 정의된 모든 변수를 표시합니다.
o db2set <variable> <variable>의 값을 표시합니다.
o db2set <variable>= (없음) <variable>을 삭제합니다.
o db2set <variable>=<value> <variable>의 값을 수정합니다.
o db2set <variable> -null <variable>의 값을 널(NULL)로 설정합니다.
o db2set <variable> -all 정의된 모든 <variable>의 값을 표시합니다.
o db2set -ur 현재 사용자 프로파일을 새로 고칩니다.
o db2set <variable> -ul 사용자 레벨에서 정의된 <variables>를 표시합니다.
o db2set -all 모든 레지스트리 레벨에 정의된 모든 변수를 표시합니다.
### inst01의 구성변수를 확인한다.
C:\PROGRA~1\IBM\SQLLIB\BIN>db2 get dbm cfg
데이터베이스 관리 프로그램 구성
노드 유형 = 로컬 및 리모트 클라이언트가 있는 Ente Edition
데이터베이스 관리 프로그램 구성 릴리스 레벨 = 0x0a00
전체 열린 최대 파일 수 (MAXTOTFILOP) = 16000 CPU 속도(밀리초/명령어) (CPUSPEED) = 3.424496e-007 통신 대역폭(MB/초) (COMM_BANDWIDTH) = 1.000000e+002
현재 사용 중인 최대 데이터베이스 수 (NUMDB) = 8 데이터 링크 지원 (DATALINKS) = NO 페더레이티드 데이터베이스 시스템 지원 (FEDERATED) = YES 트랜잭션 프로세서 모니터 이름 (TP_MON_NAME) =
디폴트 접미부 어카운트 (DFT_ACCOUNT_STR) =
Java Development Kit 설치 경로 (JDK_PATH) = C:\PROGRA~1\IBM\SQLLIB\java\
진단 오류 캡처 레벨 (DIAGLEVEL) = 3 통지 레벨 (NOTIFYLEVEL) = 3 진단 데이터 디렉토리 경로 (DIAGPATH) =
디폴트 데이터베이스 모니터 스위치 버퍼 풀 (DFT_MON_BUFPOOL) = OFF 잠금 (DFT_MON_LOCK) = OFF 정렬 (DFT_MON_SORT) = OFF 명령문 (DFT_MON_STMT) = OFF 테이블 (DFT_MON_TABLE) = OFF 시간소인 (DFT_MON_TIMESTAMP) = ON 작업 단위 (DFT_MON_UOW) = OFF 인스턴스 및 데이터베이스의 Health 모니터 (HEALTH_MON) = ON
SYSADM 그룹 이름 (SYSADM_GROUP) = SYSCTRL 그룹 이름 (SYSCTRL_GROUP) = SYSMAINT 그룹 이름 (SYSMAINT_GROUP) = SYSMON group name (SYSMON_GROUP) =
클라이언트 Userid-Password 플러그인 (CLNT_PW_PLUGIN) = 클라이언트 Kerberos 플러그인 (CLNT_KRB_PLUGIN) = IBMkrb5 그룹 플러그인 (GROUP_PLUGIN) = 로컬 권한 부여를 위한 GSS 플러그인 (LOCAL_GSSPLUGIN) = 서버 플러그인 모드 (SRV_PLUGIN_MODE) = UNFENCED GSS 플러그인의 서버 목록 (SRVCON_GSSPLUGIN_LIST) = 서버 Userid-Password 플러그인 (SRVCON_PW_PLUGIN) = 서버 연결 인증 (SRVCON_AUTH) = NOT_SPECIFIED 데이터베이스 관리 프로그램 인증 (AUTHENTICATION) = SERVER 권한 없이 허용되는 카탈로그 (CATALOG_NOAUTH) = NO 모든 클라이언트 신뢰 (TRUST_ALLCLNTS) = YES 신뢰성 있는 클라이언트 인증 (TRUST_CLNTAUTH) = CLIENT 페더레이티드 인증 생략 (FED_NOAUTH) = NO
디폴트 데이터베이스 경로 (DFTDBPATH) = C:
데이터베이스 모니터 힙 크기(4KB) (MON_HEAP_SZ) = 66 JVM 힙 크기(4KB) (JAVA_HEAP_SZ) = 512 감사 버퍼 크기(4KB) (AUDIT_BUF_SZ) = 0 인스턴스 공유 메모리 크기(4KB) (INSTANCE_MEMORY) = AUTOMATIC 백업 버퍼 디폴트 크기(4KB) (BACKBUFSZ) = 1024 리스토어 버퍼의 디폴트 크기(4KB) (RESTBUFSZ) = 1024
에이전트 스택 크기 (AGENT_STACK_SZ) = 16 최소 커미트 개인용 메모리(4KB) (MIN_PRIV_MEM) = 32 개인용 메모리 임계값(4KB) (PRIV_MEM_THRESH) = 20000
정렬 힙 임계값(4KB) (SHEAPTHRES) = 10000
디렉토리 캐시 지원 (DIR_CACHE) = YES
응용프로그램 지원 계층 힙 크기(4KB) (ASLHEAPSZ) = 15 리퀘스터 I/O 블록의 최대 크기(바이트) (RQRIOBLK) = 32767 DOS 리퀘스터 I/O 블록 크기(바이트) (DOS_RQRIOBLK) = 4096 쿼리 힙 크기(4KB) (QUERY_HEAP_SZ) = 1000
조정 유틸리티의 영향을 받은 워크로드 (UTIL_IMPACT_LIM) = 10
에이전트 우선순위 (AGENTPRI) = SYSTEM 최대 기존 에이전트 수 (MAXAGENTS) = 400 에이전트 풀 크기 (NUM_POOLAGENTS) = 200(계산됨) 풀에 있는 초기 에이전트 수 (NUM_INITAGENTS) = 0 최대 코디네이팅 에이전트 수 (MAX_COORDAGENTS) = (MAXAGENTS - NUM_INITAGENTS) 최대 동시 코디네이팅 에이전트 수 (MAXCAGENTS) = MAX_COORDAGENTS 최대 클라이언트 연결 수 (MAX_CONNECTIONS) = MAX_COORDAGENTS
분리 프로세스 보존 (KEEPFENCED) = YES 풀된 분리 프로세스 수 (FENCED_POOL) = MAX_COORDAGENTS 초기 분리 프로세스 수 (NUM_INITFENCED) = 0
인덱스 재작성 시간 및 인덱스 빌드 다시 실행 (INDEXREC) = RESTART
트랜잭션 관리 프로그램 데이터베이스 이름 (TM_DATABASE) = 1ST_CONN 트랜잭션 재동기화 간격(초) (RESYNC_INTERVAL) = 180
SPM 이름 (SPM_NAME) = HHKANG_2 SPM 로그 크기 (SPM_LOG_FILE_SZ) = 256 SPM 재동기화 에이전트 한계 (SPM_MAX_RESYNC) = 20 SPM 로그 경로 (SPM_LOG_PATH) =
NetBIOS 워크스테이션 이름 (NNAME) =
TCP/IP 서비스 이름 (SVCENAME) = db2c_DB2 발견 모드 (DISCOVER) = SEARCH 발견 서버 인스턴스 (DISCOVER_INST) = ENABLE
병렬 처리 등급의 최대 쿼리 (MAX_QUERYDEGREE) = ANY 파티션내 병렬 처리 사용 (INTRA_PARALLEL) = NO
int. 통신 버퍼 수(4KB) (FCM_NUM_BUFFERS) = 4096 FCM 요청 블록 수 (FCM_NUM_RQB) = AUTOMATIC FCM 연결 항목 수 (FCM_NUM_CONNECT) = AUTOMATIC FCM 메시지 앵커 수 (FCM_NUM_ANCHORS) = AUTOMATIC
노드 연결 경과 시간(초) (CONN_ELAPSE) = 10 최대 노드 연결 재시도 수 (MAX_CONNRETRIES) = 5 노드간 최대 시간차(분) (MAX_TIME_DIFF) = 60
db2start/db2stop 시간종료(분) (START_STOP_TIME) = 10
### system catalog tables and views syscat sysstat
### db 생성. db2 create db mydb
C:\PROGRA~1\IBM\SQLLIB\BIN>db2 create db mydb DB20000I CREATE DATABASE 명령이 완료되었습니다.
### 인스턴스 XXX에 있는 데이터베이스의 목록. C:\PROGRA~1\IBM\SQLLIB\BIN>db2 list db directory
시스템 데이터베이스 디렉토리
디렉토리의 항목 수 = 5
데이터베이스 1 항목:
데이터베이스 별명 = TOOLSDB 데이터베이스 이름 = TOOLSDB 데이터베이스 드라이브 = C:\DB2 데이터베이스 릴리스 레벨 = a.00 주석 = 디렉토리 항목 유형 = 간접 카탈로그 데이터베이스 파티션 번호 = 0 대체 서버 호스트 이름 = 대체 서버 포트 번호 =
데이터베이스 2 항목:
데이터베이스 별명 = NERD 데이터베이스 이름 = NERD 데이터베이스 드라이브 = C:\DB2 데이터베이스 릴리스 레벨 = a.00 주석 = 내꺼 디렉토리 항목 유형 = 간접 카탈로그 데이터베이스 파티션 번호 = 0 대체 서버 호스트 이름 = 대체 서버 포트 번호 =
데이터베이스 3 항목:
데이터베이스 별명 = NERDER 데이터베이스 이름 = NERD 데이터베이스 드라이브 = C:\DB2 데이터베이스 릴리스 레벨 = a.00 주석 = 내꺼 디렉토리 항목 유형 = 간접 카탈로그 데이터베이스 파티션 번호 = 0 대체 서버 호스트 이름 = 대체 서버 포트 번호 =
데이터베이스 4 항목:
데이터베이스 별명 = MYDB 데이터베이스 이름 = MYDB 데이터베이스 드라이브 = C:\DB2 데이터베이스 릴리스 레벨 = a.00 주석 = 디렉토리 항목 유형 = 간접 카탈로그 데이터베이스 파티션 번호 = 0 대체 서버 호스트 이름 = 대체 서버 포트 번호 =
데이터베이스 5 항목:
데이터베이스 별명 = SAMPLE 데이터베이스 이름 = SAMPLE 데이터베이스 드라이브 = C:\DB2 데이터베이스 릴리스 레벨 = a.00 주석 = 디렉토리 항목 유형 = 간접 카탈로그 데이터베이스 파티션 번호 = 0 대체 서버 호스트 이름 = 대체 서버 포트 번호 =
### 데이터베이스 mydb를 활성화. C:\PROGRA~1\IBM\SQLLIB\BIN>db2 activate db mydb DB20000I ACTIVATE DATABASE 명령이 완료되었습니다.
### 현재 활성화되어 있는 데이터베이스의 목록을 보여줍니다. C:\PROGRA~1\IBM\SQLLIB\BIN>db2 list active databases
활동 중인 데이터베이스
데이터베이스 이름 = MYDB 현재 연결된 응용프로그램 수 = 0 데이터베이스 경로 = C:\DB2\NODE0000\SQL00004\
### mydb라는 데이터베이스에 접속하기. db2 connect to mydb
### mydb에 있는 테이블의 목록을 확인. db2 list tables for all
### 현재 데이터베이스에 접속되어 있는지 여부 확인. db2 get connection state
#### 현재 데이터베이스의 환경 내용. C:\PROGRA~1\IBM\SQLLIB\BIN>db2 get db cfg
데이터베이스 에 대한 데이터베이스 구성
데이터베이스 구성 릴리스 레벨 = 0x0a00 데이터베이스 릴리스 레벨 = 0x0a00
데이터베이스 지역 = KR 데이터베이스 코드 페이지 = 1363 데이터베이스 코드 세트 = 1363 데이터베이스 국가/지역 코드 = 82 데이터베이스 조합 시퀀스 = UNIQUE 대체 조합 조합 시퀀스 (ALT_COLLATE) =
동적 SQL 쿼리 관리 (DYN_QUERY_MGMT) = DISABLE
이 데이터베이스에 대한 발견 지원 (DISCOVER_DB) = ENABLE
디폴트 쿼리 최적화 클래스 (DFT_QUERYOPT) = 5 병렬 처리 등급 (DFT_DEGREE) = 1 산술 예외시 계속 (DFT_SQLMATHWARN) = NO 디폴트 새로 고침 유효 기간 (DFT_REFRESH_AGE) = 0 opt용 디폴트 유지보수 테이블 유형 (DFT_MTTB_TYPES) = SYSTEM 유지되어 자주 사용되는 값의 수 (NUM_FREQVALUES) = 10 유지된 Quantile 수 (NUM_QUANTILES) = 20
백업 보류 = NO
데이터베이스가 일관성이 있음 = YES 롤 포워드 보류 = NO 리스토어 보류 = NO
다중 페이지 파일 할당 작동 = YES
복구를 위한 로그 유지 상태 = NO 로깅에 대한 User Exit 상태 = NO
데이터 링크 토큰 만기 간격(초) (DL_EXPINT) = 60 데이터 링크 쓰기 토큰 초기 만기 간격 (DL_WT_IEXPINT) = 60 데이터 링크 사본 수 (DL_NUM_COPIES) = 1 제거 후 데이터 링크 시간(일) (DL_TIME_DROP) = 1 대문자로 된 데이터 링크 토큰 (DL_UPPER) = NO 데이터 링크 토큰 알고리즘 (DL_TOKEN) = MAC0
데이터베이스 힙(4KB) (DBHEAP) = 600 데이터베이스 공유 메모리 크기(4KB) (DATABASE_MEMORY) = AUTOMATIC 카탈로그 캐시 크기(4KB) (CATALOGCACHE_SZ) = (MAXAPPLS*4) 로그 버퍼 크기(4KB) (LOGBUFSZ) = 8 유틸리티 힙 크기(4KB) (UTIL_HEAP_SZ) = 5000 버퍼 풀 크기(페이지) (BUFFPAGE) = 250 확장 스토리지 세그먼트 크기(4KB) (ESTORE_SEG_SZ) = 16000 확장 스토리지 세그먼트 수 (NUM_ESTORE_SEGS) = 0 잠금 목록용 최대 스토리지(4KB) (LOCKLIST) = 50
응용프로그램 그룹 메모리 세트의 최대 크기(4KB) (APPGROUP_MEM_SZ) = 30000 응용프로그램 그룹 힙의 메모리 백분율 (GROUPHEAP_RATIO) = 70 최대 appl. 제어 힙 크기(4KB) (APP_CTL_HEAP_SZ) = 128
공유 정렬의 정렬 힙 임계값(4KB) (SHEAPTHRES_SHR) = (SHEAPTHRES) 정렬 목록 힙(4KB) (SORTHEAP) = 256 SQL문 힙(4KB) (STMTHEAP) = 2048 디폴트 응용프로그램 힙(4KB) (APPLHEAPSZ) = 256 패키지 캐시 크기(4KB) (PCKCACHESZ) = (MAXAPPLS*8) 통계 힙 크기(4KB) (STAT_HEAP_SZ) = 4384
교착 상태 점검 간격(밀리초) (DLCHKTIME) = 10000 응용프로그램당 잠금 목록의 백분율 (MAXLOCKS) = 22 잠금 시간종료(초) (LOCKTIMEOUT) = -1
변경된 페이지 임계값 (CHNGPGS_THRESH) = 60 비동기 페이지 클리너 수 (NUM_IOCLEANERS) = 1 I/O 서버 수 (NUM_IOSERVERS) = 3 인덱스 정렬 플래그 (INDEXSORT) = YES 시퀀스 검출 플래그 (SEQDETECT) = YES 디폴트 프리페치 크기(페이지) (DFT_PREFETCH_SZ) = AUTOMATIC
트랙 수정 페이지 (TRACKMOD) = OFF
디폴트 컨테이너 수 = 1 디폴트 테이블 스페이스 Extent 크기(페이지) (DFT_EXTENT_SZ) = 32
실행 중인 최대 프로그램 수 (MAXAPPLS) = AUTOMATIC 실행 중인 응용프로그램의 평균 수 (AVG_APPLS) = 1 응용프로그램당 열린 최대 DB 파일 수 (MAXFILOP) = 64
로그 파일 크기(4KB) (LOGFILSIZ) = 1000 1차 로그 파일 수 (LOGPRIMARY) = 3 2차 로그 파일 수 (LOGSECOND) = 2 로그 파일에 대한 변경된 경로 (NEWLOGPATH) = 로그 파일에 대한 경로 = C:\DB2\NODE0000\SQL00004\SQLOGDIR\ 오버플로우 로그 경로 (OVERFLOWLOGPATH) = 미러 로그 경로 (MIRRORLOGPATH) = 처음에 사용되는 로그 파일 = 디스크가 가득 차면 로그 블록화 (BLK_LOG_DSK_FUL) = NO 트랜잭션에서 사용 중인 최대 로그 스페이스 백분율 (MAX_LOG) = 0 1개의 활성 UOW에 대해 사용 중인 로그 파일 수 (NUM_LOG_SPAN) = 0
그룹 커미트 계수 (MINCOMMIT) = 1 소프트 체크포인트 전에 수정된 로그 파일의 백분율 (SOFTMAX) = 100 복구를 위해 로그 유지 작동 (LOGRETAIN) = OFF 로깅에 대한 User Exit 작동 (USEREXIT) = OFF
HADR 데이터베이스 역할 = STANDARD HADR 로컬 호스트 이름 (HADR_LOCAL_HOST) = HADR 로컬 서비스 이름 (HADR_LOCAL_SVC) = HADR 리모트 호스트 이름 (HADR_REMOTE_HOST) = HADR 리모트 서비스 이름 (HADR_REMOTE_SVC) = 리모트 서버의 HADR 인스턴스 이름 (HADR_REMOTE_INST) = HADR 시간종료 값 (HADR_TIMEOUT) = 120 HADR 로그 쓰기 동기화 모드 (HADR_SYNCMODE) = NEARSYNC
첫 번째 로그 아카이브 메소드 (LOGARCHMETH1) = OFF logarchmeth1 옵션 (LOGARCHOPT1) = 두 번째 로그 아카이브 메소드 (LOGARCHMETH2) = OFF logarchmeth2 옵션 (LOGARCHOPT2) = 장애 복구 로그 아카이브 경로 (FAILARCHPATH) = 오류 시 로그 아카이브 재시도 수 (NUMARCHRETRY) = 5 로그 아카이브 재시도 대기 시간(초) (ARCHRETRYDELAY) = 20 벤더 옵션 (VENDOROPT) =
자동 재시작 사용 (AUTORESTART) = ON 인덱스 재작성 시간 및 인덱스 빌드 다시 실행 (INDEXREC) = SYSTEM (RESTART) 인덱스 빌드 중 로그 페이지 수 (LOGINDEXBUILD) = OFF 디폴트 loadrec 세션 수 (DFT_LOADREC_SES) = 1 유지할 데이터베이스 백업 수 (NUM_DB_BACKUPS) = 12 복구 실행기록 보유(일) (REC_HIS_RETENTN) = 366
TSM 관리 클래스 (TSM_MGMTCLASS) = TSM 노드 이름 (TSM_NODENAME) = TSM 소유자 (TSM_OWNER) = TSM 암호 (TSM_PASSWORD) =
자동 유지보수 (AUTO_MAINT) = OFF 자동 데이터베이스 백업 (AUTO_DB_BACKUP) = OFF 자동 테이블 유지보수 (AUTO_TBL_MAINT) = OFF 자동 runstats (AUTO_RUNSTATS) = OFF 자동 통계 프로파일 (AUTO_STATS_PROF) = OFF 자동 프로파일 갱신 (AUTO_PROF_UPD) = OFF 자동 재구성 (AUTO_REORG) = OFF
### mydb에 동시 접속수를 응용프로그램 개수를 50개로 지정. C:\PROGRA~1\IBM\SQLLIB\BIN>db2 update db cfg for mydb using maxappls 50 DB20000I UPDATE DATABASE CONFIGURATION 명령이 완료되었습니다.
### mydb에 현재 접속하고 있는 응용프로그램의 목록 확인. C:\PROGRA~1\IBM\SQLLIB\BIN>db2 list applications for db mydb
권한 ID 응용프로그램 Appl. 응용프로그램 ID DB 에이전트 이름 핸들 이름 수 -------- -------------- ---------- ------------------------------ -------- ----- NERD db2bp.exe 16 *LOCAL.DB2.060426015645 MYDB 1
### DB 삭제하기. db2 drop db mydb
### mydb에 mybp8이라는 크기가 1000페이지이고, 각 페이지의 크기가 8K인 버퍼풀을 생성. C:\Program Files\IBM\SQLLIB\BIN>db2 create bufferpool mydp4 size 1000 DB20000I SQL 명령이 완료되었습니다.
### mydb 에 있는 버퍼풀의 목록 확인. C:\Program Files\IBM\SQLLIB\BIN>db2 "select bpname, pagesize, npages from syscat.bufferpools" BPNAME PAGESIZE NPAGES ---------------------------- ----------- ----------- IBMDEFAULTBP 4096 250 MYDP4 4096 1000
2 레코드가 선택됨.
### mybp4라는 버퍼풀 제거. db2 drop bufferpool mybp4
|