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