不能连接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显示的连接数和当前实际的连接数可能不同。
查询解决方法:
查看一下数据库现有的进程数,是否已经达到参数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。
查询数据库自启动以来最大的并发数量
修改最大连接数:
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——2000不等。
但是,Processes的修改不仅应该调整init<sid>.ora文件中的参数,而且应该调整OS的内核参数,象AIX,HPUX,Solaris,SCO,UNIXWare都是这样,OS的调整是需要重新启动的,而且这个参数的设置不能简单按照多少个终端要连到这个服务器上而定,最关键是考虑会有多少同时连上的session(在使用一些共享连接的中间件时,一般就不需要太大),当然还要考虑一些Oracle的后台进程,还有一些系统维护工作需要多一些连接等。
我的atmp大前置机器上对oracle调整的时候,其使用的是unixware操作系统,在做链接数调整的时候,要先对核心参数进行调整。
核心主要相关的参数的调整如下:
SHMMAX 1000000000
SHMMIN 1
SHMMNI 200
SHMSEG 15
SEMMNI 1000
SEMMSL 300
SEMMNS 230
SEMOPM 20
其中semmni,semmns,semmsl要加大,至少要比processes大18 ;
SEMMNI(10,10000;150):指定在核心中信号识别的数量。这是可以在任意给定时间被激活的唯一信号设置数量。缺省值是150。最大值由系统自动调整产生。
SEMMSL(25,300;150):指定每个信号识别中信号量的最大值。缺省值是25。
SEMMNS 除最大db外的所有db 的PROCESSES之和+2*最大db的PROCESSES+10*
实例数。如3个实例进程数分别为100、100、200,则=(100+100)+2*200+10*3=630
tyle="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体">SEMOPM(10,20;10):指定在每个系统调用semop中能够被执行的信号操作量的最大值。缺省值是10。
SHMMAX(131072,1073741824;524288):指定了共享内存部分大小的最大值。等于0.5
× 物理内存字节数
SHMMNI(10,1000;100):指定了系统范围内共享内存标识的最大值。
SHMSEG(6,15;6):指定了与每个进程相关连的共享内存块(或标识)的数量。缺省值是6。与每个进程相关连的共享内存块的最大值与进程拥有的未使用空间有关。因此,尽管一个进程拥有少于SHMSEG数值的共享内存块,它也有可能因为其有限的空间而不能与其它进程相联系。
init.ora中调整为:
processes = 50 # SMALL
#processes = 100 # MEDIUM
# processes = 200 # LARGE
From:http://gerrywxy.spaces.live.com/blog/cns!10FE174F8521A5F!206.entry
修改oracle 150 的最大连接数
使用sys,以sysdba权限登录:
c:"sqlplus /nolog
SQL>conn / as sysdba
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> alter system set processes=300 scope = spfile;
系统已更改。
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> create pfile from spfile;
文件已创建。
重启数据库,OK!
转至:http://edu.cnzz.cn/NewsInfo/26117.aspx
分享到:
相关推荐
当数据库连接数不够时,可能会出现客户端连接间歇性失败,报错 ORA-12519。 调整数据库连接数的步骤: 1. 查看当前会话数:使用SQL语句 `select count(*) from v$session;` 可以查看当前会话数。 2. 查看数据库...
JS间歇性向上滚动 JS间歇性向上滚动 JS间歇性向上滚动 JS间歇性向上滚动 JS间歇性向上滚动
在Istio环境中,间歇性连接重置问题是一个常见的挑战,尤其是在负载均衡和网络通信复杂的场景下。本文将深入探讨如何解决这个问题,基于题目中给出的【标题】"解决Istio中遇到的间歇性连接重置的问题1"和【描述】中...
利用开发板上的硬件资源,通过PIC18F452单片机控制蜂鸣器间歇性鸣叫,部分程序如下: void fengpro(void) { if(beepbit==1) { beep=1; if(++fengcon>20000) { fengcon=0; beepbit=0; } } else { ...
一个 NUnit 插件,它重试间歇性失败的测试。 为什么? 也许您有一个自动回归测试套件。 作为该套件的一部分,您的测试依赖于外部库、消耗远程资源或在不可靠的工具下运行。 然后你有一个运行这个测试套件的持续...
间歇性能源功率变化与数据中心的功率需求异步变化,容易产生供需不一致现象,给利用间歇性能源这种绿色计算思路带来了挑战。在对间歇性能源功率和数据中心功耗需求变化进行建模的基础上,提出了一种高效利用间歇性...
该文“间歇性新能源发电相关性分析”由张慧玲、喻洁、韩红卫和冯其芝等人撰写,他们分别来自宁夏回族自治区电力公司调度所和东南大学电气工程学院。文章中,作者们提出了利用经验分布函数来刻画风能和光伏发电的随机...
标题中的“含高渗透率间歇性能源的电力系统经济性影响研究”指的是在电力系统中,当可再生能源,特别是间歇性能源(如太阳能和风能)的占比大幅度增加时,对整个电力系统的经济性所带来的影响。这些能源的产量受天气...
间歇性循环滚动新闻。从下往上滚动。有在线demo
在 Vivado 软件中,打开 Hardware Manager,扫描 FPGA 器件,然后断电重启,可能会出现间歇性启动失败(FPGA 已经固化程序)。如果拔掉仿真器后,FPGA 能正常启动。这是由于 JTAG 仿真器的存在导致的。 问题原因 ...
### Boost PFC变换器间歇性分岔和混沌现象分析 #### 一、引言 Boost功率因数校正(Power Factor Correction,简称PFC)变换器作为一种广泛应用的电力电子设备,在工业界扮演着极其重要的角色。随着电力电子技术的...
然而由于这种绿色能源具有间歇性的特点,给计算机系统运行的稳定性带来了新挑战。提出一种数学建模方法,该方法可以较好地模拟不同云层和风力天气下,太阳能和风能相结合的可再生能源功率变化以及间歇性特点,并简单...
【分布式电源与间歇性电源出力不确定性】 随着全球能源危机和环保需求的增加,分布式电源,尤其是风能和太阳能等清洁可再生能源的并网成为研究热点。间歇性分布式电源,即风力发电和光伏发电,由于受天气条件影响,...
间歇性工作状态指的是热管在运行过程中,工质的循环不是连续的,而是呈现出周期性或间歇性的特点。 4. 实验研究方法:研究者搭建了一个测试平台,通过实验观测热管壁面温度的波动特性,分析热管在间歇性工作状态下...
微电网可靠性评估是微电网设计和运行中一个至关重要的问题,特别是当微电网内包含间歇性较强的分布式电源,如风机和光伏设备时,对供电可靠性的影响不容忽视。本文所述的微电网可靠性评估方法,针对的就是分布式电源...
《基于Lyapunov函数法的含间歇性新能源电网频率稳定性研究》这篇论文主要探讨了在新能源大规模并网背景下,如何确保电网频率稳定性的关键问题。随着太阳能、风能等清洁能源的广泛应用,由于其间歇性和不可控性,对...
"舰船中压电力系统间歇性接地故障判定方法研究" 舰船中压电力系统是舰船电力系统的核心组件之一,它们的可靠运行为舰船的安全运营提供了保障。然而,舰船中压电力系统也存在一些问题,例如间歇性接地故障,这种故障...
由于负载均衡器无法检测到NSG策略导致的拒绝连接,它将继续将流量发送到这些服务器,导致客户端请求被拒绝,呈现出间歇性的问题。 4. **运行状况探测配置不准确**:对于提供多种服务或具有多个监听端口的服务器(如...
### 数字万用表检测间歇性故障的关键知识点 #### 一、数字万用表(DMM)在检测间歇性故障中的应用 数字万用表(Digital Multimeter, DMM)是一种多功能电子测量仪器,可以用来测量电压、电流、电阻等多种电气参数...
在航天领域,航天器姿态控制系统的可靠性至关重要,因为任何故障都可能导致任务失败或严重的安全问题。间歇性故障是这类系统中特别棘手的问题,它们可能在系统运行期间突然出现,然后消失,使得诊断和修复变得困难。...