複数のデータベースを持つDB2 9.7 LUWインスタンスがあります。特定のデータベースのバックアップをとろうとしていますが、Data Studioクライアントから、まだアクティブな接続があるため、失敗することが報告されています。
特定のデータベースへのアクティブな接続をすべてデータベースに強制的に削除するにはどうすればよいですか?ありがとう!
私は次の手順を使用し、それが動作します。
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/"
[〜#〜] offline [〜#〜]バックアップであると仮定すると、これは[〜#〜] deactivate [〜#〜] 'のいずれかで実行できます。データベースを使用するか、または[〜#〜] quisce [〜#〜]データベースを使用します。
データベースの[〜#〜] deactivate [〜#〜]の場合、以下の手順に従います:-
DB_NAME
、見つかった場合はFORCE APPLICATIONS ALLを使用して強制的にオフにしますDB_NAME
を使用してデータベースを非アクティブ化しますデータベースの[〜#〜] quisce [〜#〜]の場合、以下の手順に従います:-
DBNAME
に接続
QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS
接続リセット
オフラインバックアップをしようとしていると思います。 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
を使用してデータベース接続を監視し、停止する必要のあるアプリケーションを特定することもできます。
単一のコマンドでそれを行うことはできません。最初に接続をリストする必要があります。
LIST APPLICATIONS FOR DB <databasename>
次に、上記のリストによって返されたすべての数値アプリケーションハンドルを使用して、FORCE APPLICATION
ステートメントを発行します。
FORCE APPLICATION (1, 2, 3, 4, ...)