是否有一个查询可以用来获取我可以同时使用的会话数量?我正在处理一些数据库连接并收到错误:
ORA-02391: 超出同时 SESSIONS_PER_USER 限制
如何获得此限制的值?
从这个查询开始,找出你正在使用的会话数
select count(*) from v$session where username='YourUser';
Run Code Online (Sandbox Code Playgroud)
然后找出您的用户的个人资料中允许的数量
select profile from dba_users where username ='YourUser';
Run Code Online (Sandbox Code Playgroud)
最后
select PROFILE, LIMIT
from dba_profiles
WHERE RESOURCE_NAME = 'SESSIONS_PER_USER'
AND PROFILE = 'YourUserProfile';
Run Code Online (Sandbox Code Playgroud)
和修复
Alter profile YourUserProfile limit SESSIONS_PER_USER 100;
Run Code Online (Sandbox Code Playgroud)
由于每个会话消耗资源,因此存在限制。如果你增加限制,一些仔细的计划是为了生产系统,所以你不会用完内存。
获取该用户的个人资料
select profile from dba_users where username = :who;
Run Code Online (Sandbox Code Playgroud)
然后获取该配置文件的资源限制
SELECT P1.LIMIT AS "Concurrent Sessions (Per User)"
FROM DBA_PROFILES P1
WHERE P1.PROFILE = :PROFILE
AND P1.RESOURCE_NAME = 'SESSIONS_PER_USER';
Run Code Online (Sandbox Code Playgroud)
或者
在 SQL Developer 中,打开 DBA 面板并浏览“安全”下的用户和配置文件
| 归档时间: |
|
| 查看次数: |
57760 次 |
| 最近记录: |