AngocA Asked: 2015-07-16 08:09:12 +0800 CST2015-07-16 08:09:12 +0800 CST 2015-07-16 08:09:12 +0800 CST DB2 中的应用程序 == 会话 == 连接? 772 我可以将 Applications、Sessions 和 Connections 视为 DB2 LUW 中的同义词吗? 在 db2top 中,我看到“会话”。有一个命令“db2 force applications”、视图和其他东西。从开发人员的角度来看,这是一个“连接” 在谈论连接时,我可以互换使用它们吗? db2 session 2 个回答 Voted Ian Bjorhovde 2015-07-16T10:07:02+08:002015-07-16T10:07:02+08:00 大多数情况下,从 DB2 的角度来看,application == connection == session 。 有人可能会争辩说,在使用连接集中器或数据库分区功能 (DPF) 的环境中,这些术语不一定总是相同,但出于所有意图和目的,可以安全地互换使用这些术语。 您还可以提出这样的论点,即从客户端来看,单个应用程序可以打开多个连接(即连接池),但这是 dba.stackexchange.com :-) Best Answer mustaccio 2015-07-16T10:46:08+08:002015-07-16T10:46:08+08:00 我认为您不应该将应用程序、连接和会话视为同义词。 应用程序是正在运行的软件程序的实例,具体化为操作系统进程。一个应用程序可能会也可能不会建立一个或多个与数据库的连接,但是,正如@IanBjorhovde 提到的,如果您从数据库管理器的角度来看它,您只知道那些已连接的应用程序,尽管多个连接最终会导致另一侧相同的应用程序。 我想由于历史原因,DB2 术语有点令人困惑:应该使用and而不是list applicationsor 。force applicationlist connectionsforce connection 当在应用程序和数据库之间建立连接时,将隐式创建一个会话。它是一个特定的上下文,即一组控制SQL语句执行的变量。但是,您可以在不终止连接的情况下切换会话,例如,通过更改连接中的可信上下文。
大多数情况下,从 DB2 的角度来看,application == connection == session 。
有人可能会争辩说,在使用连接集中器或数据库分区功能 (DPF) 的环境中,这些术语不一定总是相同,但出于所有意图和目的,可以安全地互换使用这些术语。
您还可以提出这样的论点,即从客户端来看,单个应用程序可以打开多个连接(即连接池),但这是 dba.stackexchange.com :-)
我认为您不应该将应用程序、连接和会话视为同义词。
应用程序是正在运行的软件程序的实例,具体化为操作系统进程。一个应用程序可能会也可能不会建立一个或多个与数据库的连接,但是,正如@IanBjorhovde 提到的,如果您从数据库管理器的角度来看它,您只知道那些已连接的应用程序,尽管多个连接最终会导致另一侧相同的应用程序。
我想由于历史原因,DB2 术语有点令人困惑:应该使用and而不是
list applications
or 。force application
list connections
force connection
当在应用程序和数据库之间建立连接时,将隐式创建一个会话。它是一个特定的上下文,即一组控制SQL语句执行的变量。但是,您可以在不终止连接的情况下切换会话,例如,通过更改连接中的可信上下文。