以下的文章会向你介绍Oracle并发连接数在什么的情况下是可以设置,在什么的情况下是不可以对其进行设置的,以及相关的查询解决方案的介绍。以下就是文章的具体内容的介绍,希望你会有所收获,
OERR: ORA-12519 TNS:no appropriate service handler found
客户端连接间歇性失败,报错ORA-12519
- Cause: the listener could not find any available service handlers that are
- appropriate for the client connection.
- Action: run "lsnrctl services" to ensure that the instance(s) have registered
- with the listener, and are accepting connections.
检查lsnrctl service ,instance已经注册,
状态显示ready时,可以连接。
- When the listener believes the current number of connections has reached maximum load,
- it may set the state of the service handler for an instance to "blocked" and begin refusing
- incoming client connections with either of the following errors: ora-12519 or ora-12516
采用服务动态注册的方式,由PMON 通过SERVICE_UPDATE 来得到目前连接情况,但SERVICE_UPDATE 有时间间隔,
所以,listener显示的Oracle并发连接数和当前实际的连接数可能不同。
查询解决方法:
查看一下数据库现有的进程数,是否已经达到参数processes的大小。
1.select count(*) from v$process; 取得数据库目前的进程数。
2.select value from v$parameter where name = 'processes'; 取得进程数的上限。
3.如已达到上限,修改initSID.ora中的processes的大小。
4.重新启动数据库到nomount状态下,执行create spfile from pfile; 并startup open。
查询数据库自启动以来***的并发数量
修改***Oracle并发连接数:
- alter system set processes = 300 scope = spfile;
重启数据库:
- shutdown immediate;
- startup;
查看当前有哪些用户正在使用数据
- SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine
- from v$session a, v$sqlarea b
- where a.sql_address =b.address order by cpu_time/executions desc;
2
有的时候我们需要调整oracle数据库的***链接数,而这个链接数的调整是在oacle下的dbs目录下init.ora文件中调整的。
Oracle并发连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
- sessions=(1.1*process+5)
但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是核心参数中的semmns,这是unix系统的信号量参数。每个process会占用一个信号量。semmns调整后,需要重新启动unix操作系统,参数才能生效。不过它的大小会受制于硬件的内存或ORACLE SGA。范围可从200
【编辑推荐】