TNS是Oracle数据库中用于命名解析的服务,可以帮助用户通过名称来解析数据库连接地址。在Linux下,查询TNS服务可以让用户查找可用的数据库连接地址以避免连接失败。本文将介绍如何在linux下查看TNS服务。
“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 成都创新互联公司是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于做网站、网站建设、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!
之一步:安装tnsping工具
tnsping是Oracle提供的一个用于测试TNS解析性能的工具。在Linux下,tnsping是被包含在Oracle Instant Client中的。原则上,你也可以通过安装Oracle Database软件包来获得tnsping工具,但是这种方法会增加系统的负担,因此我们推荐在Linux上使用Oracle Instant Client。
要使用Oracle Instant Client,请按照以下步骤操作:
1. 打开浏览器,进入Oracle官网下载页面 (https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html)。
2. 下载适合你具体系统版本的Instant Client Basic包和Instant Client SQL*Plus包。
3. 解压上述两个包到同一目录下,并在.bashrc文件中添加以下环境变量的路径:
“`
export PATH=/path/to/instantclient_19_8:$PATH
export LD_LIBRARY_PATH=/path/to/instantclient_19_8:$LD_LIBRARY_PATH
export ORACLE_HOME=/path/to/instantclient_19_8
“`
4. 重启bash退出终端,重新打开一个新的终端窗口,使用tnsping测试程序是否安装成功:
“`
$ tnsping ORCL
“`
如果Linux下tnsping测试没有错误,接下来我们可以开始查询TNS服务。
第二步:查询TNS Name
查询TNS服务的之一步是了解所需要查询的TNS Name。在Oracle中,TNS Name是一个基于系统的别名(system alias),用于将命名转换为目标数据库连接参数。默认情况下,我们可以在“$ORACLE_HOME/network/admin/tnsnames.ora”文件中找到TNS Name,但是如果你的环境中不存在该文件,也可以通过其它途径查询TNS Name。
以下是一些获取TNS Name的方法:
1. tnsnames.ora文件
在$ORACLE_HOME/network/admin/目录下,查找有没有tnsnames.ora的文件。如果你已经正确安装了Oracle Instant Client,并且环境变量已设置完成,则TNS Name信息就在tnsnames.ora文件中。
2. 扫描网络
在Linux下,你可以使用以下命令扫描网络以寻找Oracle TNS服务:
“`
$ nmap -p 1521 192.168.1.0/24
“`
其中,-p选项指定扫描端口,192.168.1.0/24为你网络的IP地址范围。
如果网络中有Oracle数据库在监听1521端口,则会被扫描到。
3. sqlnet.ora文件
在$ORACLE_HOME/network/admin/目录下,查找是否存在sqlnet.ora文件。如果该文件存在,可以在其中找到TNS Name信息。
第三步:使用tnsping测试TNS连接
查询TNS Name之后,我们就可以使用tnsping工具测试TNS连接是否可用。在命令行中,输入以下命令:
“`
$ tnsping
“`
其中,TNS Name为你需要查询的TNS Name。
如果TNS连接正常,则会看到以下输出:
“`
$ tnsping ORCL
TNS Ping Utility for Linux: Version 19.0.0.0.0 – Production on 13-MAR-2023 17:04:46
Copyright (c) 1997, 2023, Oracle. All rights reserved.
Used parameter files:
/path/to/tnsnames.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = server.example.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (0 msec)
“`
如果连接失败,则可能是TNS Name错误或数据库连接失败,此时需要进一步检查配置文件或联系数据库管理员进行排查。
相关问题拓展阅读:
原来oracle不是用root启动的吧?应该有衫橘oracle用户。
你的改动导致oracle用户权限不足。
还有,做java符号链接枣塌培前没看凳唯看人家原来有没有啊。
你换成ORACLE 安装的用户试试…
首先说明一下的安装步骤,然后再来看问题在哪,谢谢
用户用错的了吧,切换到oracle下试试
协议适配器错误,你的HOST应该写IP地址吧。
错误:
$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 – Production on 18-12月:22:17
Copyright (c) 1991, 2023, Oracle. All rights reserved.
Starting /opt/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait…
TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
Linux Error: 29: Illegal seek
$
解决办法:
1:查看/etc/hosts文件,一定要包含以下语句:
.0.0.1 localhost.localdomain localhost
2:保证下面2个文件标红的内容要完全一样
修改listener.ora文件
默认情况下该文件闭羡内容:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =你的服务器IP地森态猜址)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
修改tnsnames.ora文件
默认情况下该文件此型内容
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =你的服务器IP地址)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ping hundsun
看通不通,如果运亮不通,你链顷要在/etc/hosts这个文旁唤宽件里添加上ip和主机名的映射关系(其它内容不要动);或者listener.ora文件里的host位置你直接用ip地址
如:xx.xxx.xxx.xxxhundsun
然后再停、启一下监听
lsnrctl stop
lsnrctl start
lsnrctl status
这个问题,我也答不上来2840建议你去群里问问:
关于linux下查看TNS的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
创新互联成都网站建设公司提供专业的建站服务,为您量身定制,欢迎来电(028-86922220)为您打造专属于企业本身的网络品牌形象。
成都创新互联品牌官网提供专业的网站建设、设计、制作等服务,是一家以网站建设为主要业务的公司,在网站建设、设计和制作领域具有丰富的经验。
分享题目:如何在Linux下查看TNS服务?(linux下查看TNS)
转载来源:http://www.gawzjz.com/qtweb/news39/202139.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联