IBM DB2 9.7强制特定数据库的所有连接

我有一个包含多个数据库的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/" 

我假设你正在尝试进行离线备份。 你可以使用db2 FORCE APPLICATION ALL 。 如手册中所列:

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

虽然在采取这种方式之前,我build议先看看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监视数据库连接,并确定需要停止的应用程序。

假设它是一个离线备份,这可以通过DEACTIVATE数据库或QUISCE数据库完成。

对于DEACTIVATE数据库,请按照以下步骤操作: –

  • 使用LIST APPLICATIONS FOR确认应用程序已closures
    DB_NAME ,如果发现使用FORCE APPLICATIONS ALL强制closures它们
  • 使用DEACTIVATE DB DB_NAME停用数据库

对于QUISCE数据库,请遵循以下步骤: –

  • 连接到DBNAME

  • 静态数据库立即连接

  • 连接重置

你不能用一个命令来做; 你必须先列出连接:

 LIST APPLICATIONS FOR DB <databasename> 

然后,使用上面列表返回的所有数字应用程序句柄来发出FORCE APPLICATION语句:

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