【oracle案例】ORA-00019

ORA-00019: maximum number of session licenses exceeded
Cause: All licenses are in use.
Action: Increase the value of the LICENSE MAX SESSIONS initialization
parameter.

报错现象:
 数据库的最大sessions数为1110,processes为1000,运行过程中,程序的最大连接数没有达到1000,但是连接的时候报错,提示ORA-00019.

解决办法:
 查看当前的license_max_sessions参数值:
  show parameter license_max_sessions;
  值为800;
 修改license_max_sessions值:
  alter system set license_max_sessions=1110 scope=both;
 查看修改之后的license_max_sessions值:
  show parameter license_max_sessions;
  值为1110;
原因分析:
数据库设置了最大会话sessions值为1110,而license_max_sessions的值为800,低于最大会话数,程序在测试过程中产生的连接数超过了800,当在创建新的会话时就遇到了ORA-00019错误,即数据库当前的参数不允许并发会话数超过800.

参考资料:
 LICENSE_MAX_SESSIONS 指定最大并发会话连接数。当达到最大值时,只有拥有RESTRICTED SESSION 权限的用户(默认只有DBA、SYS用户有)可以连接数据库。
 LICENSE_SESSIONS_WARNING 当最大并发会话数达到这个值时,用户连接数据库的时候会在alert日志中额外写一条warning记录,拥有RESTRICTED SESSION权限的用户登录数据库时,会提示最大并发会话数已经达到了warning阀值。
 LICENSE_MAX_USERS 指定数据库能创建的最大用户数。当达到阀值时,将无法创建数据库用户。
 oracle建议不要同时设置 LICENSE_MAX_USERS 和 LICENSE_MAX_SESSIONS。
 SESSIONS 指定数据库允许的最大会话数。根据并发用户数+后台进程数+10%的重复会话数来确定sessions的大小。ORACLE 11GR2中默认值为 (1.5*PROCESSES)+22.
 PROCESSES 指定在操作系统级别允许连接oracle数据库的最大并发用户进程数。在shared server模式下这个值可以设置的比较小。
 修改session数:alter system set sessions=335 scope=spfile;
 修改process数:alter system set processes=300 scope=spfile;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值