数据库连接报错之IO异常(The Network Adapter could not establish the connection)

简介: 有以下四个原因:1. ORACLE数据库1、oracle配置listener.ora 和tnsnames.ora 文件里面查看是否配置正确

有以下四个原因:

1. ORACLE数据库

1、oracle配置

listener.ora tnsnames.ora 文件里面查看是否配置正确

2、IP错误

在设置URL时错误,例如:jdbc:oracle:thin:@192.168.0.36:1521:sharp

3、防火墙 

机器上安装有其他放火墙,可能是服务器端口号屏蔽而造成的。关闭防火墙后,尝试重新连接。

4、数据库监听未启动

参考我下面的

2. 通用解决方案

1.  检查数据库连接配置

首先,需要确认数据库连接的主机名、端口号、数据库名称、用户名和密码等配置信息是否正确。如果这些配置信息不正确,就会导致连接失败。


可以尝试使用一些命令行工具(如ping)测试主机名或IP地址是否能够访问。如果主机名或IP地址无法访问,则需要检查网络连接是否稳定或存在防火墙等问题。


2.  检查数据库服务是否启动


如果数据库服务没有启动,则连接会失败。可以使用一些命令行工具(如psql、sqlplus等)或数据库管理工具(如pgAdmin、Oracle SQL Developer等)检查数据库服务是否已经启动。


在使用命令行工具连接数据库时,需要使用正确的命令和参数。例如,在使用psql连接PostgreSQL数据库时,需要指定正确的主机名、端口号、数据库名称、用户名和密码等参数。如果这些参数不正确,就会导致连接失败。


3.  检查网络连接


如果网络连接不稳定或存在防火墙等问题,可能会导致连接失败。可以尝试使用其他网络或关闭防火墙等方式解决。


如果连接仍然失败,可以尝试使用telnet命令测试网络连接是否正常。例如,在使用telnet测试PostgreSQL数据库连接时,可以使用以下命令:


   telnet <host> <port>


其中,<host>是数据库主机名或IP地址,<port>是数据库端口号。如果telnet连接成功,则说明网络连接正常。


4.  检查数据库监听器


如果使用Oracle数据库,则需要检查数据库监听器是否已经启动。可以使用lsnrctl命令检查监听器状态。例如:


   lsnrctl status


如果监听器没有启动,则需要使用lsnrctl start命令启动监听器。


5.  检查数据库实例名


如果使用Oracle数据库,则需要检查数据库实例名是否正确。可以使用sqlplus命令连接数据库时,在主机名和端口号之间加上实例名。例如:


   sqlplus user/password@host:port/instance


其中,instance是数据库实例名。


3. 针对Oracle的排查问题的命令

在使用Oracle数据库时,我们需要经常进行排查问题,下面是一些常用的命令:


1.  su oracle - 切换到Oracle用户

2.  lsnrctl start - 启动监听器

3.  lsnrctl stop - 停止监听器

4.  lsnrctl status - 查看监听器状态


Oracle数据库的安全性


Oracle数据库的安全性包括操作系统的安全性、网络的安全性和软件的安全性。其中,操作系统的安全性依赖于相应的操作系统和管理员的技术水平,因此我们在这里只讨论Oracle数据库本身的安全性。


Oracle数据库的安全性主要包括以下三个方面:


1.  更改Oracle的默认监听端口号

2.  给监听器加密码

3.  控制IP的连接


更改Oracle的默认监听端口号的步骤如下:


1.  查看当前监听的状态,使用命令:lsnrctl status

2.  停止监听器,使用命令:lsnrctl stop

3.  修改监听文件的端口号

4.  修改初始化参数local\_listener

5.  重启监听器,使用命令:lsnrctl start

6.  修改完毕后,使用新端口号登录测试


以上是更改Oracle的默认监听端口号的具体步骤,其中,第三步是修改监听文件的端口号,第四步是修改初始化参数local\_listener,这两步是非常关键的。在修改完毕后,需要使用新端口号进行登录测试,以确保更改成功。

7c79da10d7b1bf67afd816321284ceea.png

 

目录
相关文章
|
4月前
|
监控 druid Java
Druid【SpringBoot集成】监控数据库报错 Failed to bind properties under ‘‘ to javax.sql.DataSource 解决(含配置源码)
Druid【SpringBoot集成】监控数据库报错 Failed to bind properties under ‘‘ to javax.sql.DataSource 解决(含配置源码)
234 0
|
30天前
|
测试技术 数据库连接 数据库
测试环境的数据库连不了,打包报错怎么办
测试环境的数据库连不了,打包报错怎么办
15 0
|
1月前
|
SQL 关系型数据库 数据库
OceanBase数据库常见问题之OAT添加服务器预检查的时候报错如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。
|
1月前
|
Java 关系型数据库 MySQL
Flink1.18.1和CDC2.4.1 本地没问题 提交任务到服务器 报错java.lang.NoClassDefFoundError: Could not initialize class io.debezium.connector.mysql.MySqlConnectorConfig
【2月更文挑战第33天】Flink1.18.1和CDC2.4.1 本地没问题 提交任务到服务器 报错java.lang.NoClassDefFoundError: Could not initialize class io.debezium.connector.mysql.MySqlConnectorConfig
52 2
|
1月前
|
弹性计算 分布式计算 DataWorks
DataWorks报错问题之ecs自建数据库连通性测试报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
运维 DataWorks Java
DataWorks报错问题之DataWorks报错连接数据库失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
SQL Oracle 关系型数据库
调整OceanBase数据库的系统时间,即使只调小1秒导致异常并不是正常现象
【2月更文挑战第21天】调整OceanBase数据库的系统时间,即使只调小1秒导致异常并不是正常现象
33 7
|
1月前
|
SQL 数据库 开发者
问题一:OceanBase数据库为什么查表会报错啊?
【2月更文挑战第21天】问题一:OceanBase数据库为什么查表会报错啊?
27 7
|
2月前
|
关系型数据库 网络安全 对象存储
Flink报错问题之Flink报错java.io.EOFException: SSL peer shut down incorrectly如何解决
Flink报错通常是指在使用Apache Flink进行实时数据处理时遇到的错误和异常情况;本合集致力于收集Flink运行中的报错信息和解决策略,以便开发者及时排查和修复问题,优化Flink作业的稳定性。
|
2月前
|
运维 数据管理 数据库
DMS问题之删除数据库报错如何解决
DMS(Data Management Service)是阿里云提供的一站式数据管理服务,支持数据开发、维护、治理等多种功能;本合集着重于介绍DMS的功能特点、操作流程和最佳实践,帮助用户高效进行数据管理和维护。
56 12