暂无图片
数据库hang swap可用为0
我来答
分享
用户5935
2021-04-12
数据库hang swap可用为0
暂无图片 10M

数据库版本:11.2.0.4 standard
操作系统:redhat 7.4
内存:128G
sga:36G pga:12G
4.8日上午9.30分应用反馈数据库无法连接,多次登陆操作系统才可正常登陆,登陆后系统swap可用为0 memory可用为0
强制重启服务器后恢复正常。

部分aler告警
Thu Apr 08 09:22:16 2021
Archived Log entry 166388 added for thread 1 sequence 14509 ID 0xb1e39b16 dest 1:
Thu Apr 08 09:33:08 2021
Errors in file /u01/app/oracle/diag/rdbms/alps/alps/trace/alps_pmon_114626.trc (incident=880019):
ORA-00445: background process “S010” did not start after 120 seconds
Thu Apr 08 09:33:24 2021
Incident details in: /u01/app/oracle/diag/rdbms/alps/alps/incident/incdir_880019/alps_pmon_114626_i880019.trc
Thu Apr 08 09:35:58 2021

截取了 三天的sa日志,发现,从6号下午1:40开始 内存的%commit开始增加。直到8号9:30分达到72%。这个现象需要分析一下,是否是oracle占用的内存不释放?sa文件已经上传
6号9:30分
AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
09:30:02 AM 404684 130787376 99.69 0 76824632 10563500 6.41 39926124 38182380 32

7号:9:30分
09:30:01 AM 428224 130763836 99.67 668 8619196 80213424 48.69 70418600 7593120 0
AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty

8号9:30分
09:30:47 AM 374396 130817664 99.71 0 903120 119546476 72.56 74040236 4027116 0

我来答
添加附件
收藏
分享
问题补充
16条回答
默认
最新
用户5935
上传附件:alert_alps.log
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
上传附件:alps_pmon_114626.trc
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
上传附件:alps_mmon_114660.trc
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
上传附件:sa07
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
上传附件:sa08
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
上传附件:sa06
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935
上传附件:故障时top
暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935

由于当时没有部署监控工具,也没办法收集awr,麻烦各位专家给个调查的思路。谢谢!

暂无图片 评论
暂无图片 有用 0
打赏 0
黄伟波

oracle数据库的awr不是自带的吗

暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935

标准版没有的

暂无图片 评论
暂无图片 有用 1
打赏 0
你好我是李白

(1)已有文件分析
我看了你上传的sa文件内容,我发现一个现象,内存一直在持续消耗,并未有释放,增长到物理内存不够了,swap从7号上午8:30开始使用比例持续上升,直到8号9.20 swap耗尽,系统出问题。

(2)8号问题判断
根据上述现象,应该是有地方内存泄露了,至于哪儿内存泄漏了,由于标准版没有ash视图跟awr信息辅助判断,已经发生的这次问题没办法判断了。

(3)问题根因追溯
不过通过sa文件,你可以看看是不是现在也存在这个现象,内存一直在上升,如果现在还在持续上升,则可以现在监控系统各个进程内存使用,oracle内存使用,看看能不能定位到内存泄漏的部分。如果现在系统存在这个问题,尽早定位,因为等下次swap耗尽之时,就是下次系统崩溃之时。

暂无图片 评论
暂无图片 有用 1
打赏 0
李华

麻烦上传下osw 如果有的话, cat /proc/meminfo 也上传下

暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935

