DB2 - Istanza

introduzione

Un'istanza è un ambiente logico per DB2 Database Manager. Usando l'istanza, puoi gestire i database. A seconda dei nostri requisiti, puoi creare più istanze su una macchina fisica. I contenuti della directory Instance sono:

  • File di configurazione del gestore database
  • Directory del database di sistema
  • Directory dei nodi
  • File di configurazione del nodo [db2nodes.cfg]
  • Debug di file, file di dump

Per DB2 Database Server, l'istanza predefinita è "DB2". Non è possibile modificare la posizione della directory dell'istanza dopo la sua creazione. Un'istanza può gestire più database. In un'istanza, ogni database ha un nome univoco, una propria serie di tabelle di catalogo, file di configurazione, autorizzazioni e privilegi.

Architettura dell'istanza nel prodotto DB2

Istanze multiple

È possibile creare più istanze in un DB2Server su Linux, UNIX e Windows. È possibile installare più DB2Server su una macchina fisica.

Creazione di istanze su Linux

È possibile creare più istanze su Linux e UNIX se DB2 Server è installato come utente root. Un'istanza può essere eseguita contemporaneamente su Linux e UNIX in modo indipendente. È possibile lavorare all'interno di una singola istanza del database manager alla volta.

Una cartella Instance contiene file e cartelle di configurazione del database. La directory Instance è archiviata in posizioni diverse su Windows a seconda delle versioni del sistema operativo.

Elenco delle istanze

Il comando seguente viene utilizzato per elencare le istanze:

db2ilist

Questo comando elenca tutte le istanze disponibili su un sistema.

Syntax:

db2ilist

Example:[Per vedere quante istanze vengono create nella copia DB2]

db2ilist

Output:

db2inst1 
db2inst2 
db2inst3

Comandi dell'ambiente dell'istanza

Questi comandi sono utili per lavorare con la disposizione dell'istanza nella CLI DB2.

Ottieni istanza

Questo comando mostra i dettagli dell'istanza attualmente in esecuzione.

Syntax:

db2 get instance

Example:[Per vedere l'istanza corrente che ha attivato l'utente corrente]

db2 get instance

Output:

The current database manager instance is : db2inst1

Imposta istanza

Per avviare o arrestare il database manager di un'istanza su DB2 UDB, viene eseguito il seguente comando per l'istanza corrente.

Syntax:

set db2instance=<instance_name>

Example:[Per organizzare l'ambiente "db2inst1" per l'utente corrente]

set db2instance=db2inst1

db2start

Usando questo comando, puoi avviare un'istanza. Prima di questo, è necessario eseguire "set instance".

Syntax:

db2start

Example:[Per avviare un'istanza]

db2start

Output:

SQL1063N DB2START processing was successful

db2stop

Utilizzando questo comando è possibile arrestare un'istanza in esecuzione.

Syntax:

db2stop

Output:

SQL1064N DB2STOP processing was successful.

Creazione di un'istanza

Vediamo come creare una nuova istanza.

db2icrt

Se vuoi creare una nuova istanza, devi accedere con root. L'ID istanza non è un ID root o un nome root.

Ecco i passaggi per creare una nuova istanza:

Step1: Creare un utente del sistema operativo, ad esempio.

Syntax:

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

Example: [Per creare un utente, ad esempio, con il nome "db2inst2" nel gruppo "db2iadm1" e la password "db2inst2"]

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

Step2: Vai alla directory dell'istanza DB2 nell'utente root per creare una nuova istanza.

Location:

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

Step3: Crea un'istanza utilizzando la sintassi seguente:

Syntax:

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

Example: [Per creare una nuova istanza "db2inst2" nell'utente "db2inst2" con le funzionalità di "ESE" (Enterprise Server Edition)]

./db2icrt -s ese -u db2inst2 db2inst2

Output:

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

Organizzazione della porta di comunicazione e dell'host per un'istanza

Modifica il file / etc / services e aggiungi il numero di porta. Nella sintassi fornita di seguito, "inst_name" indica il nome dell'istanza e "inst_port" indica il numero di porta dell'istanza.

Syntax:

db2c_<inst name> <inst_port>/tcp

Example: [Aggiunta del numero di porta "50001 / tcp" ad esempio "db2inst2" con la variabile "db2c_db2inst2" nel file "services"]

db2c_db2inst2 50001/tcp

Syntax 1: [Aggiorna la configurazione del gestore database con il nome del servizio. La seguente sintassi "svcename" indica il nome del servizio dell'istanza e "inst_name" indica il nome dell'istanza]

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

Example 1: [Aggiornamento della configurazione DBM con la variabile svcename con valore "db2c_db2inst2" ad esempio "db2inst2"

db2 update database manager configuration using svcename db2c_db2inst2

Output

DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.

Syntax 2: imposta il protocollo di comunicazione “tcpip” per l'istanza corrente

db2set DB2COMM=tcpip

Syntax 3: [Arresto e avvio dell'istanza corrente per ottenere valori aggiornati dalla configurazione del gestore database]

db2stop 
db2start

Aggiornamento di un'istanza

Puoi aggiornare un'istanza utilizzando il seguente comando:

db2iupdt

Questo comando viene utilizzato per aggiornare l'istanza all'interno della stessa versione di versione. Prima di eseguire questo comando, è necessario arrestare il gestore database dell'istanza utilizzando il comando "db2stop". La sintassi sotto "inst_name" indica il nome dell'istanza del server db2 precedentemente rilasciato o installato, che si desidera aggiornare alla versione più recente o alla versione del server db2 installata.

Syntax 1: Per aggiornare un'istanza in modalità normale

db2iupdt <inst_name>

Example1:

./db2iupdt db2inst2

Syntax 2: Per aggiornare un'istanza in modalità di debug

db2iupdt -D <inst_name>

Example

db2iupdt -D db2inst2

Aggiornamento di un'istanza

È possibile aggiornare un'istanza dalla versione precedente della copia DB2 alla versione corrente appena installata della copia DB2.

db2iupgrade

Su sistemi Linux o UNIX, questo comando si trova nella directory DB2DIR / istanza. Nelle seguenti sintassi, "inst_name" indica la versione precedente dell'istanza DB2 e "inst_username" indica la versione installata corrente dell'utente dell'istanza di copia DB2.

Syntax 2:

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

Example:

db2iupgrade -d -k -u db2inst2 db2inst2

Command Parameters:

-d : Attiva la modalità di debug.

-k : Mantiene il tipo di istanza pre-aggiornamento se è supportato nella copia DB2, da cui si esegue questo comando.

Se stai utilizzando il comando Super User (su) su Linux per db2iupgrade, devi emettere il comando "su" con l'opzione "-".

Far cadere un'istanza

È possibile rilasciare o eliminare l'istanza creata dal comando "db2icrt".

db2idrop

Su sistemi operativi Linux e UNIX, questo comando si trova nella directory cartella_installazione_DB2 / istanza.

Syntax: [nella seguente sintassi, "inst_username" indica il nome utente dell'istanza e "inst_name" indica il nome dell'istanza]

db2idrop -u <inst_username> <inst_name>

Example: [Per eliminare db2inst2]

./db2idrop -u db2inst2 db2inst2

Utilizzo di altri comandi con instance

Comando per scoprire su quale istanza DB2 stiamo lavorando.

Syntax 1: [per controllare l'istanza corrente attivata dal database manager]

db2 get instance

Output:

The current database manager instance is:  db2inst1

Syntax 2: [Per vedere l'istanza corrente con bit operativi e versione di rilascio]

db2pd -inst | head -2

Example:

db2pd -inst | head -2

Output:

Instance db2inst1 uses 64 bits and DB2 code release SQL10010

Syntax 3: [Per controllare il nome dell'istanza attualmente in funzione]

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: [Per impostare una nuova istanza come predefinita]

db2set db2instdef=<inst_name> -g

Example: [Per mettere in serie l'istanza appena creata come istanza predefinita]

db2set db2instdef=db2inst2 -g