DB2 - Instanz

Einführung

Eine Instanz ist eine logische Umgebung für DB2 Database Manager. Mithilfe der Instanz können Sie Datenbanken verwalten. Abhängig von unseren Anforderungen können Sie mehrere Instanzen auf einem physischen Computer erstellen. Der Inhalt des Instanzverzeichnisses ist:

  • Datenbankmanager-Konfigurationsdatei
  • Systemdatenbankverzeichnis
  • Knotenverzeichnis
  • Knotenkonfigurationsdatei [db2nodes.cfg]
  • Dateien debuggen, Dateien sichern

Für DB2 Database Server lautet die Standardinstanz "DB2". Es ist nicht möglich, den Speicherort des Instanzverzeichnisses nach seiner Erstellung zu ändern. Eine Instanz kann mehrere Datenbanken verwalten. In einer Instanz hat jede Datenbank einen eindeutigen Namen, einen eigenen Satz von Katalogtabellen, Konfigurationsdateien, Berechtigungen und Berechtigungen.

Instanzarchitektur im DB2-Produkt

Mehrere Instanzen

Sie können unter Linux, UNIX und Windows mehrere Instanzen in einem DB2Server erstellen. Es ist möglich, mehrere DB2Server auf einem physischen Computer zu installieren.

Instanz unter Linux erstellen

Sie können unter Linux und UNIX mehrere Instanzen erstellen, wenn DB2 Server als Root-Benutzer installiert ist. Eine Instanz kann unter Linux und UNIX gleichzeitig unabhängig voneinander ausgeführt werden. Sie können jeweils innerhalb einer einzelnen Instanz des Datenbankmanagers arbeiten.

Ein Instanzordner enthält Datenbankkonfigurationsdateien und -ordner. Das Instanzverzeichnis wird je nach Betriebssystemversion an verschiedenen Orten unter Windows gespeichert.

Instanzen auflisten

Der folgende Befehl wird zum Auflisten von Instanzen verwendet:

db2ilist

Dieser Befehl listet alle Instanzen auf, die auf einem System verfügbar sind.

Syntax:

db2ilist

Example:[Um zu sehen, wie viele Instanzen in der DB2-Kopie erstellt wurden]

db2ilist

Output:

db2inst1 
db2inst2 
db2inst3

Instanzumgebungsbefehle

Diese Befehle sind nützlich, um mit der Anordnung von Instanzen in der DB2-CLI zu arbeiten.

Bekomme Instanz

Dieser Befehl zeigt Details der aktuell ausgeführten Instanz an.

Syntax:

db2 get instance

Example:[Um die aktuelle Instanz anzuzeigen, die den aktuellen Benutzer aktiviert hat]

db2 get instance

Output:

The current database manager instance is : db2inst1

Instanz festlegen

Um den Datenbankmanager einer Instanz in DB2 UDB zu starten oder zu stoppen, wird der folgende Befehl für die aktuelle Instanz ausgeführt.

Syntax:

set db2instance=<instance_name>

Example:[So ordnen Sie die Umgebung "db2inst1" dem aktuellen Benutzer an]

set db2instance=db2inst1

db2start

Mit diesem Befehl können Sie eine Instanz starten. Vorher müssen Sie "set instance" ausführen.

Syntax:

db2start

Example:[So starten Sie eine Instanz]

db2start

Output:

SQL1063N DB2START processing was successful

db2stop

Mit diesem Befehl können Sie eine laufende Instanz stoppen.

Syntax:

db2stop

Output:

SQL1064N DB2STOP processing was successful.

Instanz erstellen

Lassen Sie uns sehen, wie Sie eine neue Instanz erstellen.

db2icrt

Wenn Sie eine neue Instanz erstellen möchten, müssen Sie sich mit root anmelden. Die Instanz-ID ist keine Root-ID oder ein Root-Name.

Hier sind die Schritte zum Erstellen einer neuen Instanz:

Step1: Erstellen Sie beispielsweise einen Betriebssystembenutzer.

Syntax:

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

Example: [So erstellen Sie einen Benutzer mit dem Namen 'db2inst2' in der Gruppe 'db2iadm1' und dem Kennwort 'db2inst2']

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

Step2: Wechseln Sie zum Erstellen einer neuen Instanz in das DB2-Instanzverzeichnis im Root-Benutzer.

Location:

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

Step3: Erstellen Sie eine Instanz mit der folgenden Syntax:

Syntax:

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

Example: [So erstellen Sie eine neue Instanz 'db2inst2' im Benutzer 'db2inst2' mit den Funktionen von 'ESE' (Enterprise Server Edition)]

./db2icrt -s ese -u db2inst2 db2inst2

Output:

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

Kommunikationsport und Host für eine Instanz anordnen

