您的位置:首页 > 数据库 > Oracle

oracle相关问题

2014-05-30 11:11 381 查看
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.ora改为如下:
SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = demo)

(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)

(SID_NAME = demo)

)

(SID_DESC =

(GLOBAL_DBNAME = ORCL)

(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)

(SID_NAME = ORCL)

)

)

LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = Colin)(PORT = 1521))

)

重启下监听

还有类似的一个问题解决办法:

昨天配置了oracle数据库,出现TNS问题
问题描述:

当配置完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


oracle能支持的最大连接数是多少


oracle能支持的最大连接数是多少


oracle能支持的最大连接数是多少


oracle能支持的最大连接数是多少

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: