Eu uso os seguintes passos e funciona.
db2 connect to TFBDW
db2 list application for database TFBDW
db2 QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS;
db2 "force application (39)"
db2 CONNECT RESET
db2 backup database TFBDW_U to "/tmp/dbbackup/"
Eu tenho uma instância do DB2 9.7 LUW com vários bancos de dados. Eu estou tentando fazer backup de um banco de dados específico, mas o cliente Data Studio informa que ainda há uma conexão ativa para que ele falhe.
Como posso forçar o banco de dados a remover todas as conexões ativas para esse banco de dados específico? Obrigado!
Eu uso os seguintes passos e funciona.
db2 connect to TFBDW
db2 list application for database TFBDW
db2 QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS;
db2 "force application (39)"
db2 CONNECT RESET
db2 backup database TFBDW_U to "/tmp/dbbackup/"
Suponho que você esteja tentando fazer um backup OFFLINE. Você pode usar db2 FORCE APPLICATION ALL
. Conforme listado em o manual :
ALL - All applications will be disconnected from the database server.
Apesar de você tomar a rota da força - sugiro dar uma olhada em QUIESCE
ou interromper o aplicativo corretamente. Seu processo de backup seria algo como isto:
# Stop your application
su - db2inst1 # Or whatever instance you have
timestamp=$(date +%Y-%m-%d-%H-%M)
mkdir backup-mydb-$timestamp
# Connect to your database and check existing connections
db2 CONNECT TO MYDB;
db2 list applications for database MYDB show detail
# QUISCE the database
db2 QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS;
db2 CONNECT RESET
# Perform the backup
db2 BACKUP DATABASE MYDB TO "/home/db2i2/backup-mydb-$timestamp" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING;
# UNQUISCE the database
db2 CONNECT TO MYDB
db2 UNQUIESCE DATABASE;
db2 CONNECT RESET;
# Test the backup
db2ckbkp -h backup-mydb-$timestamp/*
# Start your application
Você também pode usar db2top
para monitorar conexões de banco de dados e identificar quais aplicativos precisa parar.
Supondo que seja um backup OFFLINE , isso pode ser feito DESATIVAR 'o banco de dados ou QUISCE ' do banco de dados .
Para DESATIVAR o banco de dados, siga os passos abaixo: -
DB_NAME
e, se forem encontrados, forçá-los a usar FORCE APPLICATIONS
TODOS DB_NAME
Para o QUISCE 'da base de dados, siga os passos abaixo: -
CONECTE A DBNAME
CONEXÕES DE FORÇA IMEDIATA DO BANCO DE DADOS QUIESCE
CONECTAR RESET
Você não pode fazer isso em um único comando; você tem que listar as conexões primeiro:
LIST APPLICATIONS FOR DB <databasename>
Em seguida, use todos os identificadores de aplicativo numérico retornados pela lista acima para emitir a instrução FORCE APPLICATION
:
FORCE APPLICATION (1, 2, 3, 4, ...)
Tags db2