ORA-00018: maximum number of sessions exceeded错误解决

一.错误描述

在indows客户端使用sqlplus工具,连接远程数据库服务器时,报了ORA-00018的错误,如下:

C:Documents and Settingsdujiabing>sqlplus aidu/*****@192.168.17.138:1521/aidu
SQL*Plus: Release 10.2.0.5.0 - Production on 星期三 3月 28 08:59:39 2012
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
ERROR:
ORA-00018: maximum number of sessions exceeded
请输入用户名:

[@more@]

二. 错误分析
[oracle@ocmdb ~]$ oerr ora 18
00018, 00000, "maximum number of sessions exceeded"
// *Cause: All session state objects are in use.
// *Action: Increase the value of the SESSIONS initialization parameter.

检查服务器端的sessions配置,如下:
SQL> show parameter sessions
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
sessions integer 555

统计当前的session数量,
SQL> select count(1) from v$session;

COUNT(1)
----------
17

当前的session数量为17 ,远小于最大session数量(555),不存在达到最大session数量的问题.

之前因为配置了shared server连接方式,设置相关参数,如下:
max_shared_servers
shared_server_sessions
shared_servers
dispatchers

可能是因为这些参数的配置,出了问题,导致了客户端无法连接,检查相关的参数值,如下:
SQL> show parameter shared_server

NAME TYPE VALUE
------------------------------------ --------------------------------- -----------
max_shared_servers integer 0 ##最多的shared server 进程
shared_server_sessions integer 0 ##分配给shared server的进程数
shared_servers integer 5 ##初始化的shared server进程数

SQL> show parameter dispatchers
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
dispatchers string (PROTOCOL=TCP)(dispatcher=5)
max_dispatchers integer

发现dispatchers参数设置有点问题(PROTOCOL=TCP)(dispatcher=5),应该修改为(PROTOCOL=TCP)(dispatchers=5)

SQL> alter system set dispatchers='(PROTOCOL=TCP)(dispatchers=5)' scope=both;
System altered.

修改了dispatchers参数,发现客户端还是无法正常登陆.
C:Documents and Settingsdujiabing>sqlplus aidu/soft@192.168.17.138:1521/aidu
ERROR:
ORA-00018: maximum number of sessions exceeded
请输入用户名:

SQL> alter system set max_shared_servers=20 scope=both;
System altered.

修改了max_shared_servers参数,发现客户端还是无法正常登陆.
C:Documents and Settingsdujiabing>sqlplus aidu/soft@192.168.17.138:1521/aidu
ERROR:
ORA-00018: maximum number of sessions exceeded
请输入用户名:

SQL> alter system set shared_server_sessions=5 scope=both;
System altered.

修改了shared_server_sessions 参数为非0值,发现客户端可以正常登陆了.

C:Documents and Settingsdujiabing>sqlplus aidu/******@192.168.17.138:1521/aidu
SQL*Plus: Release 10.2.0.5.0 - Production on 星期三 3月 28 11:12:31 2012
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options


三.问题总结
因为设置了dispatchers和shared_servers参数,启动了shared server模式,所以客户端缺省使用shared 方式进行数据库连接.
上面的问题是,没有设置分配给shared server的session数量,即参数shared_server_sessions=0,导致了客户端不能够连接.
修改shared_server_sessions参数为5(非0),客户端可以连接,问题得到解决.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/32980/viewspace-1057752/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/32980/viewspace-1057752/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ORA-01722: invalid number错误Oracle数据库中的一个常见错误,它表示在执行SQL语句时,尝试将一个无效的数字转换为数字类型。这个错误通常发生在以下几种情况下: 1. 数据类型不匹配:当尝试将一个非数字类型的值转换为数字类型时,就会出现这个错误。比如在关联表时,如果关联的值和类型不一致,Oracle会尝试将其隐式转换为数字类型,如果无法转换,就会报错。 2. 数据格式错误:当尝试将一个无效的数字格式转换为数字类型时,也会出现这个错误。比如在查询中使用了to_number函数,但是传入的参数不符合数字格式要求。 解决这个错误的方法有以下几种: 1. 检查数据类型:确保在进行数据转换时,源数据的类型和目标数据类型是匹配的。如果不匹配,可以考虑使用合适的转换函数或者修改数据类型。 2. 检查数据格式:如果使用了to_number函数或者其他需要数字格式的函数,确保传入的参数符合数字格式要求。可以使用合适的格式化函数或者修改数据格式。 3. 检查数据完整性:如果在关联表时出现了这个错误,可以检查关联的列中是否包含非数字类型的值。如果有,可以考虑修改数据或者使用合适的转换函数。 总之,ORA-01722: invalid number错误通常是由于数据类型不匹配或者数据格式错误导致的。通过检查数据类型、数据格式和数据完整性,可以解决这个错误。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [【问题处理】ORA-01722: invalid number (类型隐式转换)](https://blog.csdn.net/haiross/article/details/49153317)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [sql报错处理:ora-01722:invalid number](https://blog.csdn.net/qq_36703810/article/details/130172990)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值