【问题标题】:SSH to remote host and managin db2 databaseSSH 到远程主机和管理 db2 数据库
【发布时间】:2015-07-20 17:58:31
【问题描述】:

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

#!/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.

如何永久保持与数据库的连接?

【问题讨论】:

    标签: database bash ssh db2 sudo


    【解决方案1】:

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

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

    sudo -u $user "$db2 connect to $DBname ; $db2 quiesce database immediate force connections"
    

    【讨论】:

    • 不工作。 sh: -c: line 0: unexpected EOF while looking for matching sh: -c: line 3: syntax error: unexpected end of file Connection to 216.121.3.232 closed. ./clone_base.sh: line 20: /opt/db2/db2inst1/sqllib/bin/db2: No such file or directory
    猜你喜欢
    • 1970-01-01
    • 2017-03-31
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 2010-10-19
    相关资源
    最近更新 更多