热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle中tnsping主机名/Ip显示TNS

今天是个阴天,老天想下不下的,昏昏沉沉的总想睡觉……额……废话不多说了。今天中午想做一个catalog库,我就在虚拟机上装了Oracle11g,本想不同于target数据库,所以当时配置监听时就没有用默认的端口号1521,和平常一样,我也懒得手工创建监听,netca

今天是个阴天,老天想下不下的,昏昏沉沉的总想睡觉…… 额……废话不多说了。 今天中午想做一个catalog库,我就在虚拟机上装了Oracle11g,本想不同于target数据库, 所以当时配置监听时就没有用默认的端口号1521,和平常一样,我也懒得手工创建监听, netca

今天是个阴天,老天想下不下的,昏昏沉沉的总想睡觉……

额……废话不多说了。

今天中午想做一个catalog库,我就在虚拟机上装了Oracle11g,本想不同于target数据库,

所以当时配置监听时就没有用默认的端口号1521,和平常一样,我也懒得手工创建监听,

netca创建监听,监听名默认名LISTENER,端口号改为1526;

接着就是启动数据库,注册 alter system register,启动监听,[oracle@jibo admin]$ lsnrctl start

查看监听状态:

[oracle@jibo ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-SEP-2014 21:25:12

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jibo)(PORT=1526)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 23-SEP-2014 15:59:46
Uptime 0 days 5 hr. 25 min. 26 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/jibo/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jibo)(PORT=1526)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1526)))
Services Summary...
Service "PROD" has 1 instance(s).
Instance "PROD", status READY, has 1 handler(s) for this service...
Service "PRODXDB" has 1 instance(s).
Instance "PROD", status READY, has 1 handler(s) for this service...
The command completed successfully

嗯……很好,一切正常;

我就拷贝了一份catalog库的tnsnames.ora到target数据库的tnsnames.ora中,好让target数据库远程访问catalog库;

先测试一下是否可以连通:

sqlplus hr/hr@PROD

(catalog库的服务名我设置为PROD,target库服务名我设置为ORCL )

结果…… 呃I 没通,报错……

我就纳闷了……安装数据库什么的都设置好好的啊,不记得有哪错了……

我想了一下,是catalog库的问题还是target库的问题呢?

不用想,target库一直用的好好的,监听什么的都没有问题,

(我target 主机名Demon ip192.168.1.8/ catalog库主机名 jibo ip192.168.1.4)

检验一下target吧 ,tnsping 192.168.1.4

[oracle@Demon admin]$ tnsping 192.168.1.4

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:43:42

Copyright (c) 1997, 2013, Oracle. All rights reserved.

Used parameter files:

Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.4)(PORT=1521)))
TNS-12541: TNS:no listener
有错误……没有启动监听? 不会啊

上面看已经启动了……

再自己tnsping一下;

[oracle@Demon admin]$ tnsping 192.168.1.8

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:45:33

Copyright (c) 1997, 2013, Oracle. All rights reserved.

Used parameter files:

Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.8)(PORT=1521)))
OK (110 msec)

自己tnsping自己没有问题

再测试一下catalog库

[oracle@jibo ~]$ tnsping 192.168.1.8

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:48:02

Copyright (c) 1997, 2013, Oracle. All rights reserved.

Used parameter files:

Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.8)(PORT=1521)))
OK (100 msec)
tnsping target库没问题

再自己tnsping自己一下:

[oracle@jibo ~]$ tnsping 192.168.1.4

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:48:14

Copyright (c) 1997, 2013, Oracle. All rights reserved.

Used parameter files:

Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.4)(PORT=1521)))
TNS-12541: TNS:no listener


额,错误,无监听,查看监听,什么原因呢……

[oracle@jibo admin]$ lsnrctl status listener

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-SEP-2014 23:09:33

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jibo)(PORT=1526)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 23-SEP-2014 23:01:40
Uptime 0 days 0 hr. 7 min. 52 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/jibo/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jibo)(PORT=1526)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1526)))
Services Summary...
Service "PROD" has 1 instance(s).
Instance "PROD", status READY, has 1 handler(s) for this service...
Service "PRODXDB" has 1 instance(s).
Instance "PROD", status READY, has 1 handler(s) for this service...
The command completed successfully

挺正常啊;catalog库有问题,啥问题呢……

再尝试tnsping 主机名

[oracle@jibo ~]$ tnsping jibo

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:51:55

Copyright (c) 1997, 2013, Oracle. All rights reserved.

Used parameter files:

Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.4)(PORT=1521)))
TNS-12541: TNS:no listener

错误……

tnsping 服务名 试试……

[oracle@jibo ~]$ tnsping prod

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:53:09

Copyright (c) 1997, 2013, Oracle. All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = jibo)(PORT = 1526)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = PROD)))
OK (120 msec)

这个可以啊……那啥问题呢……

难道主机名和ip地址不匹配?

查看 /etc/hosts

[root@jibo ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

192.168.1.4 jibo
[root@jibo ~]#
正常啊

重启监听lsnrctl reload

再试试……

仍然报TNS-12541: TNS:no listener错误;查看tnsnames.ora

PROD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = jibo)(PORT = 1526))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PROD)
)
)

LISTENER_PROD =
(ADDRESS = (PROTOCOL = TCP)(HOST = jibo)(PORT = 1526))

在查看listener.ora

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = jibo)(PORT = 1526))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1526))
)
)

ADR_BASE_LISTENER = /u01/app/oracle

我顿时有些纳闷,为啥netca自动创建的监听中tnsnames.ora和listener.ora的监听名不一样的,难道自动生成还有错不成……

那么在数据库中注册的监听到底用哪个名字啊

我再查看local_listener这个参数

SYS@PROD>show parameter local_listener

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string LISTENER_PROD
SYS@PROD>
额,不是我创建的listener的监听名,为什么?

嗯……

哦,我想起来了listener监听名是Oracle默认的监听名,同时默认的监听端口为1521,

我一直tnsping 主机名/Ip时,根据默认监听名,它自动找端口为1521的监听,那当然找不到了……

netstat -pan|grep 1521 就没有启用这个端口……

看来默认监听名不是那么好用的,

我在listener.ora中手动把监听名改为LISTENER_PROD

重启监听 lsnrctl reload LISTENER_PROD

然后再关了默认监听lsnrctl stop

[oracle@jibo ~]$ sqlplus hr/hr@jibo:1526/prod

SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 24 09:01:14 2014

Copyright (c) 1982, 2013, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

简单连接没问题,说明1526这个端口是可以用的

再tnsping试试

[oracle@jibo admin]$ tnsping 192.168.1.4

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 09:01:28

Copyright (c) 1997, 2013, Oracle. All rights reserved.

Used parameter files:

Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.4)(PORT=1521)))
TNS-12541: TNS:no listener
[oracle@jibo admin]$ tnsping jibo

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 09:01:41

Copyright (c) 1997, 2013, Oracle. All rights reserved.

Used parameter files:

Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.4)(PORT=1521)))
TNS-12541: TNS:no listener
[oracle@jibo admin]$

都不行,好像必须走1521这个端口,但默认的已经改了,

还是这个端口……嗯 谁有好的办法让它用1526这个端口的请留言啊……

结果成功了 ,用的是1526的端口;默认配置监听还真是坑……

推荐阅读
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了在SQL中查询分组后每组行数的统计方法。通过使用count()函数和GROUP BY子句可以统计每组的行数,但是如何统计所有组的行数呢?本文提供了一种实现方法,并给出了相应的SQL查询语句。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了在使用MSXML解析XML文件时出现DTD禁用问题的解决方案。通过代码示例和错误信息获取方法,解释了默认情况下DTD是禁用的,以及如何启用DTD的方法。此外,还提到了网上关于该问题的信息相对较少,因此本文提供了解决方案以供参考。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
author-avatar
Aqingking_577
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有