DB2-인스턴스

소개

인스턴스는 DB2 데이터베이스 관리자의 논리적 환경입니다. 인스턴스를 사용하여 데이터베이스를 관리 할 수 ​​있습니다. 요구 사항에 따라 하나의 물리적 시스템에 여러 인스턴스를 만들 수 있습니다. 인스턴스 디렉토리의 내용은 다음과 같습니다.

  • 데이터베이스 관리자 구성 파일
  • 시스템 데이터베이스 디렉토리
  • 노드 디렉토리
  • 노드 구성 파일 [db2nodes.cfg]
  • 디버깅 파일, 덤프 파일

DB2 데이터베이스 서버의 경우 기본 인스턴스는 "DB2"입니다. 인스턴스 디렉토리를 만든 후에는 위치를 변경할 수 없습니다. 인스턴스는 여러 데이터베이스를 관리 할 수 ​​있습니다. 인스턴스에서 각 데이터베이스에는 고유 한 이름, 고유 한 카탈로그 테이블 세트, 구성 파일, 권한 및 권한이 있습니다.

DB2 제품의 인스턴스 아키텍처

여러 인스턴스

Linux, UNIX 및 Windows에서 하나의 DB2Server에 여러 인스턴스를 작성할 수 있습니다. 물리적 머신에 여러 DB2Server를 설치할 수 있습니다.

Linux에서 인스턴스 만들기

DB2 서버가 루트 사용자로 설치된 경우 Linux 및 UNIX에서 여러 인스턴스를 작성할 수 있습니다. 인스턴스는 Linux 및 UNIX에서 독립적으로 동시에 실행할 수 있습니다. 한 번에 데이터베이스 관리자의 단일 인스턴스 내에서 작업 할 수 있습니다.

인스턴스 폴더에는 데이터베이스 구성 파일과 폴더가 있습니다. Instance 디렉토리는 운영 체제 버전에 따라 Windows의 다른 위치에 저장됩니다.

인스턴스 나열

다음 명령은 인스턴스를 나열하는 데 사용됩니다.

db2ilist

이 명령은 시스템에서 사용 가능한 모든 인스턴스를 나열합니다.

Syntax:

db2ilist

Example:[DB2 사본에서 생성 된 인스턴스 수 확인]

db2ilist

Output:

db2inst1 
db2inst2 
db2inst3

인스턴스 환경 명령

이 명령은 DB2 CLI에서 인스턴스 배열 작업에 유용합니다.

인스턴스 가져 오기

이 명령어는 현재 실행중인 인스턴스의 세부 정보를 표시합니다.

Syntax:

db2 get instance

Example:[현재 사용자를 활성화 한 현재 인스턴스보기]

db2 get instance

Output:

The current database manager instance is : db2inst1

인스턴스 설정

DB2 UDB에서 인스턴스의 데이터베이스 관리자를 시작하거나 중지하기 위해 현재 인스턴스에 대해 다음 명령이 실행됩니다.

Syntax:

set db2instance=<instance_name>

Example:[ "db2inst1"환경을 현재 사용자에게 정렬하려면]

set db2instance=db2inst1

db2start

이 명령을 사용하여 인스턴스를 시작할 수 있습니다. 그 전에 "set instance"를 실행해야합니다.

Syntax:

db2start

Example:[인스턴스를 시작하려면]

db2start

Output:

SQL1063N DB2START processing was successful

db2stop

이 명령을 사용하여 실행중인 인스턴스를 중지 할 수 있습니다.

Syntax:

db2stop

Output:

SQL1064N DB2STOP processing was successful.

인스턴스 생성

새 인스턴스를 만드는 방법을 살펴 보겠습니다.

db2icrt

새 인스턴스를 생성하려면 루트로 로그인해야합니다. 인스턴스 ID는 루트 ID 또는 루트 이름이 아닙니다.

새 인스턴스를 만드는 단계는 다음과 같습니다.

Step1: 예를 들어 운영 체제 사용자를 만듭니다.

Syntax:

useradd -u <ID> -g <group name> -m -d <user location> <user name> 
-p <password>

Example: [예를 들어 'db2iadm1'그룹의 이름이 'db2inst2'이고 비밀번호가 'db2inst2'인 사용자를 작성하려면]

useradd -u 1000 -g db2iadm1 -m -d /home/db2inst2 db2inst2 -p db2inst2

Step2: 새 인스턴스를 작성하려면 루트 사용자의 DB2 인스턴스 디렉토리로 이동하십시오.

Location:

cd /opt/ibm/db2/v10.1/instance

Step3: 아래 구문을 사용하여 인스턴스를 만듭니다.

Syntax:

./db2icrt -s ese -u <inst id> <instance name>

Example: [ 'ESE'기능을 사용하여 사용자 'db2inst2'에서 새 인스턴스 'db2inst2'를 작성하려면 (Enterprise Server Edition)]

./db2icrt -s ese -u db2inst2 db2inst2

Output:

DBI1446I The db2icrt command is running, please wait.
 ….
 ….. 
DBI1070I Program db2icrt completed successfully.

인스턴스에 대한 통신 포트 및 호스트 배열

/ etc / services 파일을 편집하고 포트 번호를 추가하십시오. 아래의 구문에서 'inst_name'은 인스턴스 이름을, 'inst_port'는 인스턴스의 포트 번호를 나타냅니다.

Syntax:

db2c_<inst name> <inst_port>/tcp

Example: [ 'services'파일에 'db2c_db2inst2'변수가있는 인스턴스 'db2inst2'에 대한 '50001 / tcp'포트 번호 추가]

db2c_db2inst2 50001/tcp

Syntax 1: [데이터베이스 관리자 구성을 서비스 이름으로 업데이트합니다. 다음 구문 'svcename'은 인스턴스 서비스 이름을 나타내고 'inst_name'은 인스턴스 이름을 나타냅니다.]

db2 update database manager configuration using svcename db2c_&<inst_name>

Example 1: [인스턴스 'db2inst2'에 대해 값이 'db2c_db2inst2'인 변수 svcename으로 DBM 구성 업데이트

db2 update database manager configuration using svcename db2c_db2inst2

Output

DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.

Syntax 2: 현재 인스턴스에 대한 "tcpip"통신 프로토콜 설정

db2set DB2COMM=tcpip

Syntax 3: [데이터베이스 관리자 구성에서 업데이트 된 값을 가져 오기 위해 현재 인스턴스 중지 및 시작]

db2stop 
db2start

인스턴스 업데이트

다음 명령을 사용하여 인스턴스를 업데이트 할 수 있습니다.

db2iupdt

이 명령은 동일한 버전 릴리스 내에서 인스턴스를 업데이트하는 데 사용됩니다. 이 명령을 실행하기 전에 "db2stop"명령을 사용하여 인스턴스 데이터베이스 관리자를 중지해야합니다. "inst_name"아래 구문은 최신 릴리스 또는 설치된 db2 서버 버전으로 업데이트하려는 이전 릴리스 또는 설치된 db2 서버 인스턴스 이름을 나타냅니다.

Syntax 1: 일반 모드에서 인스턴스를 업데이트하려면

db2iupdt <inst_name>

Example1:

./db2iupdt db2inst2

Syntax 2: 디버깅 모드에서 인스턴스를 업데이트하려면

db2iupdt -D <inst_name>

Example

db2iupdt -D db2inst2

인스턴스 업그레이드

인스턴스를 이전 버전의 DB2 사본에서 새로 설치된 DB2 사본의 현재 버전으로 업그레이드 할 수 있습니다.

db2iupgrade

Linux 또는 UNIX 시스템에서이 명령은 DB2DIR / instance 디렉토리에 있습니다. 다음 구문에서 "inst_name"은 이전 버전 DB2 인스턴스를 나타내고 "inst_username"은 현재 설치된 버전 DB2 사본 인스턴스 사용자를 나타냅니다.

Syntax 2:

db2iupgrade -d -k -u <inst_username> <inst_name>

Example:

db2iupgrade -d -k -u db2inst2 db2inst2

Command Parameters:

-d : 디버깅 모드를 켭니다.

-k :이 명령을 실행중인 DB2 사본에서 지원되는 경우 사전 업그레이드 인스턴스 유형을 유지합니다.

db2iupgrade 명령에 Linux에서 수퍼 유저 (su)를 사용하는 경우 "-"옵션과 함께 "su"명령을 실행해야합니다.

인스턴스 삭제

"db2icrt"명령으로 생성 된 인스턴스를 삭제하거나 삭제할 수 있습니다.

db2idrop

Linux 및 UNIX 운영 체제에서이 명령은 DB2_installation_folder / instance 디렉토리에 있습니다.

Syntax: [다음 구문에서 'inst_username'은 인스턴스의 사용자 이름을, 'inst_name'은 인스턴스 이름을 나타냅니다.]

db2idrop -u <inst_username> <inst_name>

Example: [db2inst2를 삭제하려면]

./db2idrop -u db2inst2 db2inst2

인스턴스와 함께 다른 명령 사용

현재 작업중인 DB2 인스턴스를 찾는 명령입니다.

Syntax 1: [데이터베이스 관리자가 활성화 한 현재 인스턴스 확인]

db2 get instance

Output:

The current database manager instance is:  db2inst1

Syntax 2: [운영 비트 및 릴리스 버전이있는 현재 인스턴스보기]

db2pd -inst | head -2

Example:

db2pd -inst | head -2

Output:

Instance db2inst1 uses 64 bits and DB2 code release SQL10010

Syntax 3: [현재 작업중인 인스턴스 이름 확인하기]

db2 select inst_name from sysibmadm.env_inst_info

Example:

db2 select inst_name from sysibmadm.env_inst_info

Output:

INST_NAME  --------------------------------------  
db2inst1              
1 record(s) selected.

Syntax: [새 인스턴스를 기본값으로 설정하려면]

db2set db2instdef=<inst_name> -g

Example: [새로 생성 된 인스턴스를 기본 인스턴스로 배열]

db2set db2instdef=db2inst2 -g