我需要一些有关 oracle 设置的帮助来重现我们遇到的一些问题并澄清一下,我根本不是 oracle 专家 - 没有这方面的经验。
我已经成功安装了 oracle-xe(因为它最简单且最小)并让我们的软件在其上运行。
现在,报告说,某些生产设置中的连接超时(长时间运行的脚本/程序)并且没有重新连接(甚至没有抛出异常)。所以这就是我想要重现的。
在互联网上浏览了一番后,我发现运行这些查询应该将我的连接和空闲时间限制为 1 分钟:
ALTER PROFILE DEFAULT LIMIT IDLE_TIME 1;
ALTER PROFILE DEFAULT LIMIT CONNECT_TIME 1;
ALTER SYSTEM SET RESOURCE_LIMIT = TRUE;
结果: SQL> select * from user_resource_limits where resource_name in ('IDLE_TIME','CONNECT_TIME');
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
IDLE_TIME 1
CONNECT_TIME 1
之后,我制作了一个简单的 php 脚本“test.php”,它运行一个查询 - 休眠,然后运行一个新查询。
require_once('our software');
$account1 = findAccount('email1@example.com');
sleep(100);
$account2 = findAccount('email2@example.com');
这不应该超时吗?
关于我正在运行的软件的一些额外细节:
- Centos 5
- 甲骨文快捷版
- php 5.3.5
- 使用 oci8(不是 pdo)