Oracle客户端工具连接数据库服务器问题解决整理
Jun 07, 2016 pm 05:29 PM经常遇到PL/SQL Developer等依赖Client的工具无法连接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

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)?

Comment configurer le cryptage SSL / TLS pour les connexions MySQL?
