Search This Blog

Total Pageviews

Tuesday 18 October 2011

Oracle Schema comment report

Oracle comment report
Oracle comment


set serveroutput on size 1000000
spool docdb.txt
DECLARE
l_unixdb_owner VARCHAR2(20) := UPPER('&1');

CURSOR get_tc IS
SELECT * FROM dba_tab_comments
WHERE comments IS NOT NULL
AND owner=l_unixdb_owner
AND table_name not like '%JN' -- omit Designer journal tables
ORDER BY table_name;

CURSOR get_cc (p_owner dba_tables.owner%TYPE
,p_table_name dba_tables.table_name%TYPE) IS
SELECT dcc.comments
, dtc.column_name
, DECODE(dtc.nullable,'Y','(Optional)','N','(Mandatory)') nullable
FROM dba_col_comments dcc, dba_tab_columns dtc
WHERE dcc.owner = dtc.owner
AND dcc.table_name = dtc.table_name
AND dcc.column_name = dtc.column_name
AND dcc.owner=p_owner AND dcc.table_name= p_table_name
AND dcc.comments IS NOT NULL
ORDER BY dtc.column_name
;
BEGIN
FOR tab_rec IN get_tc LOOP
dbms_output.put_line('.');
dbms_output.put_line('------------------- Start Of '
||tab_rec.table_type
||' '
||tab_rec.table_name
|| ' ---------------------');
dbms_output.put_line('.');
dbms_output.put_line(tab_Rec.table_type||' Description');
dbms_output.put_line('-----------------');
dbms_output.put_line(tab_rec.comments);
FOR col_rec IN get_cc (tab_rec.owner, tab_rec.table_name) LOOP

IF get_cc%ROWCOUNT = 1 THEN
dbms_output.put_line('.');
dbms_output.put_line('Column Descriptions');
dbms_output.put_line('-------------------');
END IF;

dbms_output.put_line (col_rec.column_name
||' '||col_rec.nullable);
dbms_output.put_line (col_rec.comments);

END LOOP;

dbms_output.put_line('.');
dbms_output.put_line('------------------- End Of Object ---------------------'
);

END LOOP;

END;
/



@comment SYSTEM




------------------- End Of Object ---------------------
.
------------------- Start Of TABLE REPCAT$_TEMPLATE_TYPES ---------------------
.
TABLE Description
-----------------
Internal table for maintaining types of templates.
.
Column Descriptions
-------------------
FLAGS (Optional)
Bitmap flags controlling each type of template.
SPARE1 (Optional)
Reserved for future expansion.
TEMPLATE_DESCRIPTION (Optional)
Description of the template type.
TEMPLATE_TYPE_ID (Mandatory)
Internal primary key of the template types table.
.
------------------- End Of Object ---------------------

Oracle Object summary on schema

Oracle Object summary on schema


Oracle Object list user wise

 Oracle Object summary on schema

Object summary on user wise




set pagesize 10000 wrap off linesize 200 heading on tab on  scan on  verify off
column tab format 9999  heading "tab"
column ind format 9999  heading "ind"
column syn format 9999  heading "syn"
column vew format 9999  heading "vew"
column seq format 9999  heading "seq"
column prc format 9999  heading "prc"
column fun format 9999  heading "fun"
column pck format 9999  heading "pck"
column trg format 9999  heading "trg"
column dep format 9999  heading "dep"

spool list_objects_by_user.lst

ttitle 'Object count by user' -
skip 2
select substr(username,1,10) "user",
count(decode(o.type#, 2, o.obj#, '')) tab,
count(decode(o.type#, 1, o.obj#, '')) ind,
count(decode(o.type#, 5, o.obj#, '')) syn,
count(decode(o.type#, 4, o.obj#, '')) vew,
count(decode(o.type#, 6, o.obj#, '')) seq,
count(decode(o.type#, 7, o.obj#, '')) prc,
count(decode(o.type#, 8, o.obj#, '')) fun,
count(decode(o.type#, 9, o.obj#, '')) pck,
count(decode(o.type#,12, o.obj#, '')) trg,
count(decode(o.type#,10, o.obj#, '')) dep
from sys.obj$ o, sys.dba_users u
where u.user_id = o.owner# (+)
and o.type# > 0
group by username
order by 1;
spool off
set feed on echo off termout on pages 24 verify on




@obj.sql


Object count by user

user                                       tab   ind   syn   vew   seq   prc   fun   pck   trg   dep
---------------------------------------- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
ABC                                          1     0     0     0     0     0     0     0     0     0
ANUJ                                         4     2     0     0     0     0     0     0     0     0
ANUJREP                                      1     1     0     0     0     0     0     0     0     0
ANUJTEST                                     1     0     0     0     0     0     0     0     0     0
APEX_03020                                 360  1101    45   125     4    19    12   189   366     0
APEX_04000                                 426  1362    54   175     3    19    12   234   439     0
APPQOSSYS                                    2     0     1     0     0     0     0     0     0     0
BI                                           0     0     8     0     0     0     0     0     0     0
CTXSYS                                      47    58     0    71     3     2     2    73     0     0
DBSNMP                                      25    13     1     7     2     1     0     4     0     0
EXFSYS                                      47    41     0    56     1    10    26    18     5     0
FLOWS_FILE                                   1     5     5     0     0     0     0     0     1     0
GGATE                                       12    17     0     0     2     4     4     2     0     0
HR                                           7    19     0     1     3     2     0     0     2     0
IX                                          17    17     0     8     2     0     0     0     0     0
MDSYS                                      123   208     0    86    15     2   107    70    53     0
OE                                          14    48     6    13     1     0     1     0     4     0
OLAPSYS                                    126   137     0   307     5     0     1    45    48     0
ORACLE_OCM                                   0     0     0     0     0     0     0     3     0     0
ORDDATA                                     73   138     0    25    12     0     0     0     0     0
ORDPLUGINS                                   0     0     0     0     0     0     0     5     0     0
ORDSYS                                       5     4     0     5     0     7    32    28     0     0
OUTLN                                        3     5     0     0     0     1     0     0     0     0
OWBSYS                                       1     1     0     0     0     0     0     0     0     0
OWBSYS_AUD                                   0     0    12     0     0     0     0     0     0     0
PERFSTAT                                    72    72     0     1     1     0     0     1     0     0
PM                                           3    21     0     0     0     0     0     0     0     0
RMAN                                        44    96     0    98     1     0     2     2     3     0
SCOTT                                       15     9     0     0     2     0     3     0     0     0
SH                                          17    29     0     1     0     0     0     0     0     0
SI_INFORMT                                   0     0     8     0     0     0     0     0     0     0
SYS                                       1013  1200     9  3761   136   107   107   628    11     0
SYSTEM                                     157   232     8    12    20     1     0     1     2     0
TEST_USER                                    0     0     0     0     0     0     1     0     0     0
VIHAAN                                       1     0     0     0     0     0     0     0     0     0
WMSYS                                       45    69     0   110     9     4     4    22     2     0
XDB                                         81   468     0     5     5     4     7    34    27     5

37 rows selected.



========================================



column name format a13 trunc heading SCHEMA
column cl format 99999 heading CLSTR
column ta format 99999 heading TABLE
column ix format 99999 heading INDEX
column se format 99999 heading SEQNC
column tr format 99999 heading TRIGR
column fn format 99999 heading FUNCT
column pr format 99999 heading PROCD
column pa format 99999 heading PACKG
column vi format 99999 heading VIEWS
column sy format 99999 heading SYNYM
column ot format 99999 heading OTHER
break on report
compute sum of cl ta ix se tr fn pr pa vi sy ot on report

select
u.name,
sum(decode(o.type#, 3, objs)) cl,
sum(decode(o.type#, 2, objs)) ta,
sum(decode(o.type#, 1, objs)) ix,
sum(decode(o.type#, 6, objs)) se,
sum(decode(o.type#, 12,objs)) tr,
sum(decode(o.type#, 8, objs)) fn,
sum(decode(o.type#, 7, objs)) pr,
sum(decode(o.type#, 9, objs)) pa,
sum(decode(o.type#, 4, objs)) vi,
sum(decode(o.type#, 5, objs)) sy,
sum(decode(o.type#, 1,0, 2,0, 3,0, 4,0, 5,0, 6,0, 7,0, 8,0, 9,0, 12,0, objs)) ot
from
(select owner#, type#, count(*) objs from sys.obj$ group by owner#, type#) o,
sys.user$ u
where
u.user# = o.owner#
group by
u.name
order by
decode(u.name, 'SYS', 1, 'SYSTEM', 2, 'PUBLIC', 3, 4),
u.name
/



SQL> @obj1

object count by user

SCHEMA         CLSTR  TABLE  INDEX  SEQNC  TRIGR  FUNCT  PROCD  PACKG  VIEWS  SYNYM  OTHER
------------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------
SYS               10   1013   1200    136     11    107    107    628   3761      9  24507
SYSTEM                  157    232     20      2             1      1     12      8    119
PUBLIC                                                                        27507      0
ABC                       1                                                              0
ANUJ                      4      2                                                       0
ANUJREP                   1      1                                                       0
ANUJTEST                  1                                                              0
APEX_030200             360   1101      4    366     12     19    189    125     45    340
APEX_040000             426   1362      3    439     12     19    234    175     54    420
APPQOSSYS                 2                                                       1      0
BI                                                                                8      0
CTXSYS                   47     58      3             2      2     73     71           112
DBSNMP                   25     13      2                    1      4      7      1     12
EXFSYS                   47     41      1      5     26     10     18     56           108
FLOWS_FILES               1      5             1                                  5      1
GGATE                    12     17      2             4      4      2                    2
HR                        7     19      3      2             2             1             0
IX                       17     17      2                                  8            14
MDSYS                   123    208     15     53    107      2     70     86           939
OE                       14     48      1      4      1                   13      6     55
OLAPSYS                 126    137      5     48      1            45    307            52
ORACLE_OCM                                                          3                    5
ORDDATA                  73    138     12                                 25             9
ORDPLUGINS                                                          5                    5
ORDSYS                    5      4                   32      7     28      5          2451
OUTLN                     3      5                           1                           1
OWBSYS                    1      1                                                       0
OWBSYS_AUDIT                                                                     12      0
PERFSTAT                 72     72      1                           1      1             1
PM                        3     21                                                      20
RMAN                     44     96      1      3      2             2     98             6
SCOTT                    15      9      2             3                                  3
SH                       17     29                                         1           261
SI_INFORMTN_S                                                                     8      0
TEST_USER                                             1                                  0
VIHAAN                    1                                                              0
WMSYS                    45     69      9      2      4      4     22    110            59
XDB                      81    468      5     27      7      4     34      5           558
              ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------
sum               10   2744   5373    227    963    321    183   1359   4867  27664  30060

38 rows selected.

=============


SET PAGES 100  LINESIZE 120 TRIMS ON ECHO OFF VERIFY ON FEEDBACK ON
COLUMN owner            FORMAT a19     HEADING "Owner"
COLUMN sum_table        FORMAT 999,999 HEADING "Tables"
COLUMN sum_index        FORMAT 999,999 HEADING "Indexes"
COLUMN sum_view         FORMAT 999,999 HEADING "Views"
COLUMN sum_sequence     FORMAT 999,999 HEADING "Sequences"
COLUMN sum_synonym      FORMAT 999,999 HEADING "Synonyms"
COLUMN sum_cluster      FORMAT 999,999 HEADING "Clusters"
COLUMN sum_procedure    FORMAT 999,999 HEADING "Procedures"
COLUMN sum_package      FORMAT 999,999 HEADING "Packages"
COLUMN sum_package_body FORMAT 999,999 HEADING "Pckg Bodies"
COLUMN sum_db_link      FORMAT 999,999 HEADING "DB Links"

COMPUTE SUM OF sum_table        ON REPORT
COMPUTE SUM OF sum_index        ON REPORT
COMPUTE SUM OF sum_view         ON REPORT
COMPUTE SUM OF sum_sequence     ON REPORT
COMPUTE SUM OF sum_synonym      ON REPORT
COMPUTE SUM OF sum_cluster      ON REPORT
COMPUTE SUM OF sum_procedure    ON REPORT
COMPUTE SUM OF sum_package      ON REPORT
COMPUTE SUM OF sum_package_body ON REPORT
COMPUTE SUM OF sum_db_link      ON REPORT

spool object.lst

SELECT O.owner,
  Sum( Decode( O.object_type, 'TABLE', 1, 0))          AS "sum_table",
  Sum( Decode( O.object_type, 'INDEX', 1, 0))          AS "sum_index",
  Sum( Decode( O.object_type, 'VIEW', 1, 0))           AS "sum_view",
  Sum( Decode( O.object_type, 'SEQUENCE', 1, 0))       AS "sum_sequence",
  Sum( Decode( O.object_type, 'SYNONYM', 1, 0))        AS "sum_synonym",
  Sum( Decode( O.object_type, 'CLUSTER', 1, 0))        AS "sum_cluster",
  Sum( Decode( O.object_type, 'PROCEDURE', 1,0))       AS "sum_procedure",
  Sum( Decode( O.object_type, 'PACKAGE', 1, 0))        AS "sum_package",
  Sum( Decode( O.object_type, 'PACKAGE BODY',1,0))     AS "sum_package_body",
  Sum( Decode( O.object_type, 'DATABASE LINK', 1,0))   AS "sum_db_link"
FROM dba_objects O
GROUP BY O.owner

/

SPOOL OFF
CLEAR COLUMNS
CLEAR COMPUTES






Owner                 Tables  Indexes    Views Sequences Synonyms Clusters Procedures Packages Pckg Bodies DB Links
------------------- -------- -------- -------- --------- -------- -------- ---------- -------- ----------- --------
OWBSYS_AUDIT               0        0        0         0       12        0          0        0           0        0
MDSYS                    123      114       86        15        0        0          2       70          66        0
RMAN                      44       96       98         1        0        0          0        2           2        0
PUBLIC                     0        0        0         0   27,507        0          0        0           0        0
OUTLN                      3        4        0         0        0        0          1        0           0        0
CTXSYS                    47       56       71         3        0        0          2       73          62        0
OLAPSYS                  126      135      307         5        0        0          0       45          43        0
FLOWS_FILES                1        4        0         0        5        0          0        0           0        0
OWBSYS                     1        1        0         0        0        0          0        0           0        0
HR                         7       19        1         3        0        0          2        0           0        0
ANUJTEST                   1        0        0         0        0        0          0        0           0        0
SYSTEM                   157      210       12        20        8        0          1        1           1        0
ORACLE_OCM                 0        0        0         0        0        0          0        3           3        0
EXFSYS                    47       39       56         1        0        0         10       18          18        0
SCOTT                     17        9        0         2        0        0          0        0           0        0
ABC                        1        0        0         0        0        0          0        0           0        0
APEX_030200              360      946      125         4       45        0         19      189         181        0
APEX_040000              426    1,177      175         3       54        0         19      234         227        0
PM                         3        4        0         0        0        0          0        0           0        0
OE                        14       33       13         1        6        0          0        0           0        0
DBSNMP                    25       13        7         2        1        0          1        4           4        0
ORDSYS                     5        4        5         0        0        0          7       28          20        0
ORDPLUGINS                 0        0        0         0        0        0          0        5           5        0
SH                        17       27        1         0        0        0          0        0           0        0
IX                        17       14        8         2        0        0          0        0           0        0
APPQOSSYS                  2        0        0         0        1        0          0        0           0        0
XDB                       81      128        5         5        0        0          4       34          33        0
ORDDATA                   73      129       25        12        0        0          0        0           0        0
BI                         0        0        0         0        8        0          0        0           0        0
SYS                    1,012    1,026    3,761       136        9       10        107      628         602        0
WMSYS                     45       61      110         9        0        0          4       22          22        0
SI_INFORMTN_SCHEMA         0        0        0         0        8        0          0        0           0        0
ANUJ                       4        2        0         0        0        0          0        0           0        0
GGATE                     12       16        0         2        0        0          4        2           1        0
PERFSTAT                  72       72        1         1        0        0          0        1           1        0
TEST_USER                  0        0        0         0        0        0          0        0           0        0
ANUJREP                    1        1        0         0        0        0          0        0           0        0
VIHAAN                     1        0        0         0        0        0          0        0           0        0

38 rows selected.






Oracle DBA

anuj blog Archive