李老师您好:
cat /proc/meminfo
MemTotal: 131192056 kB
MemFree: 20229760 kB
MemAvailable: 77760296 kB
Buffers: 328 kB
Cached: 57496776 kB
SwapCached: 0 kB
Active: 1719380 kB
Inactive: 57047764 kB
Active(anon): 510316 kB
Inactive(anon): 870392 kB
Active(file): 1209064 kB
Inactive(file): 56177372 kB
Unevictable: 8312 kB
Mlocked: 8312 kB
SwapTotal: 33554428 kB
SwapFree: 33554428 kB
Dirty: 28 kB
Writeback: 0 kB
AnonPages: 1349976 kB
Mapped: 365036 kB
Shmem: 32912 kB
Slab: 687776 kB
SReclaimable: 481960 kB
SUnreclaim: 205816 kB
KernelStack: 30240 kB
PageTables: 60556 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 73728632 kB
Committed_AS: 5581908 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 659416 kB
VmallocChunk: 34291814396 kB
HardwareCorrupted: 0 kB
AnonHugePages: 8192 kB
CmaTotal: 16384 kB
CmaFree: 208 kB
HugePages_Total: 24826
HugePages_Free: 6938
HugePages_Rsvd: 6690
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 297116 kB
DirectMap2M: 8626176 kB
DirectMap1G: 126877696 kB

暂无图片 评论
暂无图片 有用 0
打赏 0
用户5935

当时没有部署osw

暂无图片 评论
暂无图片 有用 1
打赏 0
哇哈哈

这个现象需要分析一下,是否是oracle占用的内存不释放

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
oracle 关闭数据库+关闭电源,再次启动后,耗费大量时间,最后报错终止;再重启数据库就很快可以启动,请帮忙看看是什么原因导致的呢?
回答 3
已采纳
这个问题可能是由于Oracle在第一次启动时试图恢复在关闭电源时未完成的事务,这个过程可能会耗费大量时间。如果在这个过程中出现了错误,如数据文件损坏,Oracle可能会报错并终止启动。当你再次启动时,
ora-00304:requested INSTANCE_NUMBER is buy
回答 1
[oracle@dg]$oerrora30400304,00000,“requestedINSTANCENUMBERisbusy”//Cause:Aninstancetriedtostartbyusi
一体机/u01目录下增长异常
回答 6
已采纳
看下数据库的告警日志,应该是遇到bug了,bug一旦触发就会生成cdmp,需要修复(有可能改参数、有可能需要打补丁)。如果短期内无法修复,需要写脚本用crontab定时清理。
解析失败的sql为什么在x$kglob会有两条记录
回答 1
解析失败的SQL,无法进行任何维度的共享,每次解析尝试都会记录一个LCOLibrarycacheobject。不断的重试失败的解析是一个灾难。
Oracle ogg 报错: Failed to validate table FWSC.
回答 1
先等等看,不行的话把表的trandata这些先删了重新配一下
oracle form怎么将查询到的多行数据插入数据块?
回答 1
建议数据块属性里直接设置该查询sql
oracle 异地升级后,原库保留多久合适
回答 3
Oracle数据库异地升级到新机器时,保留原库的时间长度取决于多个因素,并没有一个固定的标准。一般情况迁移升级后,老机器已经不具备接替业务作用,只能说用来查询历史数据,或者遇到了测试时没遇到的严重故障
Oracle 11g 数据库 备份数据量在1.1G左右 数据库从18年部署到现在没有优化过,最近两个月重启服务器监听程序就卡死,导致数据库无法使用必须重建监听程序,有什么好的优化方案?
回答 4
感觉得优先查看日志,看具体错误,目前看是监听方面存在问题,但数据应该不会影响;建议做好数据备份,在业务高峰期生成awr根据具体sql进行优化,大部分通过添加索引能提升数据库性能;深层优化就得以上老师说
主库环境为Oracle 12.2 RAC 2 node,已开启cdb多租户,主库端DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT这2个参数。如果不做主备切换,可以不用设置吗?
回答 2
已采纳
也要设置。传输过去文件和数据的。
oracle 存储过程游标查询为空, 怎么写让其结束存储过程 而不执行后面的dml逻辑?
回答 3
declarecursorcaisselectcodefromtbcitybasicwhereprovince'AMS';xxtbcitybasic.code%type;beginopenca;fet