77 lines
2.1 KiB
SQL
77 lines
2.1 KiB
SQL
-- 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.
|
|
|
|
col o_owner heading owner for a25
|
|
col o_object_name heading OBJECT_NAME for a30
|
|
col o_subobject_name heading SUBOBJECT_NAME FOR a30
|
|
col o_object_type heading OBJECT_TYPE for a18
|
|
col o_status heading STATUS for a9
|
|
|
|
prompt Display number of buffered blocks of a segment using X$KCBOQH for table &1
|
|
|
|
-- done: currently buggy when data object ID doesn't match object Id (due to truncate or alter table move / rebuild)
|
|
-- todo: currently doesn't join properly to undo segment info
|
|
select * from (
|
|
select
|
|
ROUND(SUM(x.num_buf * ts.blocksize) / 1024 / 1024 , 2) mb_buf,
|
|
SUM(x.num_buf) num_buf,
|
|
o.owner o_owner,
|
|
o.object_name o_object_name,
|
|
-- o.subobject_name o_subobject_name,
|
|
ts.name tablespace_name,
|
|
o.object_type o_object_type,
|
|
o.status o_status
|
|
-- o.object_id oid,
|
|
-- o.data_object_id d_oid,
|
|
-- o.created,
|
|
-- o.last_ddl_time
|
|
from
|
|
dba_objects o
|
|
, x$kcboqh x
|
|
, dba_segments s
|
|
-- , sys_objects so
|
|
, ts$ ts
|
|
where
|
|
x.obj# = o.data_object_id
|
|
--and o.data_object_id = so.object_id
|
|
and o.owner = s.owner
|
|
and o.object_name = s.segment_name
|
|
and SYS_OP_MAP_NONNULL(o.subobject_name) = SYS_OP_MAP_NONNULL(s.partition_name)
|
|
and s.tablespace_name = ts.name
|
|
--and x.ts# = ts.ts#
|
|
and
|
|
upper(object_name) LIKE
|
|
upper(CASE
|
|
WHEN INSTR('&1','.') > 0 THEN
|
|
SUBSTR('&1',INSTR('&1','.')+1)
|
|
ELSE
|
|
'&1'
|
|
END
|
|
)
|
|
AND o.owner LIKE
|
|
CASE WHEN INSTR('&1','.') > 0 THEN
|
|
UPPER(SUBSTR('&1',1,INSTR('&1','.')-1))
|
|
ELSE
|
|
user
|
|
END
|
|
group by
|
|
o.owner
|
|
, o.object_name
|
|
--, o.subobject_name
|
|
, ts.name
|
|
, o.object_type
|
|
, o.status
|
|
--, o.object_id
|
|
--, data_object_id
|
|
--, o.created
|
|
--, o.last_ddl_time
|
|
order by
|
|
mb_buf desc
|
|
-- o_object_name,
|
|
-- o_owner,
|
|
-- o_object_type
|
|
)
|
|
where
|
|
rownum <= 20
|
|
/
|