Bearbeiten Sie die Datei / etc / services und fügen Sie die Portnummer hinzu. In der unten angegebenen Syntax gibt 'inst_name' den Instanznamen und 'inst_port' die Portnummer der Instanz an.

Syntax:

db2c_<inst name> <inst_port>/tcp

Example: [Hinzufügen der Portnummer '50001 / tcp' zum Beispiel 'db2inst2' mit der Variablen 'db2c_db2inst2' in der Datei 'services']

db2c_db2inst2 50001/tcp

Syntax 1: [Aktualisieren Sie die Datenbankmanager-Konfiguration mit dem Dienstnamen. Die folgende Syntax 'svcename' gibt den Namen des Instanzdienstes an und 'inst_name' gibt den Namen der Instanz an]

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

Example 1: [Aktualisieren der DBM-Konfiguration mit der Variablen svcename mit dem Wert 'db2c_db2inst2' zum Beispiel 'db2inst2'

db2 update database manager configuration using svcename db2c_db2inst2

Output

DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.

Syntax 2: Legen Sie das Kommunikationsprotokoll „tcpip“ für die aktuelle Instanz fest

db2set DB2COMM=tcpip

Syntax 3: [Aktuelle Instanz stoppen und starten, um aktualisierte Werte aus der Datenbankmanager-Konfiguration zu erhalten]

db2stop 
db2start

Instanz aktualisieren

Sie können eine Instanz mit dem folgenden Befehl aktualisieren:

db2iupdt

Dieser Befehl wird verwendet, um die Instanz innerhalb derselben Versionsversion zu aktualisieren. Bevor Sie diesen Befehl ausführen, müssen Sie den Instanzdatenbankmanager mit dem Befehl "db2stop" stoppen. Die Syntax unter "inst_name" gibt den zuvor veröffentlichten oder installierten Namen der db2-Serverinstanz an, den Sie auf eine neuere Version oder installierte db2-Serverversion aktualisieren möchten.

Syntax 1: So aktualisieren Sie eine Instanz im normalen Modus

db2iupdt <inst_name>

Example1:

./db2iupdt db2inst2

Syntax 2: So aktualisieren Sie eine Instanz im Debugging-Modus

db2iupdt -D <inst_name>

Example

db2iupdt -D db2inst2

Aktualisieren einer Instanz

Sie können eine Instanz von einer früheren Version der DB2-Kopie auf die aktuell neu installierte Version der DB2-Kopie aktualisieren.

db2iupgrade

Unter Linux oder UNIX befindet sich dieser Befehl im Verzeichnis DB2DIR / instance. In den folgenden Syntaxen gibt "inst_name" die DB2-Instanz der vorherigen Version und "inst_username" den aktuell installierten Benutzer der DB2-Kopierinstanz der Version an.

Syntax 2::

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

Example::

db2iupgrade -d -k -u db2inst2 db2inst2

Command Parameters:

-d : Aktiviert den Debugging-Modus.

-k : Behält den Instanztyp vor dem Upgrade bei, wenn er in der DB2-Kopie unterstützt wird, von der aus Sie diesen Befehl ausführen.

Wenn Sie den Befehl Super User (su) unter Linux für db2iupgrade verwenden, müssen Sie den Befehl "su" mit der Option "-" ausgeben.

Eine Instanz löschen

Sie können die Instanz löschen oder löschen, die mit dem Befehl "db2icrt" erstellt wurde.

db2idrop

Unter Linux und UNIX befindet sich dieser Befehl im Verzeichnis DB2_installation_folder / instance.

Syntax: [In der folgenden Syntax gibt 'inst_username' den Benutzernamen der Instanz und 'inst_name' den Instanznamen an]

db2idrop -u <inst_username> <inst_name>

Example: [Zum Löschen von db2inst2]

./db2idrop -u db2inst2 db2inst2

Verwenden anderer Befehle mit Instanz

Befehl, um herauszufinden, an welcher DB2-Instanz wir gerade arbeiten.

Syntax 1: [um die vom Datenbankmanager aktivierte aktuelle Instanz zu überprüfen]

db2 get instance

Output:

The current database manager instance is:  db2inst1

Syntax 2: [Um die aktuelle Instanz mit Betriebsbits und Release-Version zu sehen]

db2pd -inst | head -2

Example:

db2pd -inst | head -2

Output:

Instance db2inst1 uses 64 bits and DB2 code release SQL10010

Syntax 3: [So überprüfen Sie den Namen der aktuell funktionierenden Instanz]

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: [So legen Sie eine neue Instanz als Standard fest]

db2set db2instdef=<inst_name> -g

Example: [Neu erstellte Instanz als Standardinstanz anordnen]

db2set db2instdef=db2inst2 -g