iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >ORA-07445 [kslgetl()+80] ORA-00108主机名配置不一致引起的报错
  • 911
分享到

ORA-07445 [kslgetl()+80] ORA-00108主机名配置不一致引起的报错

2024-04-02 19:04:59 911人浏览 泡泡鱼
摘要

环境: oracle 10.2.0.4, Red Hat linux4.5 32bit 3.8妇女节这天,一台DB server因硬件故障挂掉。固通过备份恢复后的DB到新server上,恢复的D

环境:
oracle 10.2.0.4, Red Hat linux4.5 32bit

3.8妇女节这天,一台DB server因硬件故障挂掉。固通过备份恢复后的DB到新server上,恢复的DB开启没用多久硬盘就满了,检查DB bdump目录写了大量trc文件,且open后alert.log不断的报错
Fri Mar  9 04:19:59 2018
dispatcher 'D000' encountered error getting listening address
Fri Mar  9 04:19:59 2018
Errors in file /u01/product/admin/umlaut/bdump/umlaut_ora_20942.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Fri Mar  9 04:20:02 2018
found dead dispatcher 'D000', pid = (13, 219)
Fri Mar  9 04:20:02 2018
dispatcher 'D000' encountered error getting listening address
Fri Mar  9 04:20:02 2018
Errors in file /u01/product/admin/umlaut/bdump/umlaut_ora_20944.trc:
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
....

trc文件内容:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /u01/product/oracle
System name:    Linux
node name:      dthistory02
Release:        2.6.9-55.ELsmp
Version:        #1 SMP Fri Apr 20 17:03:35 EDT 2007
Machine:        i686
Instance name: umlaut
Redo thread mounted by this instance: 1
Oracle process number: 13
Unix process pid: 18998, image: oracle@dthistory02 (D000)
Warning: keltnfy call to ldmInit failed with error 46
*** 2018-03-09 03:42:51.581
network error encountered getting listening address:
  NS Primary Error: TNS-12533: TNS:illegal ADDRESS parameters
  NS Secondary Error: TNS-12560: TNS:protocol adapter error
  NT Generic Error: TNS-00503: Illegal ADDRESS parameters
OPIRIP: Uncaught error 108. Error stack:
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x130, PC: [0x831f388, kslgetl()+80]
ReGISters:
%eax: 0x00000000 %ebx: 0x00000007 %ecx: 0x00001768
%edx: 0x00003980 %edi: 0x20098a44 %esi: 0x00000000
%esp: 0xbffff188 %ebp: 0xbffff194 %eip: 0x0831f388
%efl: 0x00010246
  kslgetl()+57 (0x831f371) jnz 0x831f5a2
  kslgetl()+63 (0x831f377) mov 0xce77488,%esi
  kslgetl()+69 (0x831f37d) mov 0xc(%edi),%ebx
  kslgetl()+72 (0x831f380) movzw 0xc1e0d20(,%ebx,2),%edx
> kslgetl()+80 (0x831f388) test %edx,0x130(%esi)
  kslgetl()+86 (0x831f38e) lea 0x9c(%esi),%eax
  kslgetl()+92 (0x831f394) jnz 0x831f58c
  kslgetl()+98 (0x831f39a) test %ebx,%ebx
  kslgetl()+100 (0x831f39c) jl 0x831f4e7
*** 2018-03-09 03:42:51.583
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [kslgetl()+80] [SIGSEGV] [Address not mapped to object] [0x130] [] []
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Current sql infORMation unavailable - no session.

查到MOS文章: ORA-07445: [kslgetl()+80] Followed by ORA-108: failed to set up dispatcher to accept connection asynchronously(ID 1298804.1)和报错基本一致,发现此问题主要和hostname及hosts设置相关。

检查配置
# hostname 
dthistory02
# cat /etc/hosts
10.10.10.191   dt     history02  localhost
果然 hostname和hosts中不一致,修改/etc/hosts后再无报错(不需要重启DB),至此问题解决。

附:文档 ID 1298804.1
ORA-07445: [kslgetl()+80] Followed by ORA-108: failed to set up dispatcher to accept connection asynchronously

APPLIES TO:

Oracle Net Services - Version 11.1.0.7 and later
Information in this document applies to any platform.

SYMPTOMS

The following errors are seen in the trace file written by an ORA-7445 [kslgetl]:

network error encountered getting listening address:
NS Primary Error: TNS-12533: TNS:illegal ADDRESS parameters
NS Secondary Error: TNS-12560: TNS:protocol adapter error
NT Generic Error: TNS-00503: Illegal ADDRESS parameters
OPIRIP: Uncaught error 108. Error stack:
ORA-00108: failed to set up dispatcher to accept connection asynchronously
Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x130, PC: [0x82f09dc, kslgetl()+80]

The trace file indicates that there is no session:

Current SQL information unavailable - no session.

The Call Stack Trace in the ORA-7445 trace file contains a function list similar to:

 kslgetl <- PGoSF57_ksfglt
<- kghfre <- kmnsbf <- nsbfr <- nsiofrrg <- nsiocancel
<- nsopen_shutitdown <- nsclose <- nsgblclose <- nsgblTRMHelper <- nsgblRealTerm
<- nlstdstp <- npinlt <- ksuabt <- opidrv <- sou2o
<- opimai_real <- main <- libc_start_main

CHANGES

None.

CAUSE

The trace file first reports: Warning: keltnfy call to ldmInit failed with error 46 

The ORA-7445 is not the starting point here. This exception is just a spin-off from ORA-108 and it is possible that different internal errors may be seen, such as ORA-600 [504], depending on what is happening when the ORA-108 is encountered.

The cause for the ORA-108 is related to the inital message at the beginning of the trace file: "keltnfy call to ldmInit failed with error 46" and this is followed by: "network error encountered getting listening address:" 

The error code (here: 46) is the key for solving the issue.
This warning says that ldmInit() returned error 46 which is LDMERR_HOST_NOT_FOUND (host not found).

This error is returned if the OS call gethostbyname() fails with an error. So these appears to be a network specific issue.

SOLUTION

1) Check permission on /etc/hosts

$ ls -l /etc/hosts -rw-r--r-- 2 root root 194 Oct 17 2006 /etc/hosts


Check if /etc/hosts file is correctly configured


( all of this on one line ).


2) Check the hostname:

$ hostname
$ ping `hostname`

Make sure you are able to ping the hostname


3) Check if /etc/nodename is correctly configured
If you have DNS setup, ping is not a tool to diagnose DNS problem. A better tool to use is nslookup, dnsquery, or dig.


$ nslookup $ nslookup $ nslookup

The forward and reverse lookup should succeed and return consistent address/info.


4) Check nsswitch.conf


$ more nsswitch.confhosts: files dnsMake sure host lookup is also done through the /etc/hosts file and not just dns. It is recommended that FILES come first before DNS.


Also, check the resolv.conf. This makes sure that the DNS is working properly.


您可能感兴趣的文档:

--结束END--

本文标题: ORA-07445 [kslgetl()+80] ORA-00108主机名配置不一致引起的报错

本文链接: https://www.lsjlt.com/news/46357.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql拒绝访问怎么办
    mysql 出现拒绝访问的原因和解决方法:权限问题:授予用户适当的数据库或表访问权限。防火墙或安全组:允许对 mysql 端口(3306)的入站连接。密码错误:重置 mysql 密码或使...
    99+
    2024-05-19
    mysql
  • mysql怎么比较日期大小
    mysql 中比较日期大小的方法包括:直接比较两个日期,使用 、= 运算符。使用 date_format() 函数将日期转换为字符串,然后比较字符串大小。使用 str_to_date()...
    99+
    2024-05-19
    mysql
  • mysql怎么加锁
    mysql中加锁是一种确保数据并发访问一致性的机制。加锁方式有:表级锁(对整个表加锁)和行级锁(对特定行加锁)。加锁类型有共享锁(允许读取但禁止修改)、排他锁(禁止读取和修改)和意向锁(...
    99+
    2024-05-19
    mysql 并发访问
  • mysql误删数据怎么恢复
    mysql误删数据可通过以下步骤恢复:停止数据库服务,防止数据覆盖。若开启binlog日志,可从中提取删除语句,再重新执行后将数据恢复。使用恢复工具修复表文件或恢复事务。从备份中恢复数据...
    99+
    2024-05-19
    mysql
  • 怎么判断mysql安装成功
    成功安装 mysql 的方法:检查命令行界面版本号;连接到 mysql 服务器,输入 "mysql -u root -p";创建数据库,输入 "create database test;...
    99+
    2024-05-19
    mysql linux macos 防火墙配置
  • mysql怎么修改表名
    如何修改 mysql 表名:检查当前表名:show tables;运行 rename table 语句:rename table 旧表名 to 新表名;验证更改:show tables;...
    99+
    2024-05-19
    mysql
  • mysql删除的表怎么恢复
    mysql 中已删除表的恢复方法主要涉及以下步骤:检查 binlog 日志以获取删除事务信息;使用数据恢复工具扫描数据库文件;从备份还原表数据;或联系 mysql 支持寻求帮助。 My...
    99+
    2024-05-19
    mysql 数据丢失
  • mysql复合主键怎么写
    在 mysql 中编写复合主键:在 create table 语句中使用 primary key 约束并列出字段名称。复合主键的好处包括提高查询效率、保证数据完整性和强制数据顺序。注意选...
    99+
    2024-05-19
    mysql
  • 怎么查看mysql数据库版本
    如何查看 mysql 数据库版本?连接到数据库并执行查询:select version();检查命令行或 mysql workbench 中的服务器属性。 如何查看 MySQL 数据库...
    99+
    2024-05-19
    mysql linux
  • 怎么检测mysql安装成功
    要验证 mysql 安装是否成功,请执行以下步骤:检查系统服务是否正在运行。使用 mysql 命令行工具连接到服务器。创建一个测试数据库并使用它。在数据库中创建一个测试表。插入测试数据并...
    99+
    2024-05-19
    mysql linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作