zoukankan      html  css  js  c++  java
  • Oracle客户端工具连接数据库服务器问题汇总

    经常遇到PL/SQL Developer等依赖Client的工具无法连接Oracle数据库服务器的问题。至今也没完全理清楚,先发个帖总结一下目前的方法,后面会不断完善。

    方法一:

    重启Oracle服务器端相关服务,包括...TNSListener,所用的数据库实例的服务。可直接在Windows的“服务”中重启。或者(可使用的命令):

    lsnrctl stop
    lsnrctl start
    lsnrctl reload
    sqlplus / as sysdba;
    startup;

    这个方法试过多次有效,但原因未知,求真相。

    方法二:

    使用Net Configuration Assist配置服务器端和客户端。

    Oracle服务器端需要设置listener(监听程序),设置结果影响listener.ora(...\db_1\NETWORK\ADMIN)。Client端(客户端)需要配置“本地Net服务名配置”,可能影响tnsnames.ora和sqlnet.ora两个文件。若是Oracle Client,则文件位置是...\client_1\NETWORK\ADMIN

    方法三:

    若装有Oracle Client,则可使用Enterprise Manager Console添加数据库连接,会修改tnsnames.ora文件(...\client_1\NETWORK\ADMIN)。

    方法四:

    查看sqlnet.ora中是否有NAMES,DIRECTORY_PATH等,可能与此有关。

    # sqlnet.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
    # Generated by Oracle configuration tools.
    
    # This file is actually generated by netca. But if customers choose to 
    # install "Software Only", this file wont exist and without the native 
    # authentication, they will not be able to connect to the database on NT.
    
    SQLNET.AUTHENTICATION_SERVICES= (NTS)
    
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

    注意:

    1. Enterprise Manager Console与Net Configuration Assist添加的数据库连接描述符不同,前者为...CONNECT_DATA=(SID=...)(SERVER=...)...,后者为...(SERVICENAME=...)...。

    2. Enterprise Manager Console中删除一条连接后,tnsnames.ora中的描述字符串不会自动删除;Net Configuration Assist中删除一条本地Net服务配置后,tnsnames.ora文件中对应的描述字符串会自动删除。

    3. 若安装配置OWB(Oracle Warehouse Builder),则文件位置是...\client_1\NETWORK\ADMIN

  • 相关阅读:
    应急响应之如何发现隐藏的Webshell后门
    从失败终止到崩溃
    DumpConfigurator Utility工具
    使例外成为例外(而不是异常)
    用于可视化虚拟内存使用情况和GC堆使用情况的工具。
    关于EEMessageException异常
    c#/C++混合编程的一个问题
    关于std::__non_rtti_object异常
    仅通过转储来排除内存泄漏
    调试器不应该改变行为
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3074876.html
Copyright © 2011-2022 走看看