现场有一个数据抽取的服务报错:“ORA-02396:超出最大空闲时间,请重新连接”。以前都没有问题,最近才出现的。
1. 先确认此数据库用户使用的资源计划,然后确认IDLE_TIME的值,此时为UNLIMITED,那不是由资源计划的配置引起的。
SQL> select username,profile from dba_users where username='TEST';
USERNAME PROFILE
------------------------------ ------------------------------
TEST DEFAULT
SQL> select resource_name,resource_type,limit from dba_profiles where profile='DEFAULT';
RESOURCE_NAME RESOURCE LIMIT
-------------------------------- -------- ----------------------------------------
COMPOSITE_LIMIT KERNEL UNLIMITED
SESSIONS_PER_USER KERNEL UNLIMITED
CPU_PER_SESSION KERNEL UNLIMITED
CPU_PER_CALL KERNEL UNLIMITED
LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
LOGICAL_READS_PER_CALL KERNEL UNLIMITED
IDLE_TIME KERNEL UNLIMITED
CONNECT_TIME KERNEL UNLIMITED
PRIVATE_SGA KERNEL UNLIMITED
FAILED_LOGIN_ATTEMPTS PASSWORD 10
PASSWORD_LIFE_TIME PASSWORD UNLIMITED
PASSWORD_REUSE_TIME PASSWORD UNLIMITED
PASSWORD_REUSE_MAX PASSWORD UNLIMITED
PASSWORD_VERIFY_FUNCTION PASSWORD NULL
PASSWORD_LOCK_TIME PASSWORD UNLIMITED
PASSWORD_GRACE_TIME PASSWORD UNLIMITED
2. 查看sqlnet.ora文件,看到SQLNET.EXPIRE_TIME = 10,这个就是罪魁祸首,删除后测试,问题解决。