Repository navigation
Expand file tree
/
Copy pathamm_info_mem.sql
More file actions
337 lines (306 loc) · 17.4 KB
/
Copy pathamm_info_mem.sql
File metadata and controls
337 lines (306 loc) · 17.4 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
@@header
set term off
/*
*
* Author : Vishal Gupta
* Purpose : Display Tablespace usage
*
* Revision History:
* ===================
* Date Author Description
* --------- ------------ -----------------------------------------
* 24-FEB-14 Vishal Gupta Modified to make instance specific columns dynamic.
* 28-MAY-12 Vishal Gupta Fixed to differentiate between instance specific
* and generic (*.param) parameter values in spfile
* 14-MAR-12 Vishal Gupta Modified to make it RAC friendly
* 15-SEP-08 Vishal Gupta Created
*
*/
set term on
define _IF_INST1_EXISTS="--"
define _IF_INST2_EXISTS="--"
define _IF_INST3_EXISTS="--"
define _IF_INST4_EXISTS="--"
define _IF_INST5_EXISTS="--"
define _IF_INST6_EXISTS="--"
define _IF_INST7_EXISTS="--"
define _IF_INST8_EXISTS="--"
define _IF_INST9_EXISTS="--"
define _IF_INST10_EXISTS="--"
define _IF_INST11_EXISTS="--"
define _IF_INST12_EXISTS="--"
define _IF_INST13_EXISTS="--"
define _IF_INST14_EXISTS="--"
define _IF_INST15_EXISTS="--"
define _IF_INST16_EXISTS="--"
col INST1_EXISTS new_value _IF_INST1_EXISTS noprint
col INST2_EXISTS new_value _IF_INST2_EXISTS noprint
col INST3_EXISTS new_value _IF_INST3_EXISTS noprint
col INST4_EXISTS new_value _IF_INST4_EXISTS noprint
col INST5_EXISTS new_value _IF_INST5_EXISTS noprint
col INST6_EXISTS new_value _IF_INST6_EXISTS noprint
col INST7_EXISTS new_value _IF_INST7_EXISTS noprint
col INST8_EXISTS new_value _IF_INST8_EXISTS noprint
col INST9_EXISTS new_value _IF_INST9_EXISTS noprint
col INST10_EXISTS new_value _IF_INST10_EXISTS noprint
col INST11_EXISTS new_value _IF_INST11_EXISTS noprint
col INST12_EXISTS new_value _IF_INST12_EXISTS noprint
col INST13_EXISTS new_value _IF_INST13_EXISTS noprint
col INST14_EXISTS new_value _IF_INST14_EXISTS noprint
col INST15_EXISTS new_value _IF_INST15_EXISTS noprint
col INST16_EXISTS new_value _IF_INST16_EXISTS noprint
set term off
SELECT MIN(DECODE(inst_id,1,' ', '--')) INST1_EXISTS
, MIN(DECODE(inst_id,2,' ', '--')) INST2_EXISTS
, MIN(DECODE(inst_id,3,' ', '--')) INST3_EXISTS
, MIN(DECODE(inst_id,4,' ', '--')) INST4_EXISTS
, MIN(DECODE(inst_id,5,' ', '--')) INST5_EXISTS
, MIN(DECODE(inst_id,6,' ', '--')) INST6_EXISTS
, MIN(DECODE(inst_id,7,' ', '--')) INST7_EXISTS
, MIN(DECODE(inst_id,8,' ', '--')) INST8_EXISTS
, MIN(DECODE(inst_id,9,' ', '--')) INST9_EXISTS
, MIN(DECODE(inst_id,10,' ', '--')) INST10_EXISTS
, MIN(DECODE(inst_id,11,' ', '--')) INST11_EXISTS
, MIN(DECODE(inst_id,12,' ', '--')) INST12_EXISTS
, MIN(DECODE(inst_id,13,' ', '--')) INST13_EXISTS
, MIN(DECODE(inst_id,14,' ', '--')) INST14_EXISTS
, MIN(DECODE(inst_id,15,' ', '--')) INST15_EXISTS
, MIN(DECODE(inst_id,16,' ', '--')) INST16_EXISTS
FROM gv$instance
GROUP BY version
;
set term on
PROMPT
PROMPT #############################################################
PROMPT ####### #######
PROMPT ####### Automatic Memory Management Settings #######
PROMPT ####### #######
PROMPT #############################################################
PROMPT
COLUMN inst_id HEADING "Inst#" FORMAT 99999
COLUMN name HEADING "Name" FORMAT a21
COLUMN current_value1 HEADING "Current" FORMAT a7
COLUMN current_value2 HEADING "Current" FORMAT a7
COLUMN current_value3 HEADING "Current" FORMAT a7
COLUMN current_value4 HEADING "Current" FORMAT a7
COLUMN current_value5 HEADING "Current" FORMAT a7
COLUMN current_value6 HEADING "Current" FORMAT a7
COLUMN current_value7 HEADING "Current" FORMAT a7
COLUMN current_value8 HEADING "Current" FORMAT a7
COLUMN current_value9 HEADING "Current" FORMAT a7
COLUMN current_value10 HEADING "Current" FORMAT a7
COLUMN current_value11 HEADING "Current" FORMAT a7
COLUMN current_value12 HEADING "Current" FORMAT a7
COLUMN current_value13 HEADING "Current" FORMAT a7
COLUMN current_value14 HEADING "Current" FORMAT a7
COLUMN current_value15 HEADING "Current" FORMAT a7
COLUMN current_value16 HEADING "Current" FORMAT a7
COLUMN spfile_value1 HEADING "SPFile" FORMAT a7
COLUMN spfile_value2 HEADING "SPFile" FORMAT a7
COLUMN spfile_value3 HEADING "SPFile" FORMAT a7
COLUMN spfile_value4 HEADING "SPFile" FORMAT a7
COLUMN spfile_value5 HEADING "SPFile" FORMAT a7
COLUMN spfile_value6 HEADING "SPFile" FORMAT a7
COLUMN spfile_value7 HEADING "SPFile" FORMAT a7
COLUMN spfile_value8 HEADING "SPFile" FORMAT a7
COLUMN spfile_value9 HEADING "SPFile" FORMAT a7
COLUMN spfile_value10 HEADING "SPFile" FORMAT a7
COLUMN spfile_value11 HEADING "SPFile" FORMAT a7
COLUMN spfile_value12 HEADING "SPFile" FORMAT a7
COLUMN spfile_value13 HEADING "SPFile" FORMAT a7
COLUMN spfile_value14 HEADING "SPFile" FORMAT a7
COLUMN spfile_value15 HEADING "SPFile" FORMAT a7
COLUMN spfile_value16 HEADING "SPFile" FORMAT a7
COLUMN end_column HEADING " " FORMAT a1
set colsep '|'
set head off
SELECT '- '
&&_IF_INST1_EXISTS || ' <---Inst 1 --->'
&&_IF_INST2_EXISTS || ' <---Inst 2 --->'
&&_IF_INST3_EXISTS || ' <---Inst 3 --->'
&&_IF_INST4_EXISTS || ' <---Inst 4 --->'
&&_IF_INST5_EXISTS || ' <---Inst 5 --->'
&&_IF_INST6_EXISTS || ' <---Inst 6 --->'
&&_IF_INST7_EXISTS || ' <---Inst 7 --->'
&&_IF_INST8_EXISTS || ' <---Inst 8 --->'
FROM DUAL;
set head on
select RPAD(pp.name,20) name
&&_IF_INST1_EXISTS , MAX(DECODE(pp.inst_id, 1, pp.display_value,NULL)) current_value1
&&_IF_INST1_EXISTS , MAX(DECODE(pp.inst_id, 1, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value1
&&_IF_INST2_EXISTS , MAX(DECODE(pp.inst_id, 2, pp.display_value,NULL)) current_value2
&&_IF_INST2_EXISTS , MAX(DECODE(pp.inst_id, 2, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value2
&&_IF_INST3_EXISTS , MAX(DECODE(pp.inst_id, 3, pp.display_value,NULL)) current_value3
&&_IF_INST3_EXISTS , MAX(DECODE(pp.inst_id, 3, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value3
&&_IF_INST4_EXISTS , MAX(DECODE(pp.inst_id, 4, pp.display_value,NULL)) current_value4
&&_IF_INST4_EXISTS , MAX(DECODE(pp.inst_id, 4, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value4
&&_IF_INST5_EXISTS , MAX(DECODE(pp.inst_id, 5, pp.display_value,NULL)) current_value5
&&_IF_INST5_EXISTS , MAX(DECODE(pp.inst_id, 5, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value5
&&_IF_INST6_EXISTS , MAX(DECODE(pp.inst_id, 6, pp.display_value,NULL)) current_value6
&&_IF_INST6_EXISTS , MAX(DECODE(pp.inst_id, 6, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value6
&&_IF_INST7_EXISTS , MAX(DECODE(pp.inst_id, 7, pp.display_value,NULL)) current_value7
&&_IF_INST7_EXISTS , MAX(DECODE(pp.inst_id, 7, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value7
&&_IF_INST8_EXISTS , MAX(DECODE(pp.inst_id, 8, pp.display_value,NULL)) current_value8
&&_IF_INST8_EXISTS , MAX(DECODE(pp.inst_id, 8, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value8
, ' ' end_column
from gv$system_parameter pp
JOIN gv$instance i ON pp.inst_id = i.inst_id
LEFT OUTER JOIN gv$spparameter sp ON pp.inst_id = sp.inst_id AND sp.sid = i.instance_name and pp.name = sp.name
LEFT OUTER JOIN gv$spparameter sp_generic ON sp_generic.inst_id = pp.inst_id AND sp_generic.sid = '*' and sp_generic.name = pp.name
WHERE ( pp.name in ('memory_target','memory_max_target'
,'sga_target','sga_max_size'
,'lock_sga','pre_page_sga','use_large_pages'
,'pga_aggregate_target'
,'java_pool_size','shared_pool_size','large_pool_size'
,'db_cache_size'
)
)
GROUP BY pp.name
UNION ALL
-- Get Host physical memory
select RPAD(os.stat_name,20) name
&&_IF_INST1_EXISTS , MAX(DECODE(os.inst_id, 1, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value1
&&_IF_INST1_EXISTS , NULL spfile_value1
&&_IF_INST2_EXISTS , MAX(DECODE(os.inst_id, 2, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value2
&&_IF_INST2_EXISTS , NULL spfile_value2
&&_IF_INST3_EXISTS , MAX(DECODE(os.inst_id, 3, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value3
&&_IF_INST3_EXISTS , NULL spfile_value3
&&_IF_INST4_EXISTS , MAX(DECODE(os.inst_id, 4, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value4
&&_IF_INST4_EXISTS , NULL spfile_value4
&&_IF_INST5_EXISTS , MAX(DECODE(os.inst_id, 5, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value5
&&_IF_INST5_EXISTS , NULL spfile_value5
&&_IF_INST6_EXISTS , MAX(DECODE(os.inst_id, 6, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value6
&&_IF_INST6_EXISTS , NULL spfile_value6
&&_IF_INST7_EXISTS , MAX(DECODE(os.inst_id, 7, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value7
&&_IF_INST7_EXISTS , NULL spfile_value7
&&_IF_INST8_EXISTS , MAX(DECODE(os.inst_id, 8, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value8
&&_IF_INST8_EXISTS , NULL spfile_value8
, ' ' end_column
from gv$osstat os
where os.stat_name = 'PHYSICAL_MEMORY_BYTES'
GROUP BY os.stat_name
ORDER BY 1
/
set head off
SELECT '- '
&&_IF_INST9_EXISTS || ' <---Inst 9 --->'
&&_IF_INST10_EXISTS || ' <---Inst 10--->'
&&_IF_INST11_EXISTS || ' <---Inst 11--->'
&&_IF_INST12_EXISTS || ' <---Inst 12--->'
&&_IF_INST13_EXISTS || ' <---Inst 13--->'
&&_IF_INST14_EXISTS || ' <---Inst 14--->'
&&_IF_INST15_EXISTS || ' <---Inst 15--->'
&&_IF_INST16_EXISTS || ' <---Inst 16--->'
FROM DUAL;
set head on
select RPAD(pp.name,20) name
&&_IF_INST9_EXISTS , MAX(DECODE(pp.inst_id, 9, pp.display_value,NULL)) current_value9
&&_IF_INST9_EXISTS , MAX(DECODE(pp.inst_id, 9, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value9
&&_IF_INST10_EXISTS , MAX(DECODE(pp.inst_id, 10, pp.display_value,NULL)) current_value10
&&_IF_INST10_EXISTS , MAX(DECODE(pp.inst_id, 10, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value10
&&_IF_INST11_EXISTS , MAX(DECODE(pp.inst_id, 11, pp.display_value,NULL)) current_value11
&&_IF_INST11_EXISTS , MAX(DECODE(pp.inst_id, 11, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value11
&&_IF_INST12_EXISTS , MAX(DECODE(pp.inst_id, 12, pp.display_value,NULL)) current_value12
&&_IF_INST12_EXISTS , MAX(DECODE(pp.inst_id, 12, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value12
&&_IF_INST13_EXISTS , MAX(DECODE(pp.inst_id, 13, pp.display_value,NULL)) current_value13
&&_IF_INST13_EXISTS , MAX(DECODE(pp.inst_id, 13, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value13
&&_IF_INST14_EXISTS , MAX(DECODE(pp.inst_id, 14, pp.display_value,NULL)) current_value14
&&_IF_INST14_EXISTS , MAX(DECODE(pp.inst_id, 14, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value14
&&_IF_INST15_EXISTS , MAX(DECODE(pp.inst_id, 15, pp.display_value,NULL)) current_value15
&&_IF_INST15_EXISTS , MAX(DECODE(pp.inst_id, 15, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value15
&&_IF_INST16_EXISTS , MAX(DECODE(pp.inst_id, 16, pp.display_value,NULL)) current_value16
&&_IF_INST16_EXISTS , MAX(DECODE(pp.inst_id, 16, NVL(sp.display_value,sp_generic.display_value) ,NULL)) spfile_value16
, ' ' end_column
from gv$system_parameter pp
JOIN gv$instance i ON pp.inst_id = i.inst_id
LEFT OUTER JOIN gv$spparameter sp ON pp.inst_id = sp.inst_id AND sp.sid = i.instance_name and pp.name = sp.name
LEFT OUTER JOIN gv$spparameter sp_generic ON sp_generic.inst_id = pp.inst_id AND sp_generic.sid = '*' and sp_generic.name = pp.name
WHERE ( pp.name in ('memory_target','memory_max_target'
,'sga_target','sga_max_size'
,'lock_sga','pre_page_sga','use_large_pages'
,'pga_aggregate_target'
,'java_pool_size','shared_pool_size','large_pool_size'
)
)
AND i.inst_id > 8
GROUP BY pp.name
UNION ALL
-- Get Host physical memory
select RPAD(os.stat_name,20) name
&&_IF_INST9_EXISTS , MAX(DECODE(os.inst_id, 9, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value9
&&_IF_INST9_EXISTS , NULL spfile_value9
&&_IF_INST10_EXISTS , MAX(DECODE(os.inst_id, 10, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value10
&&_IF_INST10_EXISTS , NULL spfile_value10
&&_IF_INST11_EXISTS , MAX(DECODE(os.inst_id, 11, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value11
&&_IF_INST11_EXISTS , NULL spfile_value11
&&_IF_INST12_EXISTS , MAX(DECODE(os.inst_id, 12, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value12
&&_IF_INST12_EXISTS , NULL spfile_value12
&&_IF_INST13_EXISTS , MAX(DECODE(os.inst_id, 13, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value13
&&_IF_INST13_EXISTS , NULL spfile_value13
&&_IF_INST14_EXISTS , MAX(DECODE(os.inst_id, 14, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value14
&&_IF_INST14_EXISTS , NULL spfile_value14
&&_IF_INST15_EXISTS , MAX(DECODE(os.inst_id, 15, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value15
&&_IF_INST15_EXISTS , NULL spfile_value15
&&_IF_INST16_EXISTS , MAX(DECODE(os.inst_id, 16, ROUND(os.value/1024/1024/1024) || 'G',NULL)) current_value16
&&_IF_INST16_EXISTS , NULL spfile_value16
, ' ' end_column
from gv$osstat os
where os.stat_name = 'PHYSICAL_MEMORY_BYTES'
AND os.inst_id > 8
GROUP BY os.stat_name
ORDER BY 1
/
set colsep " "
COLUMN component HEADING "Component" FORMAT a24
COLUMN user_specified_size HEADING "User|Specified|(MB)" FORMAT 99,999,999
COLUMN current_size HEADING "Current|(MB)" FORMAT 99,999,999
COLUMN free_size HEADING "Free|(MB)" FORMAT 99,999,999
COLUMN min_size HEADING "Min|(MB)" FORMAT 99,999,999
COLUMN max_size HEADING "Max|(MB)" FORMAT 99,999,999
COLUMN GRANULE_SIZE HEADING "Granule|(MB)" FORMAT 9,999
COLUMN last_oper_type HEADING "Last|Operation|Type" FORMAT a12
COLUMN oper_count HEADING "Operation|Count" FORMAT 99,999,999
COLUMN last_oper_time HEADING "Last|Operation|Time" FORMAT a18
BREAK ON REPORT
COMPUTE SUM LABEL 'Total' OF current_size FORMAT 99,999,999 ON REPORT
COMPUTE SUM LABEL 'Total' OF free_size FORMAT 99,999,999 ON REPORT
BREAK ON inst_id SKIP 1
SELECT c.inst_id
, c.component
, ROUND(c.user_specified_size / power(1024,2)) user_specified_size
, ROUND(c.current_size / power(1024,2)) current_size
, ROUND(DECODE(c.component
,'PGA Target',NVL(p.value,0)
, ROUND(NVL(s.bytes,0))
)
/ power(1024,2)
) free_size
, ROUND(c.min_size / power(1024,2)) min_size
, ROUND(c.max_size / power(1024,2)) max_size
, ROUND(c.GRANULE_SIZE / power(1024,2)) GRANULE_SIZE
, c.oper_count
, c.last_oper_type
, to_char(c.last_oper_time,'DD-MON-YY hh24:mi:Ss') last_oper_time
FROM gv$memory_dynamic_components c
LEFT OUTER JOIN GV$SGASTAT s ON s.inst_id = c.inst_id AND s.pool = c.component AND s.name = 'free memory'
LEFT OUTER JOIN gv$pgastat p ON p.inst_id = c.inst_id AND p.name = 'total freeable PGA memory'
WHERE c.current_size <> 0
ORDER BY c.inst_id, c.component
/
undefine _IF_INST1_EXISTS
undefine _IF_INST2_EXISTS
undefine _IF_INST3_EXISTS
undefine _IF_INST4_EXISTS
undefine _IF_INST5_EXISTS
undefine _IF_INST6_EXISTS
undefine _IF_INST7_EXISTS
undefine _IF_INST8_EXISTS
undefine _IF_INST9_EXISTS
undefine _IF_INST10_EXISTS
undefine _IF_INST11_EXISTS
undefine _IF_INST12_EXISTS
undefine _IF_INST13_EXISTS
undefine _IF_INST14_EXISTS
undefine _IF_INST15_EXISTS
undefine _IF_INST16_EXISTS
@@footer