Назад | Перейти на главную страницу

IBM DB2 9.7, принудительно установить все подключения к определенной базе данных

У меня есть экземпляр DB2 9.7 LUW с несколькими базами данных. Я пытаюсь сделать резервную копию определенной базы данных, но клиент Data Studio сообщает, что соединение все еще активно, поэтому оно не работает.

Как я могу заставить базу данных удалить все активные подключения к этой конкретной базе данных? Спасибо!

Вы не можете сделать это с помощью одной команды; вы должны сначала указать подключения:

LIST APPLICATIONS FOR DB <databasename>

Затем используйте все числовые дескрипторы приложения, возвращенные приведенным выше списком, чтобы выдать FORCE APPLICATION заявление:

FORCE APPLICATION (1, 2, 3, 4, ...)

Я использую следующие шаги, и это работает.

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/"

Я предполагаю, что вы пытаетесь сделать автономную резервную копию. Ты можешь использовать db2 FORCE APPLICATION ALL. Как указано в руководство:

ALL - All applications will be disconnected from the database server.

Хотя, прежде чем идти по силовому маршруту - предлагаю взглянуть на QUIESCE вместо этого или должным образом остановив приложение. Ваш процесс резервного копирования будет выглядеть примерно так:

# 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

Вы также можете использовать db2top для отслеживания подключений к базе данных и определения приложений, которые необходимо остановить.

Предполагая, что это НЕ В СЕТИ резервное копирование, это можно сделать либо ВЫКЛЮЧИТЬв базе данных или QUISCEв базе данных.

Для ВЫКЛЮЧИТЬВ базе данных выполните следующие действия: -

  • Подтвердите, что приложения не работают, используя СПИСОК ПРИЛОЖЕНИЙ ДЛЯ
    DB_NAME
    , и если их обнаружат, выньте их, используя ПРИЛОЖЕНИЯ FORCE ВСЕ
  • Деактивировать базу данных с помощью ОТКЛЮЧИТЬ БД DB_NAME

Для QUISCEВ базе данных выполните следующие действия: -

  • ПРИСОЕДИНИТЬСЯ DBNAME

  • QUIESCE DATABASE НЕМЕДЛЕННОЕ ПРИНУДИТЕЛЬНОЕ СОЕДИНЕНИЕ

  • ПОДКЛЮЧИТЬ СБРОС