您的位置:首页 > 其它

ORA-12520错误解决方法/ora-01013 用户请求取消当前的操作

2014-03-31 17:22 369 查看
ORA-12520错误解决方法

ORA-12520听程序无法为请求的服务器类型找到可用的处理程序:

1)数据库是专用服务器,但是在tnsname.ora配置中设置了连接方式为shared,这种情况下打开tnsname.ora,

把(server = shared) 改成 (server = dedicate)

2)是由于process不够引起的

后来查看到v$process一直涨到140多,而我的数据库设置的是150.据此大致能断定process不够,用以下语句修改数据库的processes值

alter system set processes=500 scope=spfile(由于processes是静态参数,scope只能为spfile,在v$sgastate条件为'procesees'中可以看到会每个process会点4个字节),

重新启动数据库使新改的processes生效.再重新跑eclipse,就能正常启动了.

note: 如果在hibernate中的hibernate.connection.provider_class选择的是c3p0的就会出这种情况,其它的好像不会.很奇怪为什么c3p0会打开那么多个processs, 在shared连势接方式下,shared_server即是一直连在数据库的process值,注意这点

当前的连接数

select count(*) from v$process;

设置的最大连接数(默认值为150)

select value from v$parameter where name = 'processes';

修改最大连接数

alter system set processes = 300 scope = spfile;

===========================================================

ora-01013 用户请求取消当前的操作

在测试一个通过ODBC连接ORACLE数据库的vc程序时,总是出现该错误,估计应该是数据量比较大,导致的超时。 查到解决方法如下:

1。修改 $ORACLE_HOME/network/admin/sqlnet.ora . 添加或修改成:

sqlnet.expire_time = 0

这将关闭oracle的连接状态检测。

2。在ODBC管理中去掉 'Enable Query Timeout'复选框。

3。在程序中的连接数据库的字符串中添加

QTO=F,成为这样的连接字符串:“;DSN=DB;UID=a;PWD=b;QTO=F”

4。在Connection对象上设置SetQueryTimeout(0)。--这个很方便好用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: