当前位置: 首页 > 知识库问答 >
问题:

如何在IBM Mainframe zos DB2上识别远程类型4 JDBC工作负载

钮晟
2023-03-14

我需要能够识别 IBM 大型机 DB2 v10 zos 数据库上的类型 4 jdbc 工作负载。

我们的大型机 db2 监视器可以筛选以下字段

SYSTEM ID
DB2 SUBSYSTEM ID
DATA SHARING GROUP
AUTHORIZATION ID
PLAN NAME
CONNECTION ID
OPERATOR ID
CORRELATION ID
DBRM/PACKAGE ID
BUFFER POOL ID
COLLECTION ID
LOCAL LOCATION
REQUESTING LOCATION
OTHER LOCATION
DATABASE.PAGESET
LOCK RESOURCE

我猜这些值中的许多是不可更改的。

然而,这些项目似乎可能的候选人

CONNECTION ID
CORRELATION ID
REQUESTING LOCATION
OTHER LOCATION

我的问题是:-

i)。可以在我的java客户端jdbc代码中设置“可能的候选人”吗?

二)。我如何设置这些“可能的候选人”?

如果我不能使用这些字段中的任何一个,那么我已经设法修改了与我的 JDBC 连接关联的 clientInfo,如 jdbc 跟踪的这个片段所示

[jcc][Time:2015-12-10-14:39:24.851][Thread:main][Connection@3b6eb2ec] getClientInfo () called
[jcc][Time:2015-12-10-14:39:24.851][Thread:main][Connection@3b6eb2ec] getClientInfo () returned {ClientUser=XXXXXX00, ApplicationName=db2jcc_application, ClientHostname=L0513039, ClientAccountingInformation=JCC04130L0513039                                      '}
[jcc][SystemMonitor:stop] core: 0.28737999999999997ms | network: 0.0ms | server: 0.0ms
[jcc][SystemMonitor:start] 
[jcc][Time:2015-12-10-14:39:24.852][Thread:main][Connection@3b6eb2ec] setClientInfo ({ApplicationName=crsJCC_application}) called
[jcc][SystemMonitor:stop] core: 3.613203ms | network: 0.0ms | server: 0.0ms
[jcc][SystemMonitor:start] 
[jcc][Time:2015-12-10-14:39:24.856][Thread:main][Connection@3b6eb2ec] getClientInfo () called
[jcc][Time:2015-12-10-14:39:24.856][Thread:main][Connection@3b6eb2ec] getClientInfo () returned {ClientUser=XXXXXX00, ApplicationName=xxxxxx_application, ClientHostname=L0513039, ClientAccountingInformation=JCC04130L0513039                                      '}
[jcc][SystemMonitor:stop] core: 0.24718099999999998ms | network: 0.0ms | server: 0.0ms
[jcc][Time:2015-12-10-14:39:24.857][Thread:main][Connection@3b6eb2ec] createStatement () called
[jcc][Time:2015-12-10-14:39:24.863][Thread:main][Connection@3b6eb2ec] createStatement () returned Statement@5ebec15
[jcc

在这种情况下,我修改了ClientInfo中的ApplicationName,我希望初始值是自定义的,例如初始值WAS'NT“ >”,但“开始时为”

共有1个答案

宗政欣可
2023-03-14

使用DB2DRiver,您应该能够像这样设置应用程序名称:

Properties p= new Properties();
p.put("user", "admin");
p.put("password", "secret");
p.put("clientProgramName", "xxxx_application");
Connection conn = DriverManager.getConnection(
    "jdbc:db2://localhost:50000/yourdb", props);

如果您使用的是DB2DataSource,请从IBM查看此信息:

       com.ibm.db2.jcc.DB2DataSource ds = 
          new com.ibm.db2.jcc.DB2DataSource();                                       

       ds.setDriverType(4);
       ds.setServerName("localhost");                             
       ds.setPortNumber(50000);                                   
       ds.setDatabaseName("sample");                              
       ds.setUser("username");                                  
       ds.setPassword("password");                              
       ds.setClientProgramName("My application");       

如本文所述:

客户端程序名称

指定在客户端的物理连接期间固定的应用程序 ID。此属性的值将成为 DB2 for z/OS 服务器上的相关标识。数据库管理员可以使用此属性将 DB2 for z/OS 服务器上的工作与客户机应用程序相关联。此属性的数据类型为字符串。最大长度为 12 个字节。如果此值为空,那么 IBM DB2 Driver for JDBC 和 SQLJ 将提供 db2jccthread-name 的值。

 类似资料:
  • 我试图在Composer 2环境中运行GKEStartPodOperator/KubernetesPodOperator任务,该环境在自动驾驶模式下使用GKE集群。我们有一个现有的Composer 1环境,GKE集群不处于自动驾驶模式。我们使用谷歌云平台服务(BigQuery、GCS等)进行身份验证的任务在Composer 2环境中失败,但在Composer 1环境中成功。 在日志文件中,我可以看

  • 问题内容: 如何可靠地确定一个对象是否具有numpy类型? 我意识到这个问题与鸭子类型的哲学背道而驰,但是我们的想法是确保一个函数(使用scipy和numpy)永远不会返回一个numpy类型,除非使用numpy类型进行调用。 这是在另一个问题的解决方案中提出的,但是我认为确定对象是否具有numpy类型的一般问题与应将其分开的原始问题相距甚远。 问题答案: 使用内置函数获取类型,然后可以使用该属性找

  • Google docu表示,工作负载标识可以用来授权GKE POD使用Google API提供的服务(而且效果很好)。它还表示,将有一个自动创建的标识池,名为PROJECT\u ID.svc。id.goog。 关于工作负载标识联合的Docu说:“您可以使用工作负载标识池来组织和管理外部标识。” 在我按照这里所述配置了工作负载标识(并且工作正常)之后,我正在尝试检索项目中现有的工作负载标识池,我希望

  • 问题内容: 我有以下示例未完成方法来比较给定对象的对象类型 该方法可以称为: 此方法实际上不起作用,请帮助我使其起作用 问题答案: 您忘记了: 请注意,此类代码通常是不良OO设计的标志。 还要注意,将对象的类与类进行比较,并使用instanceof是不一样的。例如: 是假的,而 是真的。 是否必须使用一个或另一个取决于您的要求。

  • 我最近一直在使用GKE工作负载标识特性。我想更详细地了解组件的工作原理。 GCP客户端代码(或其他语言SDK)适用于GCE元数据方法 我想现在对我来说主要的难题是验证呼叫舱的身份。最初我认为这将使用令牌评论API,但现在我不确定谷歌客户端工具如何知道使用安装到pod中的服务号令牌... 编辑后续问题: 问题1:在第2步和第3步之间,是对通过节点池上的设置GKE_metadata_服务器路由到GKE

  • 问题内容: 我真的很喜欢JVM的远程调试功能。但是我不知道它在内部如何工作。 我的假设:这是通过JVM功能完成的,其中正在运行的进程正在从附加的远程调试器(如IDE)下载/使用源代码。它知道当前堆栈跟踪的行,然后可以跳转到相应的IDE断点。然后,通过套接字或共享内存(远程调试器的设置)完成堆栈跟踪和应用程序状态的内部通信。 有没有人对此感兴趣的链接/资源? 问题答案: JVM的调试功能是通过Jav