暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Windows操作系统中oracle VSS服务内存泄漏问题

原创 韩啸 2021-11-02
3081

一、故障发现

操作系统:window server 2008R2
数据库版本:11.2.0.4

客户告警系统推送“连接某数据库实例失败”,登录主机后查看Windows服务,发现数据库服务已停止,随即先启动数据库服务,待数据库正常后查看日志:

1、数据库alert日志

检查数据库alert日志时发现,日志在21:12数据库服务停止时没有报错信息,21:48数据库启动后开始刷新日志:
image.png

2、操作系统事件

检查alert日志无果,于是再去“事件查看器”检查windows日志,发现Windows诊断出虚拟内存不足:
截屏20211102 上午10.56.43.png

根据报错信息咨询专家并查阅相关资料后判断是由于oravssw.exe内存泄漏导致的故障。

二、解决方案

根据MOS中的相关文档,有以下两个解决方案:

1、临时方案

在“服务”找到“Oracle DBNAME VSS Writer Service”,停止或重新启动此服务以释放分配的内存。
vss服务重启前占用了2G多的内存:
截屏20211102 上午11.20.13.png
重启服务:
截屏20211102 上午11.21.41.png
重启后释放内存,vss只占用9M内存:
截屏20211102 上午11.22.44.png

2、补丁方案

在11.2.0.4.16补丁:20583364中已解决了该bug。
截屏20211102 上午11.19.05.png

下载该补丁时提示该补丁号已被取代且需要口令,因此暂时未采用该方案,有需要的可以申请下载该补丁或下载最新的补丁。

三、总结

1、VSS服务

VSS编写器服务是对Oracle API提供的Windows卷影复制服务(VSS)的补充,以允许访问打开的Oracle数据库。

以上是VSS的简介,关于VSS的原理和作用笔者并不了解,有感兴趣的参考https://www.handybackup.net/backup_terms/oracle-vss-writer-service.shtml
或者直接查看官方文档。

2、参考文档

Bug 19835650 - Windows: VSS oravssw.exe memory leak (文档 ID 19835650.8)
适用于 Microsoft Windows 平台的 Oracle 11.2.0.x DB Bundle Patches 中修复的错误(文档 ID 1114533.1)
VSS Provider Memory Leak (文档 ID 2224789.1)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论