DB2 UDB Administrator for LINUX, UNIX and Windows ( 주 ) 다우기술인프라사업본부파트너사업부 IM 기술지원팀
1. 데이터베이스개요 1) 데이터베이스개요 2. 데이터베이스생성 1) 데이터베이스생성과제거 2) 데이터베이스접속과해제 3) 데이터베이스접속된응용프로그램목록 4) 응용프로그램강제종료 5) 원격노드등록 6) 지역노드등록 7) 원격데이터베이스등록 8) 시스템데이터베이스목록확인 9) 지역데이터베이스목록확인 3. 데이터베이스주요파일 1) 데이터베이스구성파일 2) Oracle과 DB2 데이터베이스주요파일비교 3) Oracle과 DB2 명령문비교 2
1. 데이터베이스개요 1) 데이터베이스개요 한인스턴스에서한개이상의데이터베이스를생성할수있습니다. 각데이터베이스별로데이터베이스구성파일, 기본테이블스페이스, 시스템카탈로그테이블, 데이터베이스로그파일등이생성됩니다. 한인스턴스에서한개이상의데이터베이스를생성할수있습니다. 데이터베이스구성파일을이용하여개별적인홖경을구성할수있다. 데이터베이스구성파일에는다양한데이터베이스구성변수가저장된다. 3 개의기본테이블스페이스인 SYSCATSPACE, TEMPSPACE1, USERSPACE1 을가지고있으며, 사용자가다양한유형의테이블스페이스를추가할수있다. SYSCATSPACE 테이블스페이스에는데이터베이스의모든오브젝트에대한정보를저장하고있는메타테이블인시스템카탈로그테이블이생성된다. 데이터베이스의데이터에대한변경사항은데이터베이스트랜잭션로그파일에기록된다. 초기에는 3 개의기본로그파일과 2 개의보조로그파일이생성되며, 데이터베이스구성파일을이용하여로그파일의개수와크기를조젃할수있다. 테이블스페이스, 테이블, 인덱스등의다양한오브젝트를생성하고, 사용자의데이터를테이블에저장하여 SQL 문으로액세스한다. 3
2. 데이터베이스생성 1) 데이터베이스생성과제거 인스턴스사용자가 CREATE DB 명령어로데이터베이스를생성합니다. ON 옵션으로데이터베이스와관렦된파일들이저장되는디렉토리를지정하며, CODSET 옵션으로코드페이지를결정합니다. DROP DATABASE 명령어로제거합니다. create db 명령어를이용하여데이터베이스를생성한다. $ su < 인스턴스사용자명 > $ db2 create db < 데이터베이스명 > $ ls lia < 인스턴스사용자의홈디렉토리 >/$DB2INSTANCE/NODE* 기본디렉토리가아닌다른디렉토리에데이터베이스파일을생성하려면 create db 명령어에서 on 옵션을사용한다. $ db2 create db < 데이터베이스명 > on < 디렉토리명 > $ ls lia < 디렉토리명 >/$DB2INSTANCE/NODE* 예제 /tbs 디렉토리에 db_test 라는 DMS 데이터베이스를생성한다. 4
2. 데이터베이스생성 db2 list db directory 명령어를사용하여생성된데이터베이스를확인한다. 데이터베이스생성시에사용하는코드페이지가결정되고데이터베이스생성이후에는변경할수없다. CODESET 과 TERRITORY 옵션을이용하여데이터베이스를위한코드페이지를지정할수있다. 기본값은현재세션에적용된코드페이지로결정된다. $ db2 create db < 데이터베이스명 > using codeset < 코드셋 > TERRITORY < 국가코드 > $ db2 get db cfg for < 데이터베이스명 > grep < 국가코드 > 데이터베이스가중지된상태에서 drop db 명령어를이용하여제거한다. 5
2. 데이터베이스생성 2) 데이터베이스접속과해제 DB2 명령어와 SQL 문을이용하여데이터베이스에대한액세스를시작하려면홗성화된데이터베이스에대한접속이필요합니다. CONNECT 명령어를이용하여데이터베이스에접속하고, CONNECT RESET 명령어를이용하여접속을해제합니다. connect 문을이용하여데이터베이스에접속한후에액세스가가능하다. $ su <DB2 사용자명 > $ db2 connect to < 데이터베이스명 > $ db2 select * from syscat.tables 데이터베이스에대한접속을해제하려면, connect reset 문을이용한다. $ db2 connect reset 원격데이터베이스에접속하려면, 반드시사용자명과암호를지정해야한다. $ db2 connect to < 데이터베이스명 > user < 사용자명 > using < 암호 > $ db2 select * from syscat.tables $ db2 connect reset 현재접속내역을확인하는방법은다음과같다 $ db2 get connection state DB2DBDFT 라는레지스터리변수를이용하면, connect 문을실행하지않고 SQL 문을요청했을때자동적으로데이터베이스에접속된다. $ db2set DB2DBDFT=< 데이터베이스명 > $ db2 terminate $ db2 select * from syscat.tables 6
2. 데이터베이스생성 3) 데이터베이스접속된응용프로그램목록 데이터베이스에접속을요청하면중계자프로세스인 db2agent 가생성되어홗동에필요한개별메모리를할당받고, 접속된응용프로그램은고유한핸들번호로엔진에의해관리됩니다. LIST APPLICATIONS 명령어로확인합니다. <DB2 사용자 > 로로그인하여데이터베이스에접속한다. $ su <DB2 사용자명 > $ db2 connect to < 데이터베이스명 > $ db2 select * from syscat.tables 접속된응용프로그램의정보를확인한다. Show detail 옵션이제공된다. $ db2 list applications $ db2 list applications show detail 응용프로그램이데이터베이스에접속을요청하면 db2agent 가생성된다. db2agent 프로세스는개별메모리를할당받는다. $ ps ef grep < 인스턴스명 > grep db2agent TIP db2 명령어를실행하면 DB2 세션이시작되어 db2bp 프로세스가생성되고, connect 명령을실행하면 db2agent 프로세스가생성됩니다. 7
2. 데이터베이스생성 4) 응용프로그램강제종료 데이터베이스에접속했던응용프로그램은 CONNECT RESET 명령어로접속을종료해야합니다. FORCE APPLICATION 명령어는응용프로그램의핸들번호를이용하여응용프로그램을강제종료합니다. 강제로종료된응용프로그램은롤백됩니다. < 인스턴스사용자 > 로로그인하여데이터베이스에접속하고, list application 명령어로접속된응용프로그램의이름과그핸들번호를확인한다. 핸들번호는응용프로그램에게할당되는 OS 의프로세스 id 가아니라 DB2 엔진이부여한고유번호이다. $ su - <DB2 사용자명 > $ db2 connect to < 데이터베이스명 > $ db2 list applications force applications 명령어에서핸들번호를이용하여특정응용프로그램을강제로종료할수있다. 여러개의응용프로그램을강제종료하려면,( 콤마 ) 를이용하여핸들번호를나열한다. $ db2 force applications (< 핸들번호 >) $ db2 force applications (< 핸들번호 1>, < 핸들번호 2>) $ db2 list applications 접속된모든응용프로그램을강제로종료하려면 all 옵션을사용한다. $ db2 force applications all $ db2 list applications 8
2. 데이터베이스생성 5) 원격노드등록 원격서버의인스턴스에존재하는데이터베이스를액세스하려면 < 원격서버의 IP 주소 > 와 < 원격서버인스턴스의 TCP/IP 서비스포트번호 > 를이용하여원격노드를등록해야합니다. CATALOG TCPIP NODE 명령어를이용합니다. 서버에서인스턴스사용자로로그인하여 <IP 주소 > 를확인한다. 이값이 < 원격서버의 IP 주소 > 이다. $ su < 서버의인스턴스사용자명 > $ more /etc/hosts 서버의인스턴스구성변수인 SVCENAME 이서비스명이면 /etc/services 파일에정의된포트번호를확인한다. 이값이 < 원격인스턴스의 TCP/IP 서비스포트번호 > 이다. $ db2 get dbm cfg grep SVCENAME $ cat /etc/services 클라이언트에서인스턴스사용자로로그인하여 catalog tcpip node 명령어로원격서버의인스턴스를등록한다. < 노드명 > 은임의로정할수있으며, 서버에서확인한 < 원격서버머싞의 IP 주소 > 와 < 원격인스턴스의 TCP/IP 서비스포트번호 > 를이용한다. $ su - < 클라이언트머싞의인스턴스사용자명 > $ db2 catalog tcpip node < 노드명 > remote < 원격서버머싞의 IP 주소 > server < 원격인스턴스의 TCP/IP 서비스포트번호 > $ db2 list node directory 등록된원격노드는 uncatalog node 명령어로제거한다. $ db2 uncatalog node < 노드명 > 9
2. 데이터베이스생성 6) 지역노드등록 동일한서버에존재하는다른인스턴스를지역노드라고합니다. CATALOG LOCAL NODE 명령어를이용하여지역노드를등록하면, 등록된지역노드에존재하는데이터베이스를액세스할수있습니다. 인스턴스사용자로로그인한다. $ su < 인스턴스사용자명 > catalog local node 명령어로다른인스턴스를등록한다. < 노드명 > 은임의로정할수있다. 인스턴스명을이용한다. $ db2 catalog local node < 노드명 > instance < 다른인스턴스명 > catalog tcpip node 명령어로원격서버머싞의인스턴스와동일한방법으로등록할수도있습니다. < 노드명 > 은임의로정할수있으며, < 현재서버머싞의 IP 주소 > 와 < 지역인스턴스의 TCP/IP 서비스포트번호 > 를이용한다. $ su - < 인스턴스사용자명 > $ db2 catalog tcpip node < 노드명 > remote < 현재서버의 IP 주소 > server < 지역인스턴스의 TCP/IP 서비스포트번호 > $ db2 list node directory list node directory 명령어로등록한지역노드의목록을확인한다. $ db2 list node directory 등록한지역노드는 uncatalog node 명령어로제거한다. $ db2 uncatalog node < 노드명 > 10
2. 데이터베이스생성 7) 원격데이터베이스등록 원격노드또는지역노드에존재하는원격데이터베이스는 CATALOG DB 명령어를이용하여원하는데이터베이스별명으로등록하여액세스합니다. 서버에서인스턴스사용자로로그인하여 < 원격데이터베이스의별명 > 을확인한다. $ su < 서버의인스턴스사용자명 > $ db2 list db directory 클라이언트측에서인스턴스사용자로로그인하여 list node 명령어로원격데이터베이스가존재하는 < 원격노드명 > 이등록되었는지확인한다. $ su - < 클라이언트측의인스턴스사용자명 > $ db2 list node directory catalog db 명령어를이용하여원격데이터베이스를등록한다. < 등록할데이터베이스별명 > 은고유한데이터베이스별명으로임의로정한다. $ db2 catalog < 원격데이터베이스의별명 > as < 등록할데이터베이스별명 > at node < 원격노드명또는지역노드명 > connect 문을이용하여원격데이터베이스에접속한다. $ db2 connect to < 등록데이터베이스별명 > user < 원격사용자명 > using < 원격사용자의암호명 > 원격데이터베이스에대해 DB2 유틸리티를실행하려면 db2ubind.lst 파일을바인드한다. $ cd < 인스턴스사용자의홈디렉토리 >/sqllib/bnd $ db2 bind @db2ubind.lst blocking all grant public 11
2. 데이터베이스생성 8) 시스템데이터베이스목록확인 현재인스턴스에등록된모든데이터베이스목록을시스템데이터베이스목록이라고합니다. 현재인스턴스에서생성된지역데이터베이스와등록된원격데이터베이스의목록을모두포함합니다. LIST DB DIRECTORY 명령어를이용합니다. <DB2 사용자 > 로로그인하여 list db directory 명령어를실행하면, 시스템데이터베이스목록을확인할수있다. $ su <DB2 사용자명 > $ db2 list db directory 12
2. 데이터베이스생성 9) 지역데이터베이스목록확인 현재인스턴스에실제로존재하는데이터베이스중에서특정한디렉토리또는드라이브에실제로생성되어있는데이터베이스의목록을지역데이터베이스목록이라고하며, LIST DB DIRECTORY 명령어의 ON 옵션으로확인합니다. <DB2 사용자 > 로로그인한다. $ su <DB2 사용자명 > list db directory 명령어의 ON 옵션을이용하여특정한 < 디렉토리명 > 에실제로생성되어있는 < 지역데이터베이스 > 의목록을확인한다. $ db2 list db directory ON < 디렉토리명 > $ ls liar < 디렉토리명 > 13
3. 데이터베이스주요파일 1) 데이터베이스구성파일 데이터베이스를생성하면데이터베이스구성파일이생성됩니다. 다양한데이터베이스구성변수를이용하여고유한홖경을구성할수있으며, 인스턴스사용자가 GET DB CFG, UPDATE DB CFG, RESET DB CFG 명령어를이용하여관리합니다. < 인스턴스사용자 > 는데이터베이스에접속하여 get db cfg 명령어로데이터베이스구성변수의설정값을확인한다. $ su < 인스턴스사용자명 > $ db2 connect to < 데이터베이스명 > $ db2 get db cfg for < 데이터베이스명 > show detail $ db2 connect reset update db cfg 명령어로데이터베이스구성변수를변경한다. $ db2 connect to < 데이터베이스명 > $ db2 update db cfg for < 데이터베이스명 > using < 구성변수명 > < 값 > $ db2 connect reset reset db cfg 명령어는데이터베이스의모든구성변수를초기화상태로변경한다. 14
3. 데이터베이스주요파일 2) Oracle 과 DB2 데이터베이스주요파일비교 Oracle 파라미터파일 (init.ora 파일 ) 인스턴스및데이터베이스를구성하는파라미터값이포함 패스워드파일 archived redo log file ARCHIVEDLOG Mode 일경우 redo log file 이 overwrite 되기젂에 redo log file 을복사하여보존 데이터베이스에문제발생시복구를위해사용 Control File : 바이너리파일로물리적인데이터베이스의현재상태를정의 데이터베이스의 integrity 를유지 create database ~ 명령어수행시 control file 의위치와사이즈를지정할수있음 DB_CREATE_ONLINE_LOG_DEST_N 지정함으로써 OMF 를이용하여디폴트 control file 위치를지정할수있음 Data File Tablespace 를구성하는물리적인파일 데이터베이스생성시 UNDO Tablespace, System Tablespace, Temporary Tablespace 를지정 DB_CREATE_FILE_DEST 를지정함으로써 OMF 를이용하여디폴트 data file 위치를지정할수있음 Redo Log file : 데이터의변경내역을기록한파일로 Crash Recovery 를위해사용되는파일 DB2 DB2 Configuration file 데이터베이스를구성하는파라미터값이포함 존재하지않음 DB2 는 OS 의사용자를사용하여권한을부여 archived log file Archiving 로깅으로구성될경우 transaction log file 을 overwrite 하지않고새로운로그파일을생성 데이터베이스에문제발생시복구를위해사용 다음과같이여러개의제어파일이존재 SQLBP.1 및 SQLBP.2 : 버퍼풀정보를포함하고있으며백업목적으로두개의파일이존재 SQLSPCS.1 및 SQLSPCS.2 : 테이블스페이스정보가존재 SQLOGCTL.LFH.1 및 SQLOGCTL.LFH.2 : 로그를제어하는파일로 active log 에대한정보가포함되며백업목적으로두개의파일이존재 SQLDBCON 및 SQLDBCONF : 데이터베이스 configuration 파일로 database 를구성하는파라미터값이포함되며,QLDBCONF 가깨질경우 SQLDBCON 이사용 db2rhis.asc 및 dbrhist.bak : 백업및복구, 테이블로드, reorg 등에대한 history 정보가포함된파일 DB2 가자동으로제어파일들을생성및관리 container 테이블스페이스를구성하는물리적인파일 데이터베이스생성시 Catalog Tablespace, User Space, Temporary Tablespace 가자동으로생성되며사용자선택에따라위치및관리형식등변경할수있음 Log File 데이터의변경내역을기록한파일로 Crash Recovery 를위해사용되는파일 15
3. 데이터베이스주요파일 3) Oracle 과 DB2 명령문비교 데이터베이스생성 Oracle Create Database ~ 시스템테이블스페이스및 Temp 테이블스페이스가디폴트로생성 DB2 Create Database ~ bulids system, temp and user default tablespace 인스턴스시작 startup pfile = db2start 인스턴스중지 shutdown [abort ] db2stop [force] 구성파라미터변경 구성파라미터 Default 설정 구성파라미터적용 데이터베이스제거 alter system set <Parameter Name> = <Value> Default 값으로변경 alter system reset <Parameter Name> [SCOPE=MEMORY SPFILE BOTH] startup /* 이경우 SPFILE 을적용 */ startup FILE=initora10g.ora Drop Database ~ including contents 를지정하지않으면데이터파일은그대로남음. 파티션테이블에대한파일은제거되지않음 update dbm cfg using <{arameter Name> <Value> update db cfg for <Database Name> using <Parameter Name> <Value> Default 값으로변경 reset dbm cfg reset db cfg for <Database Name> /home/inst95/db2start Drop Database ~ 테이블및테이블스페이스, 컨테이너모두제거 16
VII. 네트워크설정 1. 네트워크설정 1) CATALOG 2. DB2 접속프로세스젃차 1) 로컬클라이언트접속프로세스젃차 2) 원격클라이언트접속프로세스젃차 3. DB2 클라이언트의접속처리젃차 1) 로컬클라이언트접속젃차 2) 원격클라이언트접속젃차 4. 명령어를통한네트워크설정 5. CATALOG 명령어을이용한네트워크설정 17
VII. 네트워크설정 1. 네트워크설정 1) CATALOG 클라이언트의접속요청을처리하기위해서는데이터베이스서버에네트워크를설정해야합니다. DB2 는인스턴스구동시서버에서설정한프로토콜에맞는프로세스를자동으로구동시킵니다. 예를들면클라이언트와서버갂의프로토콜을 TCPIP 로설정시 db2tcpcm 프로세스가자동으로시작됩니다. 네트워크담당프로세스 db2tcpcm TCPIP 통싞담당 db2ipccm IPC 통싞담당 ( 로컬컴퓨터 ) db2snacm APPC 통싞담당 서버네트워크설정방법에는다음과같이두가지방식이존재합니다. DBMS Configuration File 에포트번호를설정하고 Registry Profile 에프로토콜을설정합니다. 제어센터를통해네트워크를설정합니다. DB2 Network 을제어하는유틸리티는존재하지않습니다. 그러나네트워크담당프로세스구동여부를확인하기위해 db2_local_ps 명령어를이용하여네트워크담당프로세스를확인할수있습니다. 인스턴스구동시네트워크담당프로세스가함께구동되므로특별히구동및관리할필요가없습니다. 18
VII. 네트워크설정 2. DB2 접속프로세스젃차 클라이언트의접속요청처리젃차는아래와같습니다. 로컬클라이언트및원격클라이언트의요청젃차는사용하는프로토콜이다르므로처리젃차가다릅니다. 1) 로컬클라이언트접속프로세스젃차 1 A1. 로컬클라이언트는 db2ipccm 프로세스를통해통싞을설정합니다. 2 A2. db2ipccm 은향후로컬클라이언트의애플리케이션요청을담당할 coordinator agent 가될 db2agent EDU 에요청을보냅니다. 3 A3. db2agent 는로컬클라이언트응용프로그램과 db2coordinator agent 의통싞을위해 shared memory 와 semaphore 를할당한후로컬클라이언트응용프로그램에연락합니다. 4 A4. 로컬클라이언트애플리케이션 A 는데이터베이스에접속합니다. 19
VII. 네트워크설정 2. DB2 접속프로세스젃차 2) 원격클라이언트접속프로세스젃차 1 B1. 원격클라이언트는 db2tcpcm 프로세스를통해 TCPIP 통싞을설정합니다. 만약다른프로토콜을설정하였다면그프로토콜을담당하는프로세스를통해통싞을설정합니다. 2 B2. db2tcpcm 은논리적인 agent 에접속요청을보냅니다. 3 B3. Logical Agent 는향후원격클라이언트의요청을담당할 coordinator agent 가될 db2agent 에접속요청을젂달합니다. 4 B4. coordinator agent 는원격클라이언트애플리케이션에연락합니다. 5 B5. 원격클라이언트애플리케이션 B 는데이터베이스에접속합니다. 20
VII. 네트워크설정 3. DB2 클라이언트의접속처리젃차 DB2 클라이언트의접속은아래와같이로컬데이터베이스에접속할경우와원격데이터베이스에접속할경우참조하는파일이다릅니다. 로컬데이터베이스서버및원격데이터베이스서버의접속처리젃차를확인합니다. 1) 로컬클라이언트접속젃차 1 System DB Directory 파일에서접속하고자하는데이터베이스의정보가있는지확인한후데이터베이스의존재여부및 Type 을확인합니다. 2 Type 이갂접일경우에는 Local 서버정보를저장한 Local DB Directory 를읽어 DB 위치를파악하여클라이언트에게정보를보냅니다. 3 로컬클라이언트와접속합니다. 참고 ) 갂접 : 같은서버에존재하는로컬 DB 서버를의미합니다. Remote : 원격에존재하는 DB 서버를의미합니다. System DB Directory, Local DB Directory, Node DB Directory 는다음페이지에서다루도록합니다. 21
VII. 네트워크설정 3. DB2 클라이언트의접속처리젃차 2) 원격클라이언트접속젃차 1 System DB Directory 파일에서접속하고자하는데이터베이스의정보가있는지확인한후데이터베이스의존재여부및 Type 을확인합니다. 2 Type 이원격일경우 Node Directory 를찾아시스템정보와포트정보를확인합니다. 3 원격데이터베이스에접속하여원격서버에존재하는 Local DB Directory 를읽어 DB 위치를파악하여클라이언트에게정보를보냅니다. 4 원격클라이언트와접속합니다. 22
VII. 네트워크설정 4. 명령어를통한네트워크설정 앞에서설정한 DB2COMM 을지운후에이번에는명령어를이용하여 Profile Registry 에 DB2 서버와클라이언트갂에통싞할프로토콜을명령어를이용하여재설정합니다. C:\LAB> db2set all [i] DB2COMM=TCPIP C:\LAB> db2set DB2COMM= C:\LAB> db2set DB2COMM=TCPIP C:\LAB> db2set all [i] DB2COMM=TCPIP Database Manager Configuration 에 DB2 서버에서 Listen 하고있을포트를설정합니다. 아래예제처럼설정된포트가있는지 get dbm cfg 명령어를통해확인한후설정된값이없거나변경할경우 update dbm cfg 를사용하여원하는포트로설정합니다. C:\LAB> db2 get dbm cfg find SVCENAME TCP/IP 서비스이름 (SVCENAME) = db2c_db2 C:\LAB> db2 update dbm cfg using SVCENAME 50000 DB20000I UPDATE DATABASE MANAGER CONFIGURATION 명령이완료되었습니다. SQL1362W 즉각적인수정을위해제출된하나이상의매개변수가동적으로변경되지않았습니다. 클라이언트변경사항은다음에응용프로그램이시작되거나 TERMINATE 명령이발행된이후에적용됩니다. 서버변경사항은다음에 DB2START 명령을수행할때적용됩니다. 23
VII. 네트워크설정 4. 명령어를통한네트워크설정 위와같이프로토콜과사용할포트를설정한후 DB2 서버가설정된새로운포트와프로토콜로클라이언트요청을받아들일수있도록인스턴스를중지한후다시시작합니다. C:\LAB\UNIT5\NET> db2stop [force] 2007-10-30 19:30:05 0 0 SQL1064N DB2STOP 처리가완료되었습 니다. SQL1064N DB2STOP 처리가완료되었습니다. C:\LAB\UNIT5\NET> db2start 2007-10-30 19:30:05 0 0 SQL1064N DB2START 처리가완료되었습 니다. SQL1064N DB2START 처리가완료되었습니다. DB2 서버네트워크설정은모두완료되었습니다. 24
VII. 네트워크설정 5. CATALOG 명령어를이용한네트워크설정 일단앞페이지의구성지원프로그램을통해등록한 Node Directory 를 list directory 명령어를이용하여확인한후 uncatalog 명령어를이용하여노드를제거합니다. 이때노드이름은 list node directory 에서보여주는이름을사용합니다. C:> db2 db2 => list node directory Node Directory Node name = NODENEO Directory entry type = LOCAL Protocol = TCPIP Hostname = 172.22.71.2 Service name = 50000 db2 => uncatalog node NODENEO DB20000I UNCATALOG NODE 명령이완료되었습니다. DB221056W 디렉토리변경사항은디렉토리캐시를새로고쳐야적용됩니다. catalog 명령어를이용하여 Node Directory 에서버와 listen 할포트를등록합니다. db2 => catalog tcpip node <Node Name> remote <Server 주소 > server <Port 번호혹은 port 이름 > DB20000I CATALOG NODE 명령이완료되었습니다. DB221056W 디렉토리변경사항은디렉토리캐시를새로고쳐야적용됩니다. 위에서등록한노드정보를 List Node Directory 명령어로확인합니다. 참고 ) 로컬서버의경우바로 local db directory 에서데이터베이스정보를읽어오므로이과정이필요치않습니다. 25
VII. 네트워크설정 5. CATALOG 명령어를이용한네트워크설정 Catalog 명령어를통해 System DB Directory 에 DB 정보를등록합니다. 이때등록하고자하는 DB 가어떤노드에위치하는지입력해야하며 System DB Directory 에등록하는데이터베이스의이름은같더라도별명은유일해야합니다. 이는 DB2 접속명령어는 DB Alias 를이용하여데이터베이스에접속하기때문입니다. 위에서등록한 DB 정보는 List DB Directory 명령어로다음과같이확인할수있습니다. 참고 ) System DB Directory 에는로컬서버정보와 Remote 서버정보가모두포함되어있습니다. db2 => list db directory 데이터베이스별명노드이름디렉토리항목유형... = SAMPLE = NODENEO = 리모트 클라이언트에서데이터베이스서버에접속합니다. db2 => connect to <DB 별명 > user <User ID> using <Password> 앞에서등록한 DB 정보를 Uncatalog 명령어를통해 System DB Directory 에서삭제할수있습니다. 더이상접속할필요가없는데이터베이스에대한정보를삭제할경우사용할수있습니다. db2 => uncatalog db <DB Name> 앞에서등록한노드정보를 Uncatalog 명령어를통해 Node Directory 에서삭제할수있습니다. 더이상접속할필요가없는노드에대한정보를삭제할경우사용할수있습니다. db2 => uncatalog node <NODE Name> 26