DB2 - Instancia

Introducción

Una instancia es un entorno lógico para DB2 Database Manager. Con la instancia, puede administrar bases de datos. Según nuestros requisitos, puede crear varias instancias en una máquina física. Los contenidos del directorio de instancias son:

  • Archivo de configuración del administrador de base de datos
  • Directorio de bases de datos del sistema
  • Directorio de nodo
  • Archivo de configuración de nodo [db2nodes.cfg]
  • Depurar archivos, volcar archivos

Para DB2 Database Server, la instancia predeterminada es “DB2”. No es posible cambiar la ubicación del directorio de la instancia después de su creación. Una instancia puede administrar varias bases de datos. En una instancia, cada base de datos tiene un nombre único, su propio conjunto de tablas de catálogo, archivos de configuración, autorizaciones y privilegios.

Arquitectura de instancia en producto DB2

Múltiples instancias

Puede crear varias instancias en un DB2Server en Linux, UNIX y Windows. Es posible instalar varios DB2Servers en una máquina física.

Creando instancia en Linux

Puede crear varias instancias en Linux y UNIX si DB2 Server está instalado como usuario root. Una instancia puede ejecutarse simultáneamente en Linux y UNIX de forma independiente. Puede trabajar en una sola instancia del administrador de bases de datos a la vez.

Una carpeta de instancia contiene carpetas y archivos de configuración de la base de datos. El directorio de la instancia se almacena en diferentes ubicaciones en Windows según las versiones del sistema operativo.

Listado de instancias

El siguiente comando se usa para listar instancias:

db2ilist

Este comando enumera todas las instancias que están disponibles en un sistema.

Syntax:

db2ilist

Example:[Para ver cuántas instancias se crean en la copia de DB2]

db2ilist

Output:

db2inst1 
db2inst2 
db2inst3

Comandos del entorno de la instancia

Estos comandos son útiles para trabajar con la disposición de la instancia en la CLI de DB2.

Obtener Instancia

Este comando muestra detalles de la instancia actualmente en ejecución.

Syntax:

db2 get instance

Example:[Para ver la instancia actual que activó al usuario actual]

db2 get instance

Output:

The current database manager instance is : db2inst1

Establecer instancia

Para iniciar o detener el administrador de bases de datos de una instancia en DB2 UDB, se ejecuta el siguiente comando para la instancia actual.

Syntax:

set db2instance=<instance_name>

Example:[Para organizar el entorno "db2inst1" para el usuario actual]

set db2instance=db2inst1

db2start

Con este comando, puede iniciar una instancia. Antes de esto, debe ejecutar "establecer instancia".

Syntax:

db2start

Example:[Para iniciar una instancia]

db2start

Output:

SQL1063N DB2START processing was successful

db2stop

Con este comando puede detener una instancia en ejecución.

Syntax:

db2stop

Output:

SQL1064N DB2STOP processing was successful.

Creando una instancia

Veamos cómo crear una nueva instancia.

db2icrt

Si desea crear una nueva instancia, debe iniciar sesión con root. El ID de instancia no es un ID de root ni un nombre de root.

Estos son los pasos para crear una nueva instancia:

Step1: Crea un usuario del sistema operativo, por ejemplo.

Syntax:

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

Example: [Para crear un usuario, por ejemplo, con el nombre 'db2inst2' en el grupo 'db2iadm1' y la contraseña 'db2inst2']

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

Step2: Vaya al directorio de la instancia de DB2 en el usuario raíz para crear una nueva instancia.

Location:

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

Step3: Cree una instancia con la sintaxis siguiente:

Syntax:

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

Example: [Para crear una nueva instancia 'db2inst2' en el usuario 'db2inst2' con las características de 'ESE' (Enterprise Server Edition)]

./db2icrt -s ese -u db2inst2 db2inst2

Output:

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

Organizar el puerto de comunicación y el host para una instancia

Edite el archivo / etc / services y agregue el número de puerto. En la sintaxis que se proporciona a continuación, 'inst_name' indica el nombre de la instancia y 'inst_port' indica el número de puerto de la instancia.

