oracle-12514怎么解决

=======================listener.ora文件=====================

# listener.ora Network Configuration File: d:\oracle\product\10.2.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.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORACLE)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORACLE)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = hp-PC)(PORT = 1521))
)
)

========================================================
其实应该是IP的问题,应为我换了一个局域网,就变成这样了,以前都是好好的
========================tnsnames.ora
DABAI =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dabai)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)

原因如下:

Oracle数据库,数据库服务名默认的是ORCL,需要改为XE才可以。

解决方法:

1、打开Navicat,输入主机名:127.0.0.1

2、修改服务名为:XE

3、接着输入用户名密码之后,单击连接测试

扩展资料:

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

参考资料:Oracle数据库-百度百科

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-20

分析如下:

原因是由于使用的是OracleXE数据库,数据库服务名默认是ORCL要改为XE才可以。

1、打开Navicat,输入主机名:127.0.0.1

2、修改服务名为:XE

3、接着输入用户名密码之后,单击连接测试

扩展资料

它由至少一个表空间和数据库模式对象组成。这里,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同义词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和范围,用于描述怎样使用数据库的物理空间。

总之,逻辑结构由逻辑存储结构(表空间,段,范围,块)和逻辑数据结构(表、视图、序列、存储过程、同义词、索引、簇和数据库链等)组成,而其中的模式对象(逻辑数据结构)和关系形成了数据库的关系设计。

段(Segment):

是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。

其中包括:

数据段:用来存放表数据;

索引段:用来存放表索引;

临时段:用来存放中间结果;

回滚段:用于出现异常时,恢复事务。

范围(Extent):是数据库存储空间分配的逻辑单位,一个范围由许多连续的数据块组成,范围是由段依次分配的,分配的第一个范围称为初始范围,以后分配的范围称为增量范围。

数据块(Block):

是数据库进行IO操作的最小单位,它与操作系统的块不是一个概念。oracle数据库不是以操作系统的块为单位来请求数据,而是以多个Oracle数据库块为单位。

参考资料:百度百科 Oracle数据库的逻辑结构

本回答被网友采纳
第2个回答  2012-07-12
(ADDRESS = (PROTOCOL = TCP)(HOST = hp-PC)(PORT = 1521))
把HOST 后面的机器名用ip代替呢?服务器应该是静态地址吧追问

没用

追答

那就是机器名问题,你直接在cmd下ping hp-PC肯定找不服务器了,如果ping它的ip也不可达,那就是要让网管配置两个网段的路由

第3个回答  2012-07-13
客户端的本地网络服务名配置了吗?

就是tnsnames.ora中的信息。

文件呢?

你的数据库服务器是本机吧?
1. 看你的listener.ora中用的是机器名称,所以只要不修改机器名称,应该没有问题 2. 另外看你的tnsnames.ora中的 HOST = ? ,看此处的是是否正确(如果是本机,直接localhost 即可)追问

是本机的,我所有的HOST都改成localhost还是不行啊

追答

我看你的listener.ora中有sid=oracle的信息:
(SID_DESC =
(GLOBAL_DBNAME = ORACLE)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORACLE)
)

而tnsnames.ora中
用的却是SERVICE_NAME = dabai
DABAI =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dabai)
)
)

这明显不是一个实例嘛?

你用的到底是哪个呢 ?

追问

我不清楚啊,我的监听事件名字叫做dabai、数据库名字叫做ORACLE

追答

1. 能不能贴出你的windows的关于Oracle服务的名称,特别是那个OracleServiceXXX格式的

2. 把tnsnames.ora中的信息修改成如下,试试:
用的却是SERVICE_NAME = dabai
DABAI =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID=ORACLE)
)
)

本回答被提问者采纳
第4个回答  推荐于2017-09-10
ora-12514的错误的原因有很多。但无外乎以下几种:
1)、 ORA-12541: TNS: 没有监听器
显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:
$ lsnrctl start或
C:lsnrctl start
2)、 ORA-12154: TNS: 无法处理服务名
检查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:oracleora92networkadmin tnsnames.ora,Linux/Unix下/network/admin/tnsnames.ora)里每项服务的首 行服务名称前不能有空格。
3)、 ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME
打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。同时检查sqlnet.ora,例如如果想要采用简便连接方式连接就需要在NAMES.DIRECTORY_PATH参数中添加EZCONNECT。
4)、Ora-12514:TNS:监听程序当前无法识别链接描述符中请求的服务
该问题是由于缺少监听器的SID_LIST描述项引起的,采用netca进行配置的时候经常会遇到该问题,listener.ora示例如下
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/9.2.0.4)
(PROGRAM = extproc))
(SID_DESC =
(GLOBAL_DBNAME = SAMPLE.COM)
(ORACLE_HOME = /opt/oracle/product/9.2.0.4)
(SID_NAME = SAMPLE)))LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = tcy.com)(PORT = 1521)))
相似回答