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