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