问题描述:

1:oracle数据库连接登陆时突然变得很慢;sqldeveloper链接数据库很慢;

2:Kettle-spoon etl程序访问数据库,任务执行时报 :数据库连接 IO错误 :Socket Time Out 错误。

解决:

1:lsnrctl status 用命令查看oracle监听状态;命令执行后,过许久才显示结果(正常很快显示);

2:分析是不是监听日志太大了。从上命令的呈现结果中找到日志路径:

Listener Parameter File   /u01/app/oracle/product/11.1.0/network/admin/listener.ora   Listener Log File         /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml

发现日志并不大;并分日显示了。

3:重启监听试试:lsnrctl stop   lsnrctl start ;也可以用lsnrctl reload ,还是很慢

4:怀疑Kettle-spoon数据库连接池问题,将etl程序连接改为jndi 共享的数据库连接,并设置了连接池。

如下操作:

1. 在data-integration\simple-jndi\jdbc.properties中加入jdbc的连接信息。

比如:

############ ORACLE ################

ORA/type=javax.sql.DataSource

ORA/driver=oracle.jdbc.driver.OracleDriver

ORA/url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL

ORA/user=system

ORA/password=system

############ MSSQL ################

MSSQL/type=javax.sql.DataSource

MSSQL/driver=net.sourceforge.jtds.jdbc.Driver

MSSQL/url=jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=test;SelectMethod=Cursor MSSQL/user=test

MSSQL/password=test

注意,kettle使用的MSSQL的驱动是:driver=net.sourceforge.jtds.jdbc.Driver

2. 在数据库连接编辑界面选择

Access=JNDI

JNDI Name填前面配置文件中'/'前面的名字,比如“MSSQL/password=test”这里就填“MSSQL”

设置好以上两步,点击一下test按钮,如果连接成功就ok了,如果你想要配置连接池,就点击上面界面左侧列表的"pooling"项。

5:查看oracle的listener.ora和tnsnames.ora文件。 确保listener.ora和tnsnames.ora里的HOST   (IP)一致。

还是很慢。

6:从登陆报 IO错误来看,可能是连接数据库登陆时,数据库要去写监听日志到服务器上。可能是数据库服务器IO有问题。决定将监听日志设为关闭状态试试。

1:  lsnrctl   登陆监听操作界面

2:set log_status off ------------关闭写日志的功能     (  set log_status on -------------------打开监听写日志的功能)

3:save_config ------保存配置

4:exit

5:lsnrctl stop     --关闭监听

6: lsnrctl start    --启动监听

再次测试,问题解决。结论:可能是数据库服务器IO有问题。或者磁盘有问题。

oracle数据库登录连接很慢;kettle连接oracle 报 IO 错误,socket time out 问题解决记录的更多相关文章

  1. plsql连接本地oracle数据库,而远程主机却无法连接,出现无监听程序的解决方法(转)

    原文转自:plsql连接本地oracle数据库,而远程主机却无法连接,出现无监听程序的解决方法 最近在使用plsql连接本地oracle数据库的时候,在同一网络环境中,出现了可以连接本地oracle, ...

  2. ORACLE数据库登录显示ORA-28001: the password has expired

    Oracle数据库登录显示 "这个密码已过期,请输入新密码" 点击win键 找到Oracle的SQL Plus 点击打开之后输入登录的用户名密码,然后会显示该密码已过期,输入新口令 ...

  3. C#连接Oracle数据库的方法(System.Data.OracleClient、Oracle.DataAccess.Client也叫ODP.net、Oracle.ManagedDataAccess.dll)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

  4. 未安装Oracle数据库,使用PL\SQL Developer连接远程数据库解决方案

    使用PL/SQL远程连接Oracle服务器 背景:本地未安装oracle数据库服务器,希望远程连接Oracle服务器 1.下载oracle数据库客户端 下载64位windows的instantclie ...

  5. rust连接oracle数据库遇到DPI-1047: Cannot locate a 64-bit Oracle Client library的解决方案

    这两天要实现一个用rust连接远程的oracle数据库的需求,所以就需要用rust连接oracle. 在github上面找到一个库,地址:https://github.com/kubo/rust-or ...

  6. oracle数据库的启动、关闭、连接

    登陆数据库 方法一: $ sqlplus / as sysdba [oracle@dev /]$ sqlplus / as sysdba SQL*Plus: Release Production on ...

  7. [Oracle]Oracle数据库CPU利用率很高解决方案

    Oracle数据库经常会遇到CPU利用率很高的情况,这种时候大都是数据库中存在着严重性能低下的SQL语句,这种SQL语句大大的消耗了CPU资源,导致整个系统性能低下.当然,引起严重性能低下的SQL语句 ...

  8. Oracle 数据库登录、用户解锁、改密码、创建用户授权操作

    一.数据库登录1.常用账户: 管理员: sys主要练习操作用户: scott2.测试环境是否配置成功: 1.命令窗口 win+R -> cmd(以管理员身份运行) - > sqlplus ...

  9. python 将mysql数据库中的int类型修改为NULL 报1366错误,解决办法

    gt.run_sql()是用pymysql 封装的类 distribution_sort_id type: int目的:将此字段值全部修改为NULL g=2gt.run_sql("updat ...

随机推荐

  1. 【转】准确理解CSS clear:left/right的含义及实际用途

    零.说点什么 好久没更新了.并不是在折腾什么大作,而是广度学习与实践中,加上婚礼等诸多大事,所以产出较少. 今天这篇也只是小作,博客是自己很好的学习工具,只要我学习不止,博客也会不断更新的. 我们平时 ...

  2. [leetcode]_Unique Paths

    题目:有一个m * n 的方格,如下图,一个小robot希望从左上角走到右下角,共有多少种不同的路线走法. 思路: 我的错误思路:全排列,从(0,0)走到(m - 1,n - 1)共需要往下走m-1步 ...

  3. php文件hash算法,秒传原理

    header('Content-type:text/html;Charset=UTF-8'); define('blockSize', 4*1024*1024); var_dump(fileHash( ...

  4. char引发的血案

    char cc = 'j';cc = (char)(cc -32); //注意下,自动转型了System.out.println(cc);

  5. FaceBook微光闪烁---第三方开源--shimmer-android

    Android上的微光闪烁shimmer效果,实现的手段不少,其中比较好的是facebook做的开源库:shimmer-android,其在github上的项目主页是:https://github.c ...

  6. Treeview获取父节点

    private void treeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object&g ...

  7. Oracle 错误代码

    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出 ...

  8. 刀哥多线程之gcd-01-sync&async

    同步 & 异步 概念 同步 必须等待当前语句执行完毕,才会执行下一条语句 异步 不用等待当前语句执行完毕,就可以执行下一条语句 NSThread 中的 同步 & 异步 - (void) ...

  9. .NET开源工作流RoadFlow-流程设计-流程步骤设置-数据设置

    数据设置是控制在流程处理过程中,当前步骤的数据显示与编辑状态,控制当前步骤哪些字段为只读,隐藏或可编辑.需要配合表单设计器使用.

  10. 【转】C#中Invoke的用法

    在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界 ...