【发布时间】:2020-01-27 11:23:22
【问题描述】:
我已将 Oracle 配置为使用 DRCP 并设置 PHP 以连接到池连接,但是当我拉取连接统计信息时,命中率始终为零,而请求数和未命中数继续攀升。
CCLASS_NAME NUM_REQUESTS NUM_HITS NUM_MISSES NUM_WAITS WAIT_TIME CLIENT_REQ_TIMEOUTS
BIGTUNACAN.drcp_pooling_test 9828 0 9828 6 0 0
我在 tnsnames.ora 中的连接使用的是 SERVER = POOLED 并且我的 php.ini 设置了 drcp_pooling_test。
我现在不知道为什么永远不会使用缓存的连接。
TNS 条目如下
TESTPOOL.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = test-db.bigtunacan.com)(PORT = 1521))
)
(CONNECT_DATA =
(SID = TEST)
(SERVER = POOLED)
)
)
【问题讨论】:
-
你能发布整个 tns 条目吗?您是否连接到服务? (如果是这样,据我所知,DRCP 不适用于默认服务。)
-
@JonHeller 我已经添加了 tns 条目,只是替换了主机。我们使用的是 SID 而不是服务名称。
-
(SID=TEST) 可能是您的问题。您需要连接到服务,而不是 sid
-
@ConnorMcDonald 是否有一些 Oracle 文档对此进行了描述?我不反对;我只需要向 DBA 展示一些具体的东西。
-
不确定 - 我已经几十年没有使用过 SID(其他人也不应该使用)。早在 8i 中,服务就成为了推荐。如果没有看到您完成的整个 DRCP 设置,我们无法发表评论