рд╢реБрдн рджреЛрдкрд╣рд░ рд╣рдо рд░реЛрд╕реНрдЯреЗрд▓рдХреЙрдо рдХреЗ рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд░рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдХреА рдПрдХ рдЯреАрдо рд╣реИрдВред рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдХреЗ рдкрд╛рд╕ 300 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╖рдо рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╣реИрдВ - рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд┐рд╡рд┐рдзрддрд╛ рд╕рднреА рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд░реЛрд╕реНрдЯреЗрд▓рдХреЙрдо рдХреЗ рдХрд╛рдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╣рдо рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдЯреЛрд░реЗрдЬ рд▓реВрдк рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВред
 рд╕рддрд╣ рдкрд░ рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд░реЛрд╡рд░ред рдЗрд╕рдХреЗ рдХрдИ рд╡рд┐рд╖рдо рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рднреА рд╣реИрдВред Therahnuma.com рд╕реЗ рд▓реА рдЧрдИ рдЫрд╡рд┐ред
рд╕рддрд╣ рдкрд░ рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд░реЛрд╡рд░ред рдЗрд╕рдХреЗ рдХрдИ рд╡рд┐рд╖рдо рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рднреА рд╣реИрдВред Therahnuma.com рд╕реЗ рд▓реА рдЧрдИ рдЫрд╡рд┐редрдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рджреЛ рдЙрдк-рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЕрдкрдиреЗ рдЧреБрдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрд░реЛрдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдФрд░ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдХреЗ "рд░рд┐рд╕реАрд╡рд░реНрд╕" рддреИрдпрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд░рдгрдиреАрддрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рд┐рднрд┐рдиреНрди GUI рдФрд░ рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдХ DBMS рд╕реВрдЪрдирд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдУрд░реЗрдХрд▓) рдХреЗ рд╕рд╣рд╛рдпрдХ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдПрдХ рдкреВрд▓ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд╣рдорд╛рд░реА рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдРрд╕реА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ "рд╕рдЬреНрдЬрди рд╕реЗрдЯ" рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреАрдмрджреНрдз рд╕рднреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╡реНрдпрд╛рдЦреНрдпрд╛:
- рдХрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ xmlagg рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдЧреНрд░реАрдЧреЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдХрд░рддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд▓рд┐рд╕реНрдЯрд╛рдЧреЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд▓рд┐рд╕реНрдЯреИрдЧ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
 
- "рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдХрд╛рд░реНрдп рдФрд░ рдкреИрдХреЗрдЬ" рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ, рд▓рдХреНрд╖реНрдп рддрд╛рд▓рд┐рдХрд╛ рдХреЛ "рддрд╛рд▓рд┐рдХрд╛" рдмреНрд▓реЙрдХ рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдФрд░ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рднрд░рд╛ рдЬрд╛рддрд╛ рд╣реИред
 
- рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд╡рд┐рд╡рд░рдг (рдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯ), рдФрд░ рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕реВрдЪреА (рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред
 
рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА"
рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ :
рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓: all_tab_columns, all_tab_comments, all_tab_statistics, all_part_key_columns, all_subpart_key_columnsред
рд╕реНрд░реЛрдд рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдбреЗрдЯрд╛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рдгрдиреАрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдЙрдкрдпреЛрдЧреА рд╣реИред рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХреЛ рд╡рд┐рдЪрд╛рд░ рдХреЗ рддрд╣рдд рдЯреЗрдмрд▓ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЙрд╕ рдкрд░ "рд╡реЗрддрди рд╡реГрджреНрдзрд┐" рдХреЗ рдмрд╛рдж рдХреЗ рдЖрд╡рдВрдЯрди рдХреЗ рд╕рд╛рде рдЕрдирд▓реЛрдбрд┐рдВрдЧ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╕рдордп рдЯрд┐рдХрдЯ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдбрд╛рд▓рдиреЗ рдпрд╛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реЗ рддрдХрдиреАрдХреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ - рдЖрдк рдХреЗрд╡рд▓ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд / рдЬреЛрдбрд╝реЗ рдЧрдП рд░рд┐рдХреЙрд░реНрдб рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рднрд╛рдЬрди рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдорд╛рди рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╕рдордп рдХрд╛рдо рдЖ рд╕рдХрддреА рд╣реИ, "рд░рд┐рд╕реАрд╡рд░"ред
рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп:with filter (owner, table_name) as (    select 'SCHEMA_NAME_1', t.*    from table(        sys.odcivarchar2list(            'TABLE_NAME_1'            , 'TABLE_NAME_2'        )    ) t    union all    select        owner        , table_name    from        all_tables    where owner = 'SCHEMA_NAME_2' ) select    a.owner as schema_name    , a.table_name    , e.comments    , b.height    , c.width    , d.datetime_columns    , b.avg_row_len    , p.part_key    , s.subpart_key from    filter a    left join (        select            owner            , table_name            , num_rows as height            , avg_row_len        from all_tab_statistics        where object_type = 'TABLE'    ) b        on            a.table_name = b.table_name            and a.owner = b.owner    left join (        select            owner            , table_name            , count(1) as width        from all_tab_columns        group by            owner            , table_name    ) c        on            a.table_name = c.table_name            and a.owner = c.owner    left join (        select            owner            , table_name            , listagg(                column_name || ' (' || data_type || ')'                , ', '            ) within group (order by column_id) as datetime_columns        from all_tab_columns        where            data_type = 'DATE'            or data_type like 'TIMESTAMP%'            or data_type like 'INTERVAL%'            or lower(column_name) like '%period%'            or lower(column_name) like '%date%'            or lower(column_name) like '%time%'        group by            owner            , table_name    ) d        on            a.table_name = d.table_name            and a.owner = d.owner    left join (        select            owner            , table_name            , comments        from all_tab_comments        where table_type = 'TABLE'    ) e        on            a.table_name = e.table_name            and a.owner = e.owner    left join (        select            owner            , name as table_name            , listagg(                column_name                , ', '            ) within group (order by column_position) as part_key        from all_part_key_columns        where object_type = 'TABLE'        group by            owner            , name    ) p        on            a.owner = p.owner            and a.table_name = p.table_name    left join (        select            owner            , name as table_name            , listagg(                column_name                , ', '            ) within group (order by column_position) as subpart_key        from all_subpart_key_columns        where object_type = 'TABLE'        group by            owner            , name    ) s        on            a.owner = s.owner            and a.table_name = s.table_name order by    e.owner    , e.table_name ; 
рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рд╡рд┐рднрд╛рдЬрди рдФрд░ рдЙрдкрдкреНрд░рдХрд╛рд░"
рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛:
рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓: all_tab_partitions, all_tab_subpartitions, all_part_key_columns, all_subpart_key_columnsред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рднрд╛рдЬрди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ (рдирд╛рдо, рдЖрдХрд╛рд░) рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА рдЬрдм рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп: with filter (owner, table_name) as (   select 'SCHEMA_NAME_1', t.*   from table(       sys.odcivarchar2list(           'TABLE_NAME_1'           , 'TABLE_NAME_2'       )   ) t   union all   select       owner       , table_name   from       all_tables   where owner = 'SCHEMA_NAME_2' ) select   f.owner as schema_name   , f.table_name   , p.part_key   , pc.partition_name   , pc.partition_position   , pc.num_rows as partition_height   , s.subpart_key   , sc.subpartition_name   , sc.subpartition_position   , sc.num_rows as subpartition_height from   filter f   join (       select           owner           , name as table_name           , listagg(               column_name               , ', '           ) within group (order by column_position) as part_key       from all_part_key_columns       where object_type = 'TABLE'       group by           owner           , name   ) p       on           f.owner = p.owner           and f.table_name = p.table_name   left join all_tab_partitions pc       on           p.table_name = pc.table_name           and p.owner = pc.table_owner   left join (       select           owner           , name as table_name           , listagg(               column_name               , ', '           ) within group (order by column_position) as subpart_key       from all_subpart_key_columns       where object_type = 'TABLE'       group by           owner           , name   ) s       on           p.owner = s.owner           and p.table_name = s.table_name   left join all_tab_subpartitions sc       on           f.owner = sc.table_owner           and f.table_name = sc.table_name           and pc.partition_name = sc.partition_name   order by       f.owner       , f.table_name ; 
рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд░рдЪрдирд╛ рд░рдЪрдирд╛"
рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛:
рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓: all_tables, all_constraints, all_cons_columns, all_tab_columns, all_col_comments, v $ nls_parametersред
рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдореЗрдВ "рд░рд┐рд╕реАрд╡рд░" рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА рдЬрдм рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА, рдЕрдиреНрдп рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдлрд╝рд┐рд▓реНрдЯрд░ 2 рдЯреЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреЗрдмрд▓ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ (рд╕реЗ рдФрд░) рдЦреЛрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреАрдореЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рд╕рднреА рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рддрд╛рд▓рд┐рдХрд╛рдПрдВ рд▓реА рдЬрд╛рддреА рд╣реИрдВред
рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп: with filter (owner, table_name) as (   select 'SCHEMA_NAME_1', t.*   from table(       sys.odcivarchar2list(           'TABLE_NAME_1'           , 'TABLE_NAME_2'       )   ) t   union all   select       owner       , table_name   from       all_tables   where owner = 'SCHEMA_NAME_2' ) , filter2 (owner, table_name) as (   select owner, table_name   from all_tables   where owner not in ('MDSYS', 'CTXSYS', 'SYSTEM', 'XDB', 'SYS') ) , refs as (   select       b.constraint_type as from_constraint_type       , b.constraint_name as from_constraint_name       , d.position as from_position       , d.column_name as from_column_name       , b.table_name as from_table_name       , b.owner as from_owner       , a.owner as to_owner       , a.table_name as to_table_name       , c.column_name as to_column_name       , c.position as to_position       , a.constraint_name as to_constraint_name       , a.constraint_type as to_constraint_type   from       all_constraints a       left join all_constraints b           on               a.r_constraint_name = b.constraint_name               and a.r_owner = b.owner       left join all_cons_columns c           on               a.constraint_name = c.constraint_name               and a.table_name = c.table_name               and a.owner = c.owner       left join all_cons_columns d           on               b.constraint_name = d.constraint_name               and b.table_name = d.table_name               and b.owner = d.owner       where           a.constraint_type = 'R'           and b.constraint_type in ('P', 'U')           and c.position = d.position ) , depends as (   select       rtrim(           xmlagg(               xmlelement(                   e                   , to_owner || '.' || to_table_name || '.' || to_column_name                   , ', '               ).extract('//text()')               order by to_owner           ).getclobval()           , ', '       ) as val       , from_owner as owner       , from_table_name as table_name       , from_column_name as column_name   from refs   where (to_owner, to_table_name) in (select * from filter2)   group by       from_table_name       , from_column_name       , from_owner ) , impacts as (   select       rtrim(           xmlagg(               xmlelement(                   e                   , from_owner || '.' || from_table_name || '.' || from_column_name                   , ', '               ).extract('//text()')               order by from_owner           ).getclobval()           , ', '       ) as val       , to_owner as owner       , to_table_name as table_name       , to_column_name as column_name   from refs   where (from_owner, from_table_name) in (select * from filter2)   group by       to_table_name       , to_column_name       , to_owner ) select   f.owner as schema_name   , f.table_name   , a.column_id   , a.column_name   , a.data_type   , b.comments as column_comment      , decode (       a.data_type       , 'NUMBER', nvl(a.data_scale, 0)       , ''   ) as scale   , decode (       a.data_type       , 'NUMBER', nvl(a.data_precision, 38)       , ''   ) as precision      , a.data_length as byte_length   , case       when a.data_type in ('CHAR', 'VARCHAR2', 'NCHAR', 'NVARCHAR2')       then d.value   end as encoding   , case       when a.data_type in ('CHAR', 'VARCHAR2', 'NCHAR', 'NVARCHAR2')       then a.char_length  
рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ, рдХрд╛рд░реНрдп рдФрд░ рдкреИрдХреЗрдЬ"
рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛:рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓: all_source
рд╕реНрд░реЛрдд рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╕рдордп, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкрд░рд┐рд╕рдВрдЪрд╛рд░реА рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдп рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдХреБрд▓, рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдХреЛрдб рдЖрдзрд╛рд░ рдХреЗ рдмрд┐рдирд╛ рдРрд╕рд╛ рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдкреВрд░реНрдг рдпрд╛ рд▓рд╛рдкрддрд╛ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рдеред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реВрдЪреАрдмрджреНрдз рд╡рд╕реНрддреБрдУрдВ рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрдВрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд╡реЗрд░реА рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдкрд╕рдВрджреАрджрд╛ рд╕рдВрдкрд╛рджрдХ рджреНрд╡рд╛рд░рд╛ рдЖрдЧреЗ рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╣реИрдВрдбрд▓рд░ (рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рджреНрд╡рд╛рд░рд╛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рднрд┐рдиреНрди рд╣реИрдВрдбрд▓рд░ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдкрд░ "рддреНрд░рд┐рд╢рдВрдХреБ" рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рд╕реМрдВрджрд░реНрдпреАрдХрд░рдг, рдЕрд▓рдВрдХреГрдд рдХрд░рдирд╛, рдЖрджрд┐ред
рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп: select   t.owner as schema_name   , t.name as name   , xmlagg(       xmlelement(           e           , t.text           , ''       ).extract('//text()')       order by t.line asc   ).getclobval() as body   , f.wrapped   , t.type as type from (   select       owner, name, type       , case           when lower(text) like '%wrapped%' then 1           else 0       end as wrapped   from all_source   where type in (       'PACKAGE BODY'       , 'PACKAGE'       , 'FUNCTION'       , 'PROCEDURE'   )   and line = 1   and owner not in ('MDSYS', 'CTXSYS', 'SYSTEM', 'XDB', 'SYS') ) f join all_source t on   f.owner = t.owner   and f.name = t.name   and f.type = t.type group by   t.owner   , t.name   , t.type   , f.wrapped order by   t.owner   , t.name   , t.type ; 
рдирд┐рд╖реНрдХрд░реНрд╖
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рд░рдЪрдирд╛рддреНрдордХ рдЪреАрдЬреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреА рд╣реИрдВ, рдЬреИрд╕реЗ рд▓реЛрдбрд┐рдВрдЧ рд░рдгрдиреАрддрд┐ рдФрд░ "рд░рд┐рд╕реАрд╡рд░" рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдЖрдПрдЧреАред рдпрд╣ рдЬрд╛рдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдЗрди рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред