SSH到远程主机和managin db2数据库

时间:2015-07-20 17:58:32

标签: database bash ssh db2 sudo

我想在本地主机上执行bash脚本的远程主机上管理DB2数据库。

#!/bin/bash
host="80.80.80.80"
user="db2inst1"

DBname=DBNAME
db2="/opt/db2/db2inst1/sqllib/bin/db2"

ssh -t $host bash -c "'
sudo -u $user $db2 connect to $DBname
sudo -u $user $db2 quiesce database immediate force connections
'"

我连接到主机并连接到数据库。但看起来,在第一次命令后,与DB的连接重置,我得到下一个错误:

Database Connection Information

 Database server        = DB2/LINUXX8664 9.7.7
 SQL authorization ID   = DB2INST1
 Local database alias   = DBNAME

SQL1024N  **A database connection does not exist**.  SQLSTATE=08003
Connection to 80.80.80.80 closed.

如何永久保持与DB的连接?

1 个答案:

答案 0 :(得分:-1)

问题是每个sudo调用都会创建一个子shell。这意味着,每次通话都是独立的。

您正在执行一次调用以创建与数据库的连接。第二个停顿数据库。 您真正需要的是一系列要执行的命令:

    $("#table-1").sortable({
    helper: function(e, ui) {
         ui.children().each(function() {
             $(this).width($(this).width());
         });
         return ui;
    },
    items: "tbody"
}).disableSelection();