- 浏览: 76316 次
- 性别:
- 来自: 苏州
最新评论
ora-12516 tns listener could not find available handler with matching protocol
- 博客分类:
- Oracle
公司数据库安装的是 Oracle10g XE(Oracle Database Express Edition 10g release 2)。 因我们组日益庞大,最近连接Oracle总出现ora-12516错误,百思不得其解。刚才CUUG群里在讨论oracle的session和connection的问题,一下提醒了我。上服务器看看了,确认了服务器端监听器和DB并没有问题,判断问题可能出现在客户端连接上。经过测试我的判断错了。查找ORA - 12516错误引起的原因,发现为Processes数量导致,Oracle的session和process的关系是sessions = 1.1*processes+5。 这样的话, 增加Processes的数量即可解决。最后的解决方案如下:
【注:session是个派生值,由processes的值决定,公式sessions=1.1*process+5】
方法1:通过SQLPLUS修改(我是这么做的)
login as: oracle
oracle@192.168.0.11's password:
Linux CEO-Server11 2.6.32-33-generic-pae #70-Ubuntu SMP Thu Jul 7 22:51:12 UTC 2011 i686 GNU/Linux
Ubuntu 10.04.3 LTS
Welcome to Ubuntu!
* Documentation: https://help.ubuntu.com/
System information as of Mon Mar 12 15:17:42 CST 2012
System load: 0.13 Temperature: 13 C
Usage of /: 5.2% of 452.76GB Processes: 146
Memory usage: 37% Users logged in: 0
Swap usage: 6% IP address for eth0: 192.168.0.11
Graph this data and manage this system at https://landscape.canonical.com/
96 packages can be updated.
73 updates are security updates.
Last login: Mon Feb 13 15:00:16 2012 from 192.168.0.221
$ sqlplus /nolog
-sh: sqlplus: not found
$ $ORACLE_HOME/bin/sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Mar 12 15:18:04 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 4
log_archive_max_processes integer 2
processes integer 40
SQL> alter system set processes=600 scope=spfile;
System altered.
SQL>
方法2:修改Oracle配置文件(网上说的)
值得注意的是,修改SPFILEORCL.ORA文件中的processes的值,在Oracle的不同版本中有所区别。Oracle9i以下版本中是init.ora文件, 在Oracle9i及更高版本中修改init.ora文件是无效的,这个文件由于是一个二进制的文件, 不能直接使用notepad些类的编辑器打开。否则会报错误ORA - 27101 Shared memory realm does not exist。 使用UltraEdit或者EditPlus之类的可以编辑二进制文件的编辑器打开些文件(直接编辑二进制文件), 然后再重新启动Oracle服务即可。
方法3:通过OEM(Oracle Enterprise Manager Console)在图形化管理器中修改(公司服务器没有图形化界面。苦逼啊只能用命令搞定,没办法这个也没用)
3.1 以系统管理员的身份登入
3.2 进入数据库的例程 - 配置 - 一般信息 - 所有初始化参数
3.3 修改processes的值
3.4 Sessions的值由公式sessions=1.1*process+5派生得到
【注:session是个派生值,由processes的值决定,公式sessions=1.1*process+5】
方法1:通过SQLPLUS修改(我是这么做的)
login as: oracle
oracle@192.168.0.11's password:
Linux CEO-Server11 2.6.32-33-generic-pae #70-Ubuntu SMP Thu Jul 7 22:51:12 UTC 2011 i686 GNU/Linux
Ubuntu 10.04.3 LTS
Welcome to Ubuntu!
* Documentation: https://help.ubuntu.com/
System information as of Mon Mar 12 15:17:42 CST 2012
System load: 0.13 Temperature: 13 C
Usage of /: 5.2% of 452.76GB Processes: 146
Memory usage: 37% Users logged in: 0
Swap usage: 6% IP address for eth0: 192.168.0.11
Graph this data and manage this system at https://landscape.canonical.com/
96 packages can be updated.
73 updates are security updates.
Last login: Mon Feb 13 15:00:16 2012 from 192.168.0.221
$ sqlplus /nolog
-sh: sqlplus: not found
$ $ORACLE_HOME/bin/sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Mar 12 15:18:04 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 4
log_archive_max_processes integer 2
processes integer 40
SQL> alter system set processes=600 scope=spfile;
System altered.
SQL>
方法2:修改Oracle配置文件(网上说的)
值得注意的是,修改SPFILEORCL.ORA文件中的processes的值,在Oracle的不同版本中有所区别。Oracle9i以下版本中是init.ora文件, 在Oracle9i及更高版本中修改init.ora文件是无效的,这个文件由于是一个二进制的文件, 不能直接使用notepad些类的编辑器打开。否则会报错误ORA - 27101 Shared memory realm does not exist。 使用UltraEdit或者EditPlus之类的可以编辑二进制文件的编辑器打开些文件(直接编辑二进制文件), 然后再重新启动Oracle服务即可。
方法3:通过OEM(Oracle Enterprise Manager Console)在图形化管理器中修改(公司服务器没有图形化界面。苦逼啊只能用命令搞定,没办法这个也没用)
3.1 以系统管理员的身份登入
3.2 进入数据库的例程 - 配置 - 一般信息 - 所有初始化参数
3.3 修改processes的值
3.4 Sessions的值由公式sessions=1.1*process+5派生得到
发表评论
-
Oracle的schema、方案、模式、用户
2012-12-07 12:11 1160今天才对这几个概念 ... -
DBMS_STATS.GATHER_TABLE_STATS详解
2012-08-15 15:12 1827作用:DBMS_STATS.GATHER_TABLE_S ... -
Oracle表连接操作——Merge Sort Join(合并排序连接)
2012-08-15 15:12 3362关系型数据库并不是最早出现的数据库表现形式,之前还存在层 ... -
Oracle表连接操作——Nest Loop Join(嵌套循环)
2012-08-15 15:12 7962关系型数据库并不是最 ... -
Oracle hash join
2012-08-15 15:13 1035hash join是oracle里面一个 ... -
Oracle表连接操作——Hash Join(哈希连接)下
2012-08-15 15:13 1651Hash Join是Oracle CBO时代经常出现的一 ... -
Oracle表连接操作——Hash Join(哈希连接)上
2012-08-14 14:19 13978在Oracle中,确定连接操作类型是执行计划生成的重要方 ... -
oracle 递归查询,向上和向下遍历
2012-08-14 11:10 19381--查询全部资源信息 select * from urm_cl ... -
ORACLE中Like与Instr性能大比拼(转)
2012-08-14 11:09 980http://zhaolinjnu.blog.sohu.com ... -
SQL语句优化技术分析
2012-08-14 11:08 968一、操作符优化1、IN 操 ... -
CBO和RBO介绍
2012-08-14 11:08 901Rule Based Optimizer(RBO) ... -
Install Oracle10gXE on Ubuntu Server using apt
2012-03-19 17:22 845With Oracle Database XE in prod ... -
Merge into 详细介绍
2012-03-15 15:40 952/*Merge into 详细介绍 MERGE ... -
CUUG《Oracle 监听和TNS配置》- 笔记
2012-02-24 22:07 2209监听负责多个实例 相关文件:Listener.ora和 ... -
批处理备份oracle
2012-02-24 22:07 843@echo off @title Oracle简易数据备份工具 ... -
oracle-ORA的原理
2012-02-07 14:15 10481、在一个应用环境当中,所有的服务器使用和管理同一个数据库,目 ... -
Oracle的卸载过程
2012-02-07 12:15 919修改注册表,在开始运行中执行regedit命令,进入注册表, ... -
创建表空间文件
2012-02-07 12:12 2258--1 创建表空间文件 --1.1 创建ASIT 实体表空间 ... -
SQL触发器实例讲解
2012-02-07 12:10 847SQL触发器实例1 定义: ... -
oracle 10g 默认用户名密码及解锁
2012-02-07 12:04 10021. 安装时选择的自动安装,忘了用户名和密码,导致现在试了几个 ...
相关推荐
### Oracle报错ORA-12516:TNS:listener could not find available handler with matching protocol stack #### 报错概述 在Oracle数据库环境中遇到ORA-12516错误时,通常意味着监听器无法找到与请求协议栈匹配的...
"ORA-12516 TNS 监听程序无法找到匹配协议栈的可用句柄" oracle 数据库是当前最流行的关系型数据库管理系统之一,然而,在使用 oracle 数据库时,经常会遇到各种错误信息,ORA-12516 错误信息便是其中之一。ORA-...
在使用 Oracle 10g 数据库时,可能会遇到“ORA-01034: ORACLE not available”和“ORA-27101: shared memory realm does not exist”等错误。这些问题通常出现在启动数据库服务时,比如执行 `startup` 命令之后出现...
ORA-12541 TNSno listener 的解决方案 ORA-12541 TNSno listener 的解决方案
oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法,需要的朋友可以参考一下
### ORA-12560 TNS 协议适配器错误详解 #### 一、概述 在Oracle数据库管理过程中,经常会遇到各种各样的错误提示,其中“ORA-12560 TNS: 协议适配器错误”是较为常见的一种。这种错误通常发生在客户端尝试连接到...
ORA-12518 TNS:监听程序无法分发客户机连接,在您安装好数据库后配置连接数据库的过程中遇到这类问题应该很头疼吧,不过,当您还是四处查资料来解决您遇到的另你头疼的问题时,如果不经意间看到了这则贴子,那请您升...
ora-12170 tns 连接超时问题解决方案 在本文中,我们将讨论 ora-12170 tns 连接超时问题的解决方案,该问题常见于客户端无法连接到服务器的情况。本文将从三个方面入手,分别是 tns 配置文件、服务器防火墙和路由...
### Oracle12cRAC数据库出现ora-12520, ora-12516问题解析 #### 一、问题概述 在使用Oracle12cRAC(Real Application Clusters)数据库的过程中,可能会遇到客户端连接时出现ora-12520或ora-12516错误的问题。这两...
实验得来的,不是随便copy的, ORA-12560TNS协议适配器错误,这个问题可定可以解决
### Oracle 错误 ORA-00132 和 ORA-00214 解析及处理 #### 一、错误概述 在Oracle数据库管理过程中,遇到ORA-00132和ORA-00214这类错误时,往往意味着数据库配置或启动过程中出现了问题。下面将对这两个错误进行...
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务的解决方法 Oracle 是一款功能强大且广泛应用的关系数据库管理系统,它提供了强大的数据存储和管理功能。但是,在使用 Oracle 时,用户经常会遇到各种错误...
ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
之前用PL/SQL DEVELOPER和SQLPLUS 登录数据库都没有问题,就是应用程序通过JDBC连接Oracle时无法成功连接,出现ORA-12505错误listener does not currently know of SID given in connect descriptor
### ORA-12154 TNS 无法解析指定的连接标识符 #### 问题概述 在使用Oracle数据库时,经常会遇到一个常见的错误提示:“ORA-12154: TNS: 无法解析指定的连接标识符”。此错误通常发生在尝试从客户端连接到服务器端...
ORA-12154_TNS无法解析指定的连接解决方法 包含多钟可能的情况的解决方式。
oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht
解决ORA-12560 TNS 协议适配器错误