Syntax:

db2c_<inst name> <inst_port>/tcp

Example: [Añadiendo el número de puerto '50001 / tcp', por ejemplo, 'db2inst2' con la variable 'db2c_db2inst2' en el archivo 'services']

db2c_db2inst2 50001/tcp

Syntax 1: [Actualizar la configuración del Administrador de base de datos con el nombre del servicio. La siguiente sintaxis 'svcename' indica el nombre del servicio de la instancia y 'inst_name' indica el nombre de la instancia]

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

Example 1: [Actualización de la configuración de DBM con la variable svcename con el valor 'db2c_db2inst2', por ejemplo, 'db2inst2'

db2 update database manager configuration using svcename db2c_db2inst2

Output

DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.

Syntax 2: establece el protocolo de comunicación "tcpip" para la instancia actual

db2set DB2COMM=tcpip

Syntax 3: [Deteniendo e iniciando la instancia actual para obtener valores actualizados de la configuración del administrador de base de datos]

db2stop 
db2start

Actualizar una instancia

Puede actualizar una instancia usando el siguiente comando:

db2iupdt

Este comando se utiliza para actualizar la instancia dentro de la misma versión. Antes de ejecutar este mandato, debe detener el gestor de bases de datos de instancias utilizando el mandato “db2stop”. La sintaxis debajo de “inst_name” indica el nombre de instancia del servidor db2 instalado o publicado anteriormente, que desea actualizar a un release más reciente o a la versión instalada del servidor db2.

Syntax 1: Para actualizar una instancia en modo normal

db2iupdt <inst_name>

Example1:

./db2iupdt db2inst2

Syntax 2: Para actualizar una instancia en modo de depuración

db2iupdt -D <inst_name>

Example

db2iupdt -D db2inst2

Actualizar una instancia

Puede actualizar una instancia de la versión anterior de la copia de DB2 a la versión actual recién instalada de la copia de DB2.

db2iupgrade

En el sistema Linux o UNIX, este comando se encuentra en el directorio DB2DIR / instance. En las siguientes sintaxis, "inst_name" indica la versión anterior de la instancia de DB2 y "inst_username" indica el usuario de la instancia de copia de DB2 de la versión instalada actual.

Syntax 2:

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

Example:

db2iupgrade -d -k -u db2inst2 db2inst2

Command Parameters:

-d : Activa el modo de depuración.

-k : Mantiene el tipo de instancia previa a la actualización si se admite en la copia de DB2, desde donde se ejecuta este comando.

Si está utilizando el superusuario (su) en Linux para el mandato db2iupgrade, debe emitir el mandato "su" con la opción "-".

Dejar caer una instancia

Puede descartar o suprimir la instancia, que fue creada por el mandato “db2icrt”.

db2idrop

En el sistema operativo Linux y UNIX, este comando se encuentra en el directorio carpeta_instalación_DB2 / instancia.

Syntax: [en la siguiente sintaxis, 'inst_username' indica el nombre de usuario de la instancia y 'inst_name' indica el nombre de la instancia]

db2idrop -u <inst_username> <inst_name>

Example: [Para eliminar db2inst2]

./db2idrop -u db2inst2 db2inst2

Usando otros comandos con instancia

Comando para averiguar en qué instancia de DB2 estamos trabajando ahora.

Syntax 1: [para verificar la instancia actual activada por el administrador de la base de datos]

db2 get instance

Output:

The current database manager instance is:  db2inst1

Syntax 2: [Para ver la instancia actual con bits operativos y versión de lanzamiento]

db2pd -inst | head -2

Example:

db2pd -inst | head -2

Output:

Instance db2inst1 uses 64 bits and DB2 code release SQL10010

Syntax 3: [Para comprobar el nombre de la instancia que funciona actualmente]

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: [Para establecer una nueva instancia como predeterminada]

db2set db2instdef=<inst_name> -g

Example: [Para organizar una instancia recién creada como instancia predeterminada]

db2set db2instdef=db2inst2 -g