Ⅰ exceeded maximum idle time,please connect again 数据库连接池怎么修改
可以对其进行修改。例如创建一个名称为idletime_profile的profile,并指定其中idle_time参数值是1,单位是分钟。
SQL> create profile idletime_profile limit idle_time 1;
Profile created.
并将该profile赋给用户bisal
SQL> alter user bisal profile idletime_profile;
User altered.
这样当用bisal登录到Oracle后,持续1分钟不干事,再次执行某个操作时就会报ORA-02396: exceeded maximum idle time, please connect again
Ⅱ 服务器oracle数据库存储满会出现数据延缓写入失败吗
会出现。根据查询搜狐网信息显示,数据缓存需要有缓存空间,在oracle数据库存储满时会出现数据延缓写入失败的提示,这时候就需要清理一下数据库的空间或者换一个别的数据库。
Ⅲ WebService连Oracle的连接池问题,提示连接池已满
根据我的猜想,这个主要有两可以从以下几个个方面出来
1、检查webservice与数据库之间是不是会有丢包的现象,优化webservice的数据库链接
2、查看数据库的数据量以及读写(i/o)情况,根据情况添加相应的索引或者采取一定的表的读写优化
3、添加数据库的pga,因为pga主要是管理数据的链接的。尽量减少不需要的数据库的排序和分组
Ⅳ 高手求助ORACLE 中Inactive状态的session连接数很多问题如何解决
服务器Oracle数据库出现问题,用不到半天,就会报maxsession(150)的问题,肯定是数据库的会话超过最大数了。
由于服务器跑的是文件传输应用,占用的请求和会话肯定很大,因此用户数不大就已经让oracle的会话数达到最大值。
处理方式不外乎两种:扩大oracle最大session数以及清除inactive会话,当然还有,就是从数据库连接池和程序bug上面下手。
从各处收集了一些查看当前会话的语句,记录一下:
1.select count(*) from v$session;
Sql代码
select count(*) from v$process;
查看当前总会话数和进程数,这两个视图就是跟会话及进程有关的重要视图啦,信息都是从这里面取的。
2.查询那些应用的连接数此时是多少
Sql代码
select b.MACHINE, b.PROGRAM , count(*) from v$process a, v$session b where a.ADDR = b.PADDR and b.USERNAME is not null group by b.MACHINE , b.PROGRAM order by count(*) desc;
3.查询是否有死锁
select * from v$locked_object;
如果查询结果为no rows selected,说明数据库中没有死锁。否则说明数据库中存在死锁。
接下来说明一下会话的状态:
1.active 处于此状态的会话,表示正在执行,处于活动状态。
2.killed 处于此状态的会话,表示出现了错误,正在回滚,当然,也是占用系统资源的。还有一点就是,killed的状态一般会持续较长时间,而且用windows下的工具pl/sql developer来kill掉,是不管用的,要用命令:alter system kill session 'sid,serial#' ;
3.inactive 处于此状态的会话表示不是正在执行的,比如select语句已经完成。我一开始以为,只要是inactive状态的会话,就是该杀,为什么不释放呢。其实,inactive对数据库本身没有什么影响,但是如果程序没有及时commit,那么就会造成占用过多会话。解决inactive的方法最好的就是在oracle中直接设置超时时间,也是有两种方法,区别暂时还不清楚:
1.修改sqlnet.ora文件,新增expire_time=x(单位是分钟)
我的sqlnet.ora位置在D:\oracle\ora92\network\admin
2.通过ALTER PROFILE DEFAULT LIMIT IDLE_TIME 10; 命令修改,记得重启下oracle。
Ⅳ oracle数据库连接池满怎么查
反唯一约束条件?应该是主键重复吧。解决的方法要看你用什么方法导入数据了。如果是oracle的import命令,可以设定参数,采用忽略错误导入的方式导入,或者无条件覆盖原数据。
Ⅵ oracle 如何增大连接池最大连接数
单纯靠增大max pool size=512 的值来增大连接数 应该并不能解决你的问题。应该正常的来说 512的连回接数已经足够多的了,入答股还出现超过连接数的话,说明你的代码里有大量的数据库连接没有关闭,造成连接池泄漏,需要重新检查你的源代码,一个数据库连接使用完毕后要及时关闭,否则你设置再大的连接数也没有用,只是网站崩溃的时间晚一点而已。
Ⅶ 求助#oracle数据库超出最大连接数
那就别一直都连着,操作完就断开连接,下次操作再连
Ⅷ 如何检查oracle数据库连接池配置
1. 有一个简单的函数从连接池中得到一个 Connection。
2. close 函数必须将connection 放回 数据库连接回池。
3. 当数据库连接池中没答有空闲的connection,数据库连接池必须能够自动增加connection 个数。
4. 当数据库连接池中的connection 个数在某一个特别的时间变得很大,但是以后很长时间只用其中一小部分,应该可以自动将多余的connection 关闭掉。
Ⅸ oracle链接超时问题,应该怎么设置
设置ORACLE的会话连接超时:
1、profile的idle_time限制
oracle用户的配置文件的密码策略是实时生效的,所见即所得。但是用户配置文件的资源限制是由resource_limit参数决定的。
单位是分钟,默认没记错的话应该是10分钟
要是修改的资源生效,需要设置resource_limit设置为true
alter system set resource_limit=true ;
如果在idle的时间内用户没有执行任何操作,会提示ORA-02396:exceeded maximum idle time, please connect again
2、profile的connect_time限制
默认是UNLIMITED,单位是分钟
用户在到达设置的时候后,不可以在继续操作,会提示ORA-02399: exceeded maximum connect time, you are being logged off
如果是设置1分钟,他会在将近2分钟的时候提醒你重新登录。
3、sqlnet的expire_time限制:
expire_time主要是在指定的时间去探测客户端是否可以连通,如果可以的话重新计时,否则就会断开
在执行rman的时候遇见:ORA-03135: connection lost contact,可以尝试将此值设置大些。(ID 729811.1)
4、sqlnet的inbound_connect_timieout_listener_name限制
单位是秒,默认值是60
Ⅹ oracle 数据库连接数被占满怎么处理
oracle 数据库连接数被占满怎么处理
只能设置很大,不能无限
当前的连接数
select count(*) from v$process;
设置的最大连接数(默认值为150)
select value from v$parameter where name = 'processes';