• DIAG Background process may consume Large PGA Size


    Found that background process of diag is occupied high pga memory usage in RAC of node 1. Value of PGA memory usage is captured by "select sid, name, value from v$statname n, v$sesstat s where n.statistic# = s.statistic# and n.name like '%memory%' and s.sid=481order by sid;" Why occuried high pga memory usage of background process of diag in node 1?? ==================================================================================================== SID/Serial : 481,1 Foreground : PID: 14326 - oracle@oracledatabase12g.com (DIAG) Shadow : PID: 14326 - oracle@oracledatabase12g.com (DIAG) Terminal : UNKNOWN/ UNKNOWN OS User : oracle on oracledatabase12g.com Ora User : Status Flags: ACTIVE DEDICATED BACKGROUND Tran Active : NONE Login Time : Fri 17:10:26 Last Call : Fri 17:10:27 - 8,251.4 min Lock/ Latch : NONE/ NONE Latch Spin : NONE Current SQL statement: Previous SQL statement: Session Waits: EVENT P2TEXT P2 seconds_in_w ----------------------------- ------------ ------------ ------------ DIAG idle wait where 1 0 ==================================================================================================== RAC-node 1 =========== SID NAME VALUE ---------- ---------------------------------------------------------------- ---------- 481 session uga memory 180984 481 session uga memory max 180984 481 session pga memory 1647496248 481 session pga memory max 1647496248 481 redo k-bytes read (memory) 0 481 redo k-bytes read (memory) by LNS 0 481 workarea memory allocated 0 481 sorts (memory) 0 RAC-node 2 =========== SID NAME VALUE ---------- ---------------------------------------------------------------- ---------- 481 session uga memory 180984 481 session uga memory max 180984 481 session pga memory 5950520 481 session pga memory max 5950520 481 redo k-bytes read (memory) 0 481 redo k-bytes read (memory) by LNS 0 481 workarea memory allocated 0 481 sorts (memory) 0 Bug 5092124 : PGA MEMORY FOR DIAG PROCESS LEAKS WHEN DUMPING KST TRACE 1. Please provide the output of the following query: sql> select a.sid,a.program,b.name,c.value from v$session a,v$sysstat b,v$sesstat c where a.program like '%DIAG%' and a.sid = c.sid and b.name like '%pga%' and b.statistic# = c.statistic#; 2. Provide the output of the following command: ps -ef | grep diag 3. Perform following test case: 1. Confirm the size of DIAG's PGA. . select a.sid,a.program,b.name,c.value from v$session a,v$sysstat b,v$sesstat c where a.program like '%DIAG%' and a.sid = c.sid and b.name like '%pga%' and b.statistic# = c.statistic#; . SID PROGRAM NAME VALUE ----- ----------------------- ---------------------- ---------- 169 oracle@jpdel1380 (DIAG) session pga memory 798524 169 oracle@jpdel1380 (DIAG) session pga memory max 798524 . 2. Connect 50 sessions via sqlplus. . 3. Kill one of shadow process. . Eg. % ps -ef | grep rac1022 rac1022 15626 15618 0 20:31 ? 00:00:00 oraclerac10221 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) . % kill -11 15626 . 4. DIAG dump KST traces under cdmp_xxxxx directory. . 5. Confirm the size of DIAG's PGA. . SID PROGRAM NAME VALUE ----- ----------------------- ---------------------- ---------- 169 oracle@jpdel1380 (DIAG) session pga memory 2699068 169 oracle@jpdel1380 (DIAG) session pga memory max 2699068 . 6. Perform the same steps as 2-5. Confirm the size of DIAG's PGA. SID PROGRAM NAME VALUE ----- ----------------------- ---------------------- ---------- 169 oracle@jpdel1380 (DIAG) session pga memory 3944252 169 oracle@jpdel1380 (DIAG) session pga memory max 3944252 ==> PGA for DIAG process increases. 1. Please provide the output of the following query: sql> select a.sid,a.program,b.name,c.value from v$session a,v$sysstat b,v$sesstat c where a.program like '%DIAG%' and a.sid = c.sid and b.name like '%pga%' and b.statistic# = c.statistic#; 2. Provide the output of the following command: ps -ef | grep diag 3. Perform following test case: 1. Confirm the size of DIAG's PGA. . select a.sid,a.program,b.name,c.value from v$session a,v$sysstat b,v$sesstat c where a.program like '%DIAG%' and a.sid = c.sid and b.name like '%pga%' and b.statistic# = c.statistic#; . SID PROGRAM NAME VALUE ----- ----------------------- ---------------------- ---------- 169 oracle@jpdel1380 (DIAG) session pga memory 798524 169 oracle@jpdel1380 (DIAG) session pga memory max 798524 . 2. Connect 50 sessions via sqlplus. . 3. Kill one of shadow process. . Eg. % ps -ef | grep rac1022 rac1022 15626 15618 0 20:31 ? 00:00:00 oraclerac10221 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) . % kill -11 15626 . 4. DIAG dump KST traces under cdmp_xxxxx directory. . 5. Confirm the size of DIAG's PGA. . SID PROGRAM NAME VALUE ----- ----------------------- ---------------------- ---------- 169 oracle@jpdel1380 (DIAG) session pga memory 2699068 169 oracle@jpdel1380 (DIAG) session pga memory max 2699068 . 6. Perform the same steps as 2-5. Confirm the size of DIAG's PGA. SID PROGRAM NAME VALUE ----- ----------------------- ---------------------- ---------- 169 oracle@jpdel1380 (DIAG) session pga memory 3944252 169 oracle@jpdel1380 (DIAG) session pga memory max 3944252 ==> PGA for DIAG process increases. 1. AWR report of one hour from all the instances when the pga usage is high by diag. 2. Database alert.log file from all the instances. 3. init.ora or spfile used in the db. 4. output of the following : show parameter "_trace_buffer"
  • 相关阅读:
    golang json字符串合并操作
    goland 无法跳转 struct等
    golang 中mgo update报错: The dollar ($) prefixed field '$inc' in '$inc' is not valid for storage.
    解决windows下使用vscode没有函数提示的问题
    【转载,实测好用】gitlab结合sourcetree使用
    C++单继承、多继承情况下的虚函数表分析
    Linux 日志文件管理——限制大小
    C++ RCSP智能指针简单实现与应用
    Makefile模板(C++)
    Git关于pull,commit,push的总结
  • 原文地址:https://www.cnblogs.com/macleanoracle/p/2967453.html
Copyright © 2020-2023  润新知