DB2 - Instância

Introdução

Uma instância é um ambiente lógico para o DB2 Database Manager. Usando instância, você pode gerenciar bancos de dados. Dependendo de nossos requisitos, você pode criar várias instâncias em uma máquina física. O conteúdo do diretório da instância é:

  • Arquivo de configuração do gerenciador de banco de dados
  • Diretório de banco de dados do sistema
  • Node Directory
  • Arquivo de configuração de nó [db2nodes.cfg]
  • Depurar arquivos, despejar arquivos

Para o DB2 Database Server, a instância padrão é “DB2”. Não é possível alterar a localização do diretório de instâncias após sua criação. Uma instância pode gerenciar vários bancos de dados. Em uma instância, cada banco de dados possui um nome único, seu próprio conjunto de tabelas de catálogo, arquivos de configuração, autoridades e privilégios.

Arquitetura de instância no produto DB2

Múltiplas instâncias

Você pode criar várias instâncias em um DB2Server no Linux, UNIX e Windows. É possível instalar vários DB2Servers em uma máquina física.

Criando instância no Linux

Você pode criar várias instâncias no Linux e UNIX se o DB2 Server estiver instalado como usuário root. Uma instância pode ser executada simultaneamente no Linux e UNIX de forma independente. Você pode trabalhar em uma única instância do gerenciador de banco de dados por vez.

Uma pasta de instância contém arquivos e pastas de configuração do banco de dados. O diretório da instância é armazenado em locais diferentes no Windows, dependendo das versões do sistema operacional.

Listagem de instâncias

O seguinte comando é usado para listar instâncias:

db2ilist

Este comando lista todas as instâncias disponíveis em um sistema.

Syntax:

db2ilist

Example:[Para ver quantas instâncias são criadas na cópia do DB2]

db2ilist

Output:

db2inst1 
db2inst2 
db2inst3

Comandos de ambiente de instância

Esses comandos são úteis para trabalhar com organização de instância no DB2 CLI.

Obter instância

Este comando mostra detalhes da instância atualmente em execução.

Syntax:

db2 get instance

Example:[Para ver a instância atual que ativou o usuário atual]

db2 get instance

Output:

The current database manager instance is : db2inst1

Definir instância

Para iniciar ou parar o gerenciador de banco de dados de uma instância no DB2 UDB, o seguinte comando é executado para a instância atual.

Syntax:

set db2instance=<instance_name>

Example:[Para organizar o ambiente “db2inst1” para o usuário atual]

set db2instance=db2inst1

db2start

Usando este comando, você pode iniciar uma instância. Antes disso, você precisa executar “set instance”.

Syntax:

db2start

Example:[Para iniciar uma instância]

db2start

Output:

SQL1063N DB2START processing was successful

db2stop

Usando este comando, você pode parar uma instância em execução.

Syntax:

db2stop

Output:

SQL1064N DB2STOP processing was successful.

Criação de uma instância

Vamos ver como criar uma nova instância.

db2icrt

Se você deseja criar uma nova instância, você precisa fazer login com o root. O id da instância não é um id de raiz ou um nome de raiz.

Aqui estão as etapas para criar uma nova instância:

Step1: Crie um usuário do sistema operacional, por exemplo.

Syntax:

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

Example: [Para criar um usuário, por exemplo, com o nome 'db2inst2' no grupo 'db2iadm1' e senha 'db2inst2']

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

Step2: Vá para o diretório da instância do DB2 no usuário root para criar uma nova instância.

Location:

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

Step3: Crie uma instância usando a sintaxe abaixo:

Syntax:

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

Example: [Para criar uma nova instância 'db2inst2' no usuário 'db2inst2' com os recursos 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.

Organizando a porta de comunicação e o host para uma instância

Edite o arquivo / etc / services e adicione o número da porta. Na sintaxe fornecida abaixo, 'inst_name' indica o nome da instância e 'inst_port' indica o número da porta da instância.

Syntax:

db2c_<inst name> <inst_port>/tcp

Example: [Adicionando o número da porta '50001 / tcp' para a instância 'db2inst2' com a variável 'db2c_db2inst2' no arquivo 'serviços']

db2c_db2inst2 50001/tcp

Syntax 1: [Atualizar a configuração do Database Manager com o nome do serviço. A seguinte sintaxe 'svcename' indica o nome do serviço da instância e 'inst_name' indica o nome da instância]

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

Example 1: [Atualizando a configuração do DBM com a variável svcename com o valor 'db2c_db2inst2' por exemplo 'db2inst2'

db2 update database manager configuration using svcename db2c_db2inst2

Output

DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.

Syntax 2: defina o protocolo de comunicação “tcpip” para a instância atual

db2set DB2COMM=tcpip

Syntax 3: [Parando e iniciando a instância atual para obter valores atualizados da configuração do gerenciador de banco de dados]

db2stop 
db2start

Atualizar uma instância

Você pode atualizar uma instância usando o seguinte comando:

db2iupdt

Este comando é usado para atualizar a instância dentro do mesmo lançamento de versão. Antes de executar este comando, você precisa parar o gerenciador de banco de dados da instância usando o comando “db2stop”. A sintaxe abaixo de “inst_name” indica o nome da instância do servidor db2 lançado ou instalado anteriormente, que você deseja atualizar para o release mais recente ou a versão do servidor db2 instalada.

Syntax 1: Para atualizar uma instância no modo normal

db2iupdt <inst_name>

Example1:

./db2iupdt db2inst2

Syntax 2: Para atualizar uma instância no modo de depuração

db2iupdt -D <inst_name>

Example

db2iupdt -D db2inst2

Atualizando uma instância

Você pode atualizar uma instância da versão anterior da cópia do DB2 para a versão atual recém-instalada da cópia do DB2.

db2iupgrade

No sistema Linux ou UNIX, este comando está localizado no diretório DB2DIR / instance. Nas sintaxes a seguir, “inst_name” indica a versão anterior da instância do DB2 e “inst_username” indica o usuário da instância de cópia do DB2 da versão instalada atual.

Syntax 2:

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

Example:

db2iupgrade -d -k -u db2inst2 db2inst2

Command Parameters:

-d : Ativa o modo de depuração.

-k : Mantém o tipo de instância pré-atualização se for suportado na cópia do DB2, de onde você está executando este comando.

Se você estiver usando o Superusuário (su) no Linux para o comando db2iupgrade, deverá emitir o comando “su” com a opção “-”.

Eliminando uma instância

Você pode descartar ou excluir a instância, que foi criada pelo comando “db2icrt”.

db2idrop

No sistema operacional Linux e UNIX, este comando está localizado no diretório DB2_installation_folder / instance.

Syntax: [na seguinte sintaxe, 'inst_username' indica o nome de usuário da instância e 'inst_name' indica o nome da instância]

db2idrop -u <inst_username> <inst_name>

Example: [Para descartar db2inst2]

./db2idrop -u db2inst2 db2inst2

Usando outros comandos com instância

Comando para descobrir em qual instância do DB2 estamos trabalhando agora.

Syntax 1: [para verificar a instância atual ativada pelo gerenciador de banco de dados]

db2 get instance

Output:

The current database manager instance is:  db2inst1

Syntax 2: [Para ver a instância atual com bits operacionais e versão de lançamento]

db2pd -inst | head -2

Example:

db2pd -inst | head -2

Output:

Instance db2inst1 uses 64 bits and DB2 code release SQL10010

Syntax 3: [Para verificar o nome da instância atualmente em funcionamento]

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 definir uma nova instância como padrão]

db2set db2instdef=<inst_name> -g

Example: [Para definir a instância recém-criada como uma instância padrão]

db2set db2instdef=db2inst2 -g