orcle数据库一直连接但是连接不上,有时候会显示TNS:无监听程序

环境:
系统:window7
数据库:orcle11g
显示:TNS:无监听程序
(表示之前从来没用过orcle数据库,有什么补充或者不对的地方可以联系作者)
一,出现的情况
1,使用远程的nvicat以及本地的nvicat连接数据库时显示一直在连接,一直也连接不上。
2,项目所连接的数据库有时候能连上有时候连接不上,而且连接起来特别慢。
3,在cmd中输入lsnrctl status会等很久才能出现正常的界面,正常情况下会直接显示。有一次跳出来tns-01153未能处理字符串,根据这个解决的问题,但是不是每次都跳出来这个。如下所示
在这里插入图片描述

4,在lsnrctl status命令中显示的日志文件中发现,其中有报错,如下图所示。
在这里插入图片描述
自己重启了n次监听,也重启了数据库,甚至还重启了两遍电脑都不管用。。

二,解决办法为
查看listener的log文件 $ORACLE_HOME/network/trace 发现listener.log 文件已经达到4G 无法再继续写入,删除该log文件,启动监听,正常~!(这个文件找不到的话,可以使用命令lsnrctl status查看整个文件在哪里再去这里面找就容易一点)
停止监听命令为:lsnrctl stop
再开启监听命令为:lsnrctl start

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
连接 Oracle 数据库的步骤如下: 1. 下载并安装 Oracle 数据库驱动程序,将 jar 文件添加到项目的 classpath 中。 2. 加载驱动程序: ``` Class.forName("oracle.jdbc.driver.OracleDriver"); ``` 3. 创建数据库连接: ``` Connection conn = DriverManager.getConnection(url, username, password); ``` 其中,url 格式为 `jdbc:oracle:thin:@<hostname>:<port>:<SID>`。 4. 执行 SQL 语句,获取结果集: ``` Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); ``` 5. 处理结果集并关闭资源: ``` while (rs.next()) { // 处理每一行记录 } rs.close(); stmt.close(); conn.close(); ``` 完整的 Java 代码示例: ``` import java.sql.*; public class OracleConnection { public static void main(String[] args) throws ClassNotFoundException, SQLException { // 加载驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); // 创建数据库连接 String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String username = "scott"; String password = "tiger"; Connection conn = DriverManager.getConnection(url, username, password); // 执行 SQL 语句,获取结果集 String sql = "SELECT * FROM emp"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); // 处理结果集并关闭资源 while (rs.next()) { int empno = rs.getInt("empno"); String ename = rs.getString("ename"); String job = rs.getString("job"); System.out.println(empno + "\t" + ename + "\t" + job); } rs.close(); stmt.close(); conn.close(); } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值