ORA-12520错误解决方法2010-11-17 11:00ORA-12520错误解决方法
ORA-12520听程序无法为请求的服务器类型找到可用的处理程序:
1)数据库是专用服务器,但是在tnsname.ora配置中设置了连接方式为shared,这种情况下打开tnsname.ora,
把(server = shared) 改成 (server = dedicate)
2)是由于process不够引起的
后来查看到v$process一直涨到140多,而我的数据库设置的是150.据此大致能断定process不够,用以下语句修改数据库的processes值
alter system set processes=500 scope=spfile(由于processes是静态参数,scope只能为spfile,在v$sgastate条件为'procesees'中可以看到会每个process会点4个字节),
重新启动数据库使新改的processes生效.再重新跑eclipse,就能正常启动了.
note:如果在hibernate中的hibernate.connection.provider_class选择的是c3p0的就会出这种情况,其它的好像不会.很奇怪为什么c3p0会打开那么多个processs, 在shared连势接方式下,shared_server即是一直连在数据库的process值,注意这点
当前的连接数
select count(*) from v$process;
设置的最大连接数(默认值为150)
select value from v$parameter where name = 'processes';
修改最大连接数
alter system set processes = 300 scope = spfile;
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务! 博客分类: 数据库
OracleSQL工作.最近开机后,打开PL/SQL 输入用户米 密码总报标题的错误。
我在两台机器都发现了这个错误,开始以为PL/SQL问题,结果用ORACLE的SQL PLUS问题依旧。
BAIDU了一下,找到了解决办法。
oracle 10G:
D:\oracle\product\10.1.0\db_1\NETWORK\ADMIN目录下的listener.ora文件。
问题都在这个文件上。
该文件原文如下:
# listener.ora Network Configuration File: D:\oracle\product\10.1.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
)
操作:
在 (SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(PROGRAM = extproc)
)
后面添加
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(SID_NAME = orcl)
)
网上的一些文章没注意这点,由于每个人的数据库SID不同。所以加的这段话的GLOBAL_DBNAME和SID_NAME
都是你的数据库的SID。而且ORACLE_HOME也不同要根据原文的ORACLE_HOME来写。
修改完的listener.ora为:
# listener.ora Network Configuration File: D:\oracle\product\10.1.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
)
重启服务。OK!!!
如果以上工作还没成功的话,那么就把(HOST = localhost) 的HOST改成你的实际IP地址,就算写127.0.0.1也可以。
分享到:
相关推荐
这类错误可以通过捕获通用的`ORA-xxxxx`错误代码来处理。 3. **用户自定义异常**:当开发者需要处理一些特定的情况时,可以自己定义异常。这种方式提供了更大的灵活性,可以根据具体的应用场景来定制错误处理逻辑...
ORA-01110: 数据文件 1: ‘XXXXXXXXXXXXXXXXXX\XXXXX1.DBF’ 一个项目做了Oracle主从数据库同步,通过Dataguard实现,从库服务器宕机,再开机的时候,从库无法启动,报“ORA-01196: 文件 1 由于介质恢复会话失败而不...
在Oracle数据库中,错误通常以ORA-xxxxx的形式出现,其中xxxxx是特定的错误编号。每个错误编号都对应一个特定的问题或异常情况,Oracle官方文档《Oracle Database Error Messages》中对这些错误进行了详细的解释和...
非预定义异常是指除预定义异常之外的其他 Oracle 错误,这些错误通常由 Oracle 的错误消息(ORA-xxxxx 形式)表示。例如,ORA-00942 表示“表或视图不存在”。对于这类异常,开发人员需要在程序中定义相应的异常处理...
#### 五、检查Alert日志(ORA-XXXXX) Alert日志是Oracle数据库中最主要的日志之一,它记录了重要的警告信息。下面的脚本可以帮助我们快速找到关键的错误信息: ```bash #!/bin/bash LOG_FILE="/u01/app/oracle/...
- `ORA-xxxxx`:错误代码,通过查询Oracle文档或在线资源可以找到对应的错误解释和解决方法。 以上仅是Oracle常用命令的一部分,实际使用中还需要结合具体的业务场景和需求,灵活运用并不断学习新的命令和功能。...
1. **ORA-00001: unique constraint (SYS.UK_XXXXX) violated** - **解释**:此错误表示尝试插入违反唯一约束的数据。这可能是由于尝试向设置了唯一索引的字段插入重复值导致的。 - **解决方案**: - 检查数据...
String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:xxxxx"; Connection conn = null; CallableStatement cstmt = null; try { Class.forName(driver); conn = DriverManager.getConnection(strUrl, "hyq",...
当遇到`ORA-01653`错误,表示无法在表空间`XXXXX`中为表`XXXXX.XXXXTABLE`扩展128个块时,需要采取措施扩展表空间。扩展表空间通常有两种方法: 1. 改变已有数据文件的大小: ```sql alter database datafile '表...
提示 1:一般情况下,如果表含有 long 字段,这样势必需大量的空间,系统会在每次插入新记录时,经常分配空间给表,不久就会出现:"ORA-01547:Failed to allocate extent of size xxxxx in tablespace 'xxxx' "此种...
提示 1:一般情况下,如果表含有 long 字段,这样势必需大量的空间,系统会在每次插入新记录时,经常分配空间给表,不久就会出现:"ORA-01547:Failed to allocate extent of size xxxxx in tablespace 'xxxx' "此种...
用户跟踪文件保存在`USER_DUMP_DEST`参数指定的目录中,文件格式为`ora_xxxxx.trc`,其中`xxxxx`为创建文件的进程号或线程号。 #### 二、Oracle跟踪事件详解 为了更好地诊断Oracle数据库中的问题,Oracle提供了一...
在服务器 A 上,修改服务名称文件 oracle_home/network/admin/tnsname.ora,增加名称对应 standby 静态注册服务,并配置为专用连接。 Step 7: 启动备库 在服务器 B 上,使用 sys 用户和 dba 方式连接到备库,执行...
kernel.shmmax = xxxxx*1024*2 kernel.shmmni=4096 kernel.shmall=2097152 kernel.sem=250 32000 100 128 fs.file-max=65536 net.ipv4.ip_local_port_range=1024 65000 ``` 在 `/etc/security/limits.conf` 文件中...
用户跟踪文件保存在`USER_DUMP_DEST`参数指定的目录中,文件格式为`oraxxxxx.trc`,其中`xxxxx`代表创建文件的进程号(或线程号)。 #### 二、Oracle跟踪事件详解 Oracle提供了一系列命令用于将数据库内部结构中...
1. 在 init.ora 文件中设置事件:设置格式如下: EVENT="eventnumber trace name eventname [forever,] [level levelnumber] : ......." 通过:符号,可以连续设置多个事件,也可以通过连续使用 event 来设置多个...