1、 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
C:\>sqlplus sys/orcl@orcl as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 12月 30 13:02:30 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
但是用 sqlplus sys/orcl as sysdba 登录就可以,不知道这是什么,另一个库DEMO 一切正常.
为什么用sqlplus sys/orcl@orcl as sysdba 不行,用sqlplus sys/orcl as sysdba 就可以登录呢?listener.ora和tnsnames.ora如下
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = demo)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Colin)(PORT = 1521))
)
tnsnames.ora
DEMO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Colin)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = demo)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Colin)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
问题描述: 当配置完listener和tnsname后,在确认listener服务有正常启动的前提下,在sqlplus下尝试连接数据库,返回以下错误: ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务 ORA-12514: TNS:listener does not currently know of service requested in connect descriptor 解决方法: 在listener.ora文件中添加以下内容: (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = D:\oracle\product\10.2.0\db_1) (SID_NAME = orcl) ) 注意:orcl为数据库名,D:\oracle\product\10.2.0\db_1为$ORACLE_HOME的路径,修改后的listener.ora文件内容如下: # listener.ora Network Configuration File: e:\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 = e:\oracle\product\10.1.0\Db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = D:\oracle\product\10.2.0\db_1) (SID_NAME = orcl) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = linewell-d29e66.mshome.net)(PORT = 1521)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ) ) |
2、修改oracle processes参数过大导致oracle启动不了解决方法
相关链接:
http://fronkx.blog.hexun.com/33704658_d.html
http://wenku.baidu.com/link?url=9toLgeyh17EvGla8v6leENxIlqIQ7aZg-O2z2yCE4oZhfuyUk47IvVw3q4N4RbfvaO9YUwH0Q3ToJlx7fSDIL49Z7gQQmeUffmkhJYHkLdq
由于系统偶尔会出现数据库连接异常,页面中已经有了数据库的关连接.后来发现oracle maximum(150) of processes的错误.
后来就将此值加大.
在dos下执行以下命令
C:/Documents and Settings/Administrator>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 3月 15 11:07:11 2010
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn /as sysdba
已连接。
SQL> alter system set processes=4000 scope=spfile;
系统已更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 241769832 bytes
Fixed Size 453992 bytes
Variable Size 213909504 bytes
Database Buffers 25165824 bytes
Redo Buffers 2240512 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
db_writer_processes integer 2
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 4000
到这里可以算已经结束了.
我又做了一个操作
SQL> alter system set processes=5000 scope=spfile;
系统已更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORA-00064: object is too large to allocate on this O/S (1,4800000)
出事拉.数据库启动不了了...............后悔呀,幸亏是测试服务器,不然完了
通过找资料又学了点,通过pfile来启动数据库.然后重建spfile了,试试看拉:
SQL> startup pfile='E:/oracle/admin/shtyj/pfile/init.ora.211201010752';
ORACLE 例程已经启动。
Total System Global Area 136911732 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 2240512 bytes
数据库装载完毕。
数据库已经打开。
SQL>create spfile from pfile='D:\ora11g\admin\orcl\pfile\init.ora.4262009164718'
文件已创建。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 136911732 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 2240512 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- --------
aq_tm_processes integer 1
db_writer_processes integer 2
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 150
终于好了.在设置成4000吧,反正内存大的很
3、oracle能支持设置的最大连接数是多少?
相关链接:http://bbs.csdn.net/topics/370018225