sqlplus登录Oracle数据库出现缓慢或者错误的原因可能很多,例如曾经碰到的,《登录缓慢的诡异问题》、《sqlplus登录报ORA-06502错误的问题排查和解决》,最近碰到了另外一种可能。

一台测试数据库,sqlplus登陆的时候,总是非常慢,按说这种sqlplus / as sysdba本地操作系统认证登录,应该很快才对,

[oracle@bisal ~]$ sqlplus / as sysdba
开始卡顿,大约等待5秒SQL*Plus: Release 19.0.0.0.0 - Production on Thu Dec 17 20:57:48 2020
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

登陆其他的库,都很快,几乎秒出,这就怪了,但是事出必有因,网上学习了下,通过strace看下能给我们什么信息,strace会记录进程的系统调用和这个进程接收的信号值,每次系统调用的名称、参数、返回值,都会打印到标准输出或者-o选项指定的文件,

It intercepts and records the system calls which are called by a process and the signals which are received by a process.  The name of  each  system  call,  its arguments and its return value are printed on standard error or to the file specified with the -o option.

strace is a useful diagnostic, instructional, and debugging tool.  System administrators, diagnosticians and trouble-shooters will find it invaluable for solving problems with programs for which the source  is  not  readily  available since  they  do not need to be recompiled in order to trace them.  Students, hackers and the overly-curious will find that a great deal can be learned about a system and its system calls by tracing even ordinary programs.  And programmers will find that since system calls and signals are events that happen at the user/kernel interface, a close examination of this boundary is very useful for bug isolation, sanity checking and attempting to capture race conditions.

man strace可以看到具体可用的参数,打印出调用时间,

执行如下指令,

[oracle@bisal ~]$ strace -T -t -o sqlplus.trc sqlplus / as sysdba

打开sqlplus.trc,一堆内容,眼花缭乱,至少对我来说,确实不太能看懂,但是我们能看懂每行记录的时间,这两步操作之间,间隔了5秒,和实际操作等待很像,

就是这条,等待了5秒,出现超时,

21:17:21 poll([{fd=9, events=POLLIN}], 1, 4991) = 0 (Timeout) <4.991529>

从上下文看,这段内容是建立了一个socket,看到有个IP,

sin_addr=inet_addr("192.168.15.2")}, 16)

这个IP是DNS服务器的,

[root@bisal ~]# vi /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.15.2

但是我们这台机器上没配置/etc/hosts,光是要个DNS,好像没什么用?

尝试注释resolv.conf中的IP,再次登录,这次秒出了,而且看strace的记录,socket请求的是127.0.0.1,直接访问本地了,

同理,我们如果配置DNS,

[root@bisal ~]# vi /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.15.2

同时配置/etc/hosts,

[root@bisal ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.15.128  bisal.com       bisal

sqlplus还是很快,但是strace记录中,没出现sin_addr=inet_addr调用的IP,网络这块不太懂,如果有内行朋友,敬请指教下。

sqlplus登录慢的问题,这次我们用到了工具strace,虽然用的很浅,而且trace文件未必能看懂多少,但是根据时间戳,一些IP信息,能给我们些提示,可能这就是2-8原则,我们日常掌握的一些知识,可能不是很全面和深入,但是往往能解决日常碰到的大部分问题,这是基础,打好了基础,才可以逐渐深入,需要循序渐进,不可好高骛远。

近期更新的文章:

《VMWare 11安装RedHat Linux 7过程中碰到的坑》

《Oracle 11g的examples静默安装》

《同名的同义词和视图解惑》

《v$和v_$的一些玄机》

历史文章分类和索引:

《公众号700篇文章分类和索引》

sqlplus登录缓慢的解决相关推荐

  1. sqlplus登录缓慢的问题分析过程及解决小记

    点击上方"蓝字" 关注我们,享更多干货! 一.问题描述 近日在某客户现场进行巡检,发现有一个系统在进行sqlplus / as sysdba登录的时候特别缓慢.多次测试,最长时间可 ...

  2. linux usb mic延时大如何解决,Linux 中 SSH 客户端登录缓慢的解决办法

    今天在ssh登录到一台Linux服务器时,出现了登陆慢的问题,以前一直是正常的. 问题 查看SSH日志中有如下错误提示,发现问题: 1Connection closed by IP 使用debug模式 ...

  3. 由Linux内核bug引起SSH登录缓慢问题的排查与解决

    快杰云主机是UCloud推出的具备优秀性能与极高性价比的新一代主机,网络最高可达 1000 万 PPS,存储最高可达 120 万 IOPS.为了提升产品综合表现,Host内核.KVM和Guest内核等 ...

  4. sqlplus登录时遇到的ORA-12560: TNS: 协议适配器错误解决办法

    sqlplus登录时遇到的ORA-12560: TNS: 协议适配器错误解决办法 在windows下使用lsnrctl start启动监听之后,然后使用sqlplus登录的时候遇到了ORA-12560 ...

  5. systemd-logind导致ssh登录缓慢解决办法

    背景 见之前centOS ssh登录缓慢解决 深挖了下原因总结成本文. systemd-logind简介: Namesystemd-logind.service, systemd-logind - L ...

  6. sqlplus登录方式,列出所有表,列出表结构,sqlplus行和列显示设置,别名,空值问题,连接符,DISTINCT

     1 sqlplus登录方式: 普通用户登录: 登录eg:C:\>sqlplusscott/11  (格式:sqlplus 用户名/密码) 退出eg:quit退出 超级用户登录 C:\> ...

  7. linux的scp命令突然速度变慢,scp连接缓慢的解决方法

    scp连接缓慢的解决方法 2017-08-10 scp是linux中很好用的几个命令之一,特别是在服务器之间拷贝文件.但我们在使用scp命令时会遇到敲完命令回车时,连接很慢,要等好久才能出现输入密码的 ...

  8. MSN登录不了解决办法总结

    MSN登录不了解决办法总结   解决0x81000370不能登录MSN|MSN登录时提示错误代码: 0001836E或80072EFD错误 解决0x81000370不能登录MSN 可能有许多原因导致不 ...

  9. SqlPlus登录时密码中有符号@

    场景 在使用sqlplus登录时,密码中有@符号应该怎么处理. 解决 sqlplus 'test/"qwer@1234"'@orcl 用单引号包裹用户名/密码,用双引号包裹密码,最 ...

最新文章

  1. 遇到问题为何该自己动手
  2. CTFshow 命令执行 web32
  3. qt 分割字符串的两种方法
  4. 【Eclipse】Eclipse常用操作
  5. 心理软件测试自学,软件测试中的心理学
  6. php开发 文件下载,php 实现文件下载
  7. Lauterbach trace32与 jlink
  8. 如何创建强命名程序集(Strong Name Assembly)
  9. 2015年天翊他爹有想法了
  10. yolov5之魔化修改
  11. 【百度之星2014~初赛(第二轮)解题报告】JZP Set
  12. 新的一年,新的希望,新的努力
  13. VMR-21论文总结
  14. java面试高频知识点汇总 2021-02-24
  15. BCG 使用之CBCGPProgressDlgCtrl进度条使用
  16. LPDDR4x 的 学习总结(2) - SDRAM array结构浅识
  17. ATT的malloc实现--malloc的基础和本质
  18. SQL Server 2012 下载和安装详细教程(附安装包 和安装后的 相关设置)
  19. php wscript.shell组件,wscript.shell × 命令行执行组件
  20. 最牛通达信主升浪精准指标 准确率超高 主图 源码

热门文章

  1. 经典SQL学习笔记 (二)-单行函数
  2. html 苹果适应,苹果CMS自适应模板(1)
  3. mysql lsl_GitHub - LSL-Git/MyBatis_Dynamic_SQL: mybatis 动态SQL使用
  4. 程序员常用网站和工具(持续更新)
  5. LayUI 之动态树形菜单
  6. 程序员开工指南,专治不想上班!
  7. 凯撒移位密码python_凯撒密码python拓展程序
  8. Twitter在15岁终于迎来蜕变
  9. 产品经理负责制的诱惑与窘迫
  10. arduino系列教程之触摸开关(外部中断)开关小灯led