/
sampleaddr.sql
29 lines (25 loc) · 1.04 KB
/
sampleaddr.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com
-- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions.
--------------------------------------------------------------------------------
--
-- File name: sampleaddr.sql
-- Purpose: High-frequency sampling of contents of a SGA memory address
--
-- Author: Tanel Poder
-- Copyright: (c) http://www.tanelpoder.com
--
-- Usage: @sampleaddr <hex_addr> <sample_count>
-- @sampleaddr
--
-- Other: Requires the sample.sql script:
--
-- http://www.tanelpoder.com/files/scripts/sample.sql
--
-- Also requires access to X$KSMMEM and X$DUAL tables
--
--------------------------------------------------------------------------------
col sampleaddr_addrlen new_value _sampleaddr_addrlen
set termout off
select vsize(addr)*2 sampleaddr_addrlen from x$dual;
set termout on
@@sample ksmmmval x$ksmmem "addr=hextoraw(lpad('&1',&_sampleaddr_addrlen,'0'))" &2