在.NET中,Windows服务可能会遇到无法解析TNS服务名称的问题。TNS(Transparent Network Substrate)是一种网络通信协议,用于在不同的数据库系统之间进行通信。在这种情况下,可以尝试以下方法来解决问题:
如果问题仍然存在,可以考虑使用其他方法来连接数据库,例如使用数据库实例的IP地址和端口号。
推荐的腾讯云相关产品和产品介绍链接地址:
对于Oracle Data Guard中的Switchover一般是计划内的操作,自己其实也处理了不少的故障,也算是轻门熟路。复杂的事情简单做,简单的事情重复做,重复的事情用心做,想必很多事情都是这个理吧。 发现很多事情虽然做了很多遍,但是每次都会有不同的体会,而这些积累下来的经验才让我们的经验更加宝贵。 一般来说Oracle的Switchover需要考虑的细节较多,大体有以下的流程。 1.在迁移之前明确目标服务器IP,发出维护公告 这个无需多说,本身就是跨部门,多部门的协调工作,说简单简单,说复杂复
如下图所示,Oracle通过Oracle Net协议实现客户端与服务器端的连接以及数据传递。Oracle Net是同时驻留在Oracle数据库服务器端和客户端上的一个软件层,它封装了TCP/IP协议,负责建立与维护客户端应用程序到数据库服务器的连接。
建了一个库,想通过Oracle Net访问,需要配置监听器和tnsnames.ora,接下来碰到一系列的问题。。。 1. 添加监听器配置,listener.ora文件默认包括: LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) ) ADR_BASE_LISTENER = /opt/app/ora11g 为了新建监听器名称,添加如下: DCSOPEN = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = 172.101.19.57)(Port = 1521))) 或 DCSOPEN = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dcsopen2Node)(PORT = 1521)) ) ) ADR_BASE_DCSOPEN = /opt/app/ora11g 或 DCSOPEN = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = 172.101.19.57)(Port = 1521))) SID_LIST_DCSOPEN = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /opt/app/ora11g/product/11.2.0/dcsopen) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = dcsopen) (ORACLE_HOME = /opt/app/ora11g/product/11.2.0/dcsopen) (SID_NAME = dcsopen) ) ) ADR_BASE_DCSOPEN = /opt/app/ora11g 或 DCSOPEN = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.101.19.57)(PORT = 1521)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ) ) SID_LIST_DCSOPEN = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /opt/app/ora11g/product/11.2.0/dcsopen) (PROGRAM = extproc) ) ) ADR_BASE_DCSOPEN = /opt/app/ora11g 2. 添加本机的tnsnames.ora文件配置: dcsopen = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.101.19.57)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dcsopen) ) ) 3. 使用tnsping dcsopen测试,报错: ora11g>tnsping dcsopen TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 08-JAN-2015 00:38:55 Copyright (c) 1997, 2009, Oracle. All rights reserved. Used parameter files: /opt/app/ora11g/product/11.2.0/dcsopen/network/admin/sqlnet.ora TNS-03505: Failed to resolve name 4. 使用sqlplus登
之前因为安装的是windows server 2008 r2的系统,oracle是11g r2 64bit,因为像很多网友一样,无法使用pl/sql developer 8连接oracle,今天可算连上了,对listener.ora sqlnet.ora tnsnames.ora三个文件、TNSListener服务的认识也深了一层。
在微信群中有朋友提出一个问题:如何获得Oracle的TNS_ADMIN的变量值? TNS_ADMIN 是Oracle的一个环境变量,指向 SQL*Net 配置文件的位置。常见的配置文件有 sqlnet.ora 和 tnsnames.ora 等。 通常在 Windows 上,环境变量的设置类似如下: set TNS_ADMIN=%ORACLE HOME%\network\admin 在 Unix/ Linux 设置类似如下: export TNS_ADMIN=$ORACLE HOME/network/admi
将该TNS信息配置到同事本地的tnsnames.ora文件,使用pl/sql developer无法连接,报错TNS-12535: TNS操作超时1。
Oracle 客户端连接到Oracle 数据库服务器貌似不同于SQL serve中的网络配置,其实不然,只不过所有的SQL server 运行于Windows平台,故很多配置直接集成到了操作系统之中。所以无需配置客户端即可连接到服务器。Oracle 客户端连接到数据库依赖于Oracle Net。Oracle提供了很多基于客户端或服务器的配置工具,需要搞清的是Oracle Net 中的相关术语。术语明白了,其实配置方法与SQL server 大同小异。
相关文章:主备切换的准备工作(r7笔记第83天) 之前也强调过元数据的重要性,而且强调过备库需要考虑的很多方面,如果考虑不周到,其实我们的备库还没有做好切换的准备,而且最近也连连处理了多起问题, 发现灾备中还是有很多的思考的东西,所谓实践出真知,这些地方不注意,只能保证数据不丢失,对于业务连接,应用响应和影响范围来说都是不可估量的。 很多次的灾备切换中,如果在同机房的情况下,在failover的场景中,为了尽可能减少应用的影响范围,一般都是直接修改备库的IP为原来主库的IP, 那么防火墙的配置就尤为重要,防
9月10日下午,又一起规模化利用Redis未授权访问漏洞攻击数据库的事件发生,此次黑客以勒索钱财作为第一目的,猖狂至极,攻击者赤裸裸威胁,直接删除数据库数据。腾讯云安全系统在攻击开始不到30s就启动全网拦截。
--========================== -- 配置sqlnet.ora 限制IP访问Oracle --========================== 与防火墙类似的功能,Oracle 提供限制与允许特定的IP或主机名通过Oracle Net来访问数据库。这个功能由sqlnet.ora配置文件来实 现。该文件通常$ORACLE_HOME/network/admin/ 目录下,与tnsnames.ora以及listener.ora位于同一路径。用法也比较简单。通过监听器的 限制,实现轻量级访问限制,比在数据库内部通过触发器进行限制效率要高。 1. 实现方式 通过在sqlnet.ora文件中增加下列记录来实现
杨大师(http://space.itpub.net/4227/viewspace-663069)介绍过TWO_TASK环境变量的作用,指出“在Unix和Linux环境下,可以设置TWO_TASK环境
环境: 主库A机:在线生产环境,RHEL 6.4 + Oracle 11.2.0.3 备库B机:新增备机,RHEL 6.4 需求: 对生产环境最小影响前提下配置DG备库。 目录: 一、B机安装相同版本Oracle软件 二、A机,B机配置网络连接
在虚机上执行lsnrctl start,问题解决。 1、当连接异常时,可以通过分析监听日志来查找线索 〜[test]$ find $ORACLE_HOME -name listener.log /opt/64bit/oracle/11.2.0/log/diag/tnslsnr/sinrndvud062/listener/trace/listener .log
tnsping,作为Oracle连接测试的一个小巧的工具,其实大家已经不陌生了,但是使用tnsping有一个问题,就是连接超时,当然这个和网络的 安全策略等密不可分,但是摆在我面前的一个问题是,现在有大量的服务器,每台数据库服务器上都有tnsnames.ora,如果需要判断 tnsnames.ora里面的配置是否生效,使用tnsping是一个很自然的选择。 我也这么做了,我写了一个命令去解析tnsnames.ora 然后把里面的连接对象给标示出来。 cat tnsnames.ora|awk '{print
其实对于Failover和Switchover是大家处理灾难时很头疼的一个环节,也是最关键的处理过程。 假设你半夜正在睡觉,被报警电话惊醒,得知某个服务器产生了故障宕机,在这种情况下,我们大体会有下面的处理流程: 1)检查原来的节点是否可用,需要查看ILO和存储,是否存在异常 2)如果原来的节点可以重启,可以尽量马上恢复业务,然后分析根本原因,是否是硬件老化,硬件故障导致,如果发现问题影响较大,可以使用Switchover 3)如果原来的节点无法重启,这个时候需要考虑Failover,如果在同机房可以直接替
其实对于Datapump迁移而言,如果参与过XTTS,OGG,Veritas SF,外部表增量等迁移方式的话,会发现Datapump还是很简单清晰的,一个优点就是操作简单清晰,想必于imp而言性能要好。所以不要小看这种迁移 方式,不是说哪些迁移方式就是最好的,数据迁移中也没有银弹,最合适的就是最好的。 迁移之前我们还是需要做一些准备工作,尽量避免临时的忙乱,减少出错概率,要知道升级迁移都是在大早上,大晚上,都是精力比较差的时候,如果迁移前的准备不足,没有充足的准备,就会忙乱一团。所以在这点上有一个
编辑手记:让安全成为一种习惯,使用 Oracle 的 Security External Password Store 功能实现加密登录, 不将明文密码暴露在生产环境当中。 本文来自周四大讲堂整理。
今天在给几个库做映射的时候,用tnsping,有一个库老是有问题,在客户端配置 tnsping NFTTEST Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.19.198.51)(PORT = 1563))) (CONNECT_DATA = (SERVICE_NAME = NFTTEST
instantclient-basic-nt-11.2.0.3.0.zip客户端压缩包为例
一直以来搭建Data Guard是一件看起来还蛮有含量的工作,因为这其中涉及的工作比较琐碎,比较细,况且手工搭建起来都会碰到各种各样的问题,如果中途碰到一点儿小问题,那可能需要花点时间来排查,如果想要脚本自动化,那简直寸步难行。所以搭建Data Guard一方面会需要很多的提前准备和配置,另一方面这个工作自动化的驱动力不够,毕竟环境不会像MySQL业务一样动辄几十成百上千的规模,所以由此而来,好像搭建一个套环境的成本也值了,如果尝试自动化,半自动化,那花费的时间估计够搭建10套环境了。所以目前来看,
领取专属 10元无门槛券
手把手带您无忧上云