DB2-インスタンス

前書き

インスタンスは、DB2 DatabaseManagerの論理環境です。インスタンスを使用して、データベースを管理できます。要件に応じて、1台の物理マシンで複数のインスタンスを作成できます。インスタンスディレクトリの内容は次のとおりです。

  • データベースマネージャ構成ファイル
  • システムデータベースディレクトリ
  • ノードディレクトリ
  • ノード構成ファイル[db2nodes.cfg]
  • ファイルのデバッグ、ファイルのダンプ

DB2 Database Serverの場合、デフォルトのインスタンスは「DB2」です。作成後にインスタンスディレクトリの場所を変更することはできません。インスタンスは複数のデータベースを管理できます。インスタンスでは、各データベースには一意の名前、独自のカタログテーブルのセット、構成ファイル、権限、および特権があります。

DB2製品のインスタンスのアーキテクチャー

複数のインスタンス

Linux、UNIX、およびWindows上の1つのDB2Serverに複数のインスタンスを作成できます。物理マシンに複数のDB2Serverをインストールすることが可能です。

Linuxでインスタンスを作成する

DB2 Serverがrootユーザーとしてインストールされている場合は、LinuxおよびUNIXで複数のインスタンスを作成できます。インスタンスは、LinuxとUNIXで個別に同時に実行できます。一度にデータベースマネージャの単一のインスタンス内で作業できます。

インスタンスフォルダには、データベース構成ファイルとフォルダが含まれています。インスタンスディレクトリは、オペレーティングシステムのバージョンに応じて、Windowsのさまざまな場所に保存されます。

インスタンスの一覧表示

次のコマンドを使用して、インスタンスを一覧表示します。

db2ilist

このコマンドは、システムで使用可能なすべてのインスタンスを一覧表示します。

Syntax:

db2ilist

Example:[DB2コピーで作成されたインスタンスの数を確認するには]

db2ilist

Output:

db2inst1 
db2inst2 
db2inst3

インスタンス環境コマンド

これらのコマンドは、DB2CLIでインスタンスの配置を操作するのに役立ちます。

インスタンスを取得

このコマンドは、現在実行中のインスタンスの詳細を表示します。

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

このコマンドを使用して、インスタンスを開始できます。その前に、「setinstance」を実行する必要があります。

Syntax:

db2start

Example:[インスタンスを開始するには]

db2start

Output:

SQL1063N DB2START processing was successful

db2stop

このコマンドを使用すると、実行中のインスタンスを停止できます。

Syntax:

db2stop

Output:

SQL1064N DB2STOP processing was successful.

インスタンスの作成

新しいインスタンスを作成する方法を見てみましょう。

db2icrt

新しいインスタンスを作成する場合は、rootでログインする必要があります。インスタンス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:rootユーザーのDB2インスタンス・ディレクトリーに移動して、新しいインスタンスを作成します。

Location:

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

Step3:以下の構文を使用してインスタンスを作成します。

Syntax:

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

Example:[「ESE」(Enterprise Server Edition)の機能を使用して、ユーザー「db2inst2」に新しいインスタンス「db2inst2」を作成するには]

./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コピーでサポートされている場合は、アップグレード前のインスタンスタイプを保持します。

Linuxでdb2iupgradeコマンドにスーパーユーザー(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