oracle 10gR2 监听器启动报错1067同时操作系统日志报: 错误模块名称: ntdll.dll

本文主要是介绍oracle 10gR2 监听器启动报错1067同时操作系统日志报: 错误模块名称: ntdll.dll,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、环境描述

VMware虚拟机+ WINDOWS SERVER 2008 R2 + ORACLE 10G 单机

二、问题描述:

数据库监听器无法启动,监听服务启动时报错:【错误1067:进程意外中止】

偶尔服务能够启动,但很快又自动关闭

 

三、问题解决

WINDOWS下的监听的启动依赖于服务的启动,用命令“lsnrctl start"启动也没有任何日志输出,以下介绍一下如果trace跟踪监听器的启动:

添加以下内容至监听的配置文件$ORACLE_HOME\NETWORK\ADMIN\listener.ora

LSNRCTL_TRACE_LEVEL=16
LSNRCTL_TRACE_FILE=lsnrctl_<pid>.trc
LSNRCTL_TRACE_DIRECTORY=d:\oracle\product\10.2.0\db_1\network\trace
LSNRCTL_TRACE_UNIQUE=ON
LSNRCTL_TRACE_TIMESTAMP=ON

而后手工启动监听lsnrctl start

在目录d:\oracle\product\10.2.0\db_1\network\trace下能看到相应的trace文件.其实trace文件对故障排查相当有帮助的,希望大家能掌握数据库的各种trace办法

非常遗憾的是,此次并没有从trace文件中获得有用的线索,下面粘出部分trace内容:

 

其中尝试过以下方法:

1. 修改监听器配置中HOST=选项采用主机名或IP,

2. 用NETCA命令新建一个监听服务名称如LISTENER1(默认监听器名称是LISTENER)

3. 修改监听的默认端口1521,采用其他冷僻端口,如15220

4. 重新安装ORACLE的安装目录,采用新安装目录去创建、配置监听

 

结果都无济于事。

 

由于,生产库必须于第二天8点对外提供服务,在做以上操作的同时,新建一台虚拟操作系统为WINDOWS server 2008 R2的服务器,将数据库的物理文件(参数文件,控制文件,数据文件,日志文件等)拷至新服务器上,准备数据库迁移工作。

 

接下来有新的发现,在检查操作系统日志文件时候发现以下报错:

错误应用程序名称: TNSLSNR.exe,版本: 0.0.0.0,时间戳: 0x4c298ebb
错误模块名称: <span style="color:#ff0000;"><strong>ntdll.dll</strong></span>,版本: 6.1.7601.18247,时间戳: 0x521eaf24
异常代码: 0xc0000374
错误偏移量: 0x00000000000c4102

后来从系统管理员处得到了解,服务器于2013年11月接受了WINDOWS update,下载并安装了部分系统补丁,但操作系统并未重启过。对此我们可以看出,c:\Windows\SYSTEM32\ntdll.dll文件其实发生损坏.而ntdll.dll文件很多应用软件都会访问到.

 

对此,强烈建议关闭windows的"系统自动更新"

 

接下来在新服务器上做以下操作,在此不再赘述:

1. 安装数据库10.2.0.4,升级安装目录至10.2.0.5

    (windows server 2008 R2已经不能直接安装10.2.0.1基础版本的软件,至少要装10.2.0.4)

2. 准备参数文件,归档目录,bdump udump cdump等目录

3. 打开数据库实例,mount数据库,打开数据库

4. 检查应用联通性,数据完整性

 

 

对此,我们建议大家在故障排错的过程中,不要仅仅将目录放在数据库本身,而需要从多方面(主机,存储,网络,系统日志等)入手排查问题.

 

-------------------------------------------------------------------------------------------------

本文来自于我的技术博客 http://blog.csdn.net/robo23

转载请标注源文链接,否则追究法律责任!

 

这篇关于oracle 10gR2 监听器启动报错1067同时操作系统日志报: 错误模块名称: ntdll.dll的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/185977

相关文章

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

解读GC日志中的各项指标用法

《解读GC日志中的各项指标用法》:本文主要介绍GC日志中的各项指标用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基础 GC 日志格式(以 G1 为例)1. Minor GC 日志2. Full GC 日志二、关键指标解析1. GC 类型与触发原因2. 堆

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指

MySQL 打开binlog日志的方法及注意事项

《MySQL打开binlog日志的方法及注意事项》本文给大家介绍MySQL打开binlog日志的方法及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、默认状态二、如何检查 binlog 状态三、如何开启 binlog3.1 临时开启(重启后失效)

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基