这个问题有很多种原因,比如pfile文件、tnsnames.ora的配置,如果都正确,下面是一种常见的原因
解决过程:
查看一下数据库现有的进程数,是否已经达到参数processes的大小。
a.select count(*) from v$process; 取得数据库目前的进程数。
b.select value from v$parameter where name = 'processes'; 取得进程数的上限。
1、查看当前会话数、processes和sessions值,发现session数和2个参数的值已经非常逼近
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 10月 9 15:50:21 2006Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn / as sysdba
已连接。SQL> select count(*) from v$session;
COUNT(*)----------
45
SQL> show parameter processes
NAME TYPE VALUE
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 50
SQL> show parameter sessions
NAME TYPE VALUE
java_soft_sessionspace_limit integer 0l
icense_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 60
shared_server_sessions integer
2、修改processes和sessions值
SQL> alter system set processes=300 scope=spfile;
系统已更改。
SQL> alter system set sessions=335 scope=spfile;
系统已更改。
3、查看processes和sessions参数,但更改并未生效
SQL> show parameter processes
NAME TYPE VALUE
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 50
SQL> show parameter sessions
NAME TYPE VALUE
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 60
shared_server_sessions integer
4、重启数据库,使更改生效
SQL> shutdown
SQL> startup
SQL> show parameter processes
NAME TYPE VALUE
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 300
SQL> show parameter sessions
NAME TYPE VALUE
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 335
shared_server_sessions integer
其它:
ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
sessions=(1.1*process+5)
但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是/etc/proc/kernel 中semmns,这是unix系统的信号量参数。每个process会占用一个信号量。semmns调整后,需要重新启动unix操作系统,参数才能生效。不过它的大小会受制于硬件的内存或ORACLE SGA。范围可从200——2000不等。
semmns的计算公式为: SEMMNS>processes+instance_processes+system
processes=数据库参数processes的值 instance_processes=5(smon,pmon,dbwr,lgwr,arch)
system=系统所占用信号量。系统所占用信号量可用下列命令查出:
#ipcs -s
其中列NSEMS显示系统已占用信号量。
其它一些跟连接有关的参数,如 licence_max_sessions, licence_sessions_warning 等默认设置都为零,也就是没有限制。我们可以放心大胆地使用数据库了。
分享到:
相关推荐
在使用Oracle12cRAC(Real Application Clusters)数据库的过程中,可能会遇到客户端连接时出现ora-12520或ora-12516错误的问题。这两种错误代码分别表示“无法为服务找到可用实例”和“TNS:没有监听器”,通常与...
### 创建物化视图ORA-12014错误解决方法 #### 背景介绍 在Oracle数据库中,物化视图(Materialized View)是一种用于优化查询性能的重要工具。它预先计算并存储了复杂的查询结果,从而在实际查询时能够快速地返回...
关于WIN10系统使用oracle instant client 时候提示ORA-01019错误的解决方案,本方案是配置好环境变量后依然提示ORA-01019错误的解决方案,内附本人制作测试的全过程说明
用oracle数据库新建连接时遇到ora-12505,此问题解决后又出现ora-12519错误,郁闷的半天,经过一番折腾问题解决,下面小编把我的两种解决方案分享给大家,仅供参考。 解决方案一: 今天工作时在新建连接的时候遇到...
示例中的解决方案为: ```sql sys@sec> drop directory dpump_dir; -- 删除原有目录 Directory dropped. sys@sec> create directory dpump_dir as '/db_backup/dpump_dir'; -- 创建新的目录 Directory created. sys@...
### ora-12519错误解决方案 #### 一、问题概述 在Oracle数据库的日常运维与使用过程中,用户可能会遇到“ORA-12519”这一错误提示。此错误通常表明客户端尝试连接到Oracle服务时出现问题。具体来说,“ORA-12519, ...
在Oracle数据库管理与维护的过程中,遇到各种错误代码是家常便饭,其中“ORA-227101”错误虽然在题目...通过以上分析和解决方案,可以有效地应对和解决Oracle数据库中ORA-27101及相关错误,确保数据库服务的稳定运行。
NULL 博文链接:https://ajita.iteye.com/blog/1725304
解决方案** **第一步:验证DDL触发器状态** 首先需要确认DDL触发器的状态,这可以通过查询`dba_triggers`视图来完成: ```sql SQL> set linesize 999 SQL> select owner, trigger_name, trigger_type, triggering_...
### ORA-01033 错误解决方法 #### 概述 在数据库管理过程中,遇到诸如ORA-01033等错误代码是非常常见的。这些错误往往与数据库实例的状态、文件系统问题或是配置不当有关。ORA-01033 错误通常表示在启动或关闭...
### ORA-12514错误解决办法 #### 错误概述 ORA-12514是Oracle数据库中常见的一个错误,全称为“TNS:listener does not currently know of service requested in connect descriptor”。该错误表明客户端尝试连接到...
在深入探讨解决方案之前,我们首先需要了解ORA-29275错误的具体原因。这一错误的发生通常与以下因素有关: 1. **表中的VARCHAR2字段存储了多字节字符**:如果某个字段的数据类型为VARCHAR2,并且其长度限制不足以...
下面将对这两个错误进行详细解析,并给出相应的解决方案。 #### 二、ORA-00132: Syntax Error or Unresolved Network Name ##### 1. 错误含义 ORA-00132错误通常出现在网络配置不正确或数据库实例无法通过网络名...
- **解决方案**:检查Oracle文档和支持站点,获取更多关于此错误的信息。 ##### 错误: 54: Unknown error - **原因**:未知错误。 - **解决方案**:同样需要参考Oracle的支持资料来解决问题。 #### 适用范围 本...
本文将详细介绍这两种错误的原因、可能的解决方案,并提供一个实际案例来帮助读者更好地理解和处理此类问题。 #### ORA-01033 错误解析 **ORA-01033 错误概述** ORA-01033是Oracle数据库启动过程中遇到的一种常见...
本文将深入探讨ORA-01460错误的成因、影响以及提供一系列有效的解决方案,帮助数据库管理员和开发人员克服这一挑战。 ### ORA-01460错误概述 ORA-01460错误全称为“ORA-01460: unimplemented unreasonable ...
#### 四、解决方案 针对上述情况,可以采取以下步骤解决问题: 1. **扩大表空间**: - 修改表空间的最大限制,使其能够适应当前的数据增长需求。 - 使用ALTER TABLESPACE命令调整表空间大小,例如: ``` ALTER...
### ORA-01157 错误详解与解决方案 #### 错误代码与含义 ORA-01157 错误是 Oracle 数据库中一个常见的错误代码,其全称是:“ORA-01157: 无法识别/文件 - DBWR 文件”。这个错误通常发生在数据库启动过程中,当...
总结上述解决方法,面对从Oracle 10g到Oracle 11g的数据库链接认证问题,解决方案集中在密码认证的细节上。在Oracle 11g中默认开启的密码大小写敏感性需要特别注意,因为当从一个不区分密码大小写的旧版本数据库连接...
#### 四、解决方案步骤详解 根据提供的部分内容,下面详细介绍解决ORA-01041错误的具体步骤: 1. **启动Oracle配置和移植工具** - 打开Oracle的“配置和移植工具”中的“Net Configuration Assistant”。 2. **...