>데이터 베이스 >MySQL 튜토리얼 >关于ORA-02391问题的解决方法

关于ORA-02391问题的解决方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 15:10:242394검색

关于ORA问题的分析和解决其实是一个很好的学习思路,抓住一个每一个ORA错误,然后进一步分析一些原因,总结,总会有不一样的收获

关于ORA问题的分析和解决其实是一个很好的学习思路,抓住一个每一个ORA错误,然后进一步分析一些原因,总结,总会有不一样的收获,还是那句话,任何问题背后都是有原因的。

今天早上,开发的同事反馈说客户端中抛出了ORA错误。

ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit

希望我们能够帮忙看看是什么原因,怎么修复一下。

这个问题其实还是比较清晰的,就是在我们设置的profile中会定义对应session数限制,比如存在用户test,sessions_per_user为50,则test用户最多使用50个session.

默认的profile是DEFAULT ,在创建数据库之后会做基本的初始化,比如密码的过期时间等等

SQL> select *from DBA_PROFILES WHERE PROFILE='DEFAULT'
 PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
 ------------------------------ -------------------------------- -------- ----------------------------------------
 DEFAULT                        COMPOSITE_LIMIT                  KERNEL  UNLIMITED
 DEFAULT                        SESSIONS_PER_USER                KERNEL  UNLIMITED
 DEFAULT                        CPU_PER_SESSION                  KERNEL  UNLIMITED
 DEFAULT                        CPU_PER_CALL                    KERNEL  UNLIMITED
 DEFAULT                        LOGICAL_READS_PER_SESSION        KERNEL  UNLIMITED
 DEFAULT                        LOGICAL_READS_PER_CALL          KERNEL  UNLIMITED
 DEFAULT                        IDLE_TIME                        KERNEL  UNLIMITED
 DEFAULT                        CONNECT_TIME                    KERNEL  UNLIMITED
 DEFAULT                        PRIVATE_SGA                      KERNEL  UNLIMITED
 DEFAULT                        FAILED_LOGIN_ATTEMPTS            PASSWORD UNLIMITED
 DEFAULT                        PASSWORD_LIFE_TIME              PASSWORD UNLIMITED
 DEFAULT                        PASSWORD_REUSE_TIME              PASSWORD UNLIMITED
 DEFAULT                        PASSWORD_REUSE_MAX              PASSWORD UNLIMITED
 DEFAULT                        PASSWORD_VERIFY_FUNCTION        PASSWORD NULL
 DEFAULT                        PASSWORD_LOCK_TIME              PASSWORD UNLIMITED
 DEFAULT                        PASSWORD_GRACE_TIME              PASSWORD UNLIMITED
默认的profile DEFAULT中sessions_per_user是Unlimited,但是实际中我们为了限制资源的使用,还是会自定义profile,其实还是基于profile DEFAULT
 sql> select username,profile from dba_users where username=’ USER_TEST’;
USERNAME                      PROFILE
 ------------------------------ ------------------------------
 USER_TEST                  APP_TEST
这个时候可以看到对应的最大session数就是20了。
SQL> select * from dba_profiles where profile='APP_TEST';
 PROFILE            RESOURCE_NAME                    RESOURCE LIMIT
 ------------------ -------------------------------- -------- ----------------------------------------
 APP_TEST    COMPOSITE_LIMIT                  KERNEL  DEFAULT
 APP_TEST    SESSIONS_PER_USER                KERNEL  20
 APP_TEST    CPU_PER_SESSION                  KERNEL  DEFAULT
 APP_TEST    CPU_PER_CALL                    KERNEL  DEFAULT
 APP_TEST    LOGICAL_READS_PER_SESSION        KERNEL  DEFAULT
 APP_TEST    LOGICAL_READS_PER_CALL          KERNEL  DEFAULT
 APP_TEST    IDLE_TIME                        KERNEL  DEFAULT
 APP_TEST    CONNECT_TIME                    KERNEL  DEFAULT
 APP_TEST    PRIVATE_SGA                      KERNEL  DEFAULT
 APP_TEST    FAILED_LOGIN_ATTEMPTS            PASSWORD DEFAULT
 APP_TEST    PASSWORD_LIFE_TIME              PASSWORD DEFAULT
 APP_TEST    PASSWORD_REUSE_TIME              PASSWORD DEFAULT
 APP_TEST    PASSWORD_REUSE_MAX              PASSWORD DEFAULT
 APP_TEST    PASSWORD_VERIFY_FUNCTION        PASSWORD DEFAULT
 APP_TEST    PASSWORD_LOCK_TIME              PASSWORD DEFAULT
 APP_TEST    PASSWORD_GRACE_TIME              PASSWORD DEFAULT
基本知识介绍完毕。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.