前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决Oracle XE报错ORA-12516(Oracle回话数超出限制)

解决Oracle XE报错ORA-12516(Oracle回话数超出限制)

作者头像
星哥玩云
发布2022-08-18 14:38:48
7570
发布2022-08-18 14:38:48
举报
文章被收录于专栏:开源部署

本地安装的OracleXEUniv—oracle特别版,免费用户可以自由使用,但有连接数量和存储限制。

最近遇到一个问题,当我的SSM项目连接本地数据库oracleXE后,我的navicat再连接时就会报错ORA-12516,就是oracle的会话数超出了限制,一般都是由于多次connect建立多个连接会话引起的,最后导致oracle无法响应新的请求,从而出现ora-12516错误。于是上网查找解决办法,下面方面亲测成功。

select count(*) from v$process;  --取得数据库目前的进程数 select value from v$parameter where name = 'processes';  --取得进程数的上限 alter system set session_cached_cursors=200 scope=spfile; alter system set session_max_open_files=200 scope=spfile; alter system set sessions=20 scope=spfile; alter system set license_max_sessions=200 scope=spfile; alter system set license_sessions_warning=200 scope=spfile; alter system set processes=200 scope=spfile;

select count(*) from v$process;  --取得数据库目前的进程数

开始执行时,结果为21

连接数量:select value from v$parameter where name = 'processes';  --取得进程数的上限

开始执行上述语句后,结果为40

执行上述修改后,重启oracle实例:

1. 如安装于 Windows 上,先运行 net stop oracleservicexe,再运行 net start oracleservicexe 即可。也可通过“服务”管理控制台重启 OracleServiceXE 服务。 2. 如安装于 Linux 上,先运行 /etc/init.d/oracle-xe start,再运行 /etc/init.d/oracle-xe stop 即可。

执行select value from v$parameter where name = 'processes';的结果为200,并且不会再报ORA-12516,成功连接,连接后再执行select count(*) from v$process;结果为41

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档