提供思路,以存储过程为例,其他类似:
1、查看不同类型的对象数量情况
SELECT DECODE(OBJECT_TYPE,‘SCH’,‘模式’,‘TABLE’,‘表’,‘VIEW’,‘视图’,‘MATERIALIZED VIEW’,‘物化视图’,‘PROCEDURE’,‘存储过程’,‘FUNCTION’,‘函数’,‘SEQUENCE’,‘序列’,‘TRIGGER’,‘触发器’,‘PACKAGE’,‘包’,‘PACKAGE BODY’,‘包主体’,‘CLASS’,‘类’,‘SYNONYM’,‘同义词’,‘DOMAIN’,‘域’,‘TYPE’,‘自定义类型’,‘INDEX’,‘索引’,‘CONSTRAINT’,‘约束’,‘SEQUENCE’,‘序列’,‘TABLE PARTITION’,‘分区表’) AS 对象名称,OWNER AS 所属用户,COUNT(*)AS 数量 FROM DBA_OBJECTS WHERE OWNER NOT IN (‘SYS’,‘SYSTEM’,‘SYSAUDITOR’,‘SYSJOB’,‘SYSSSO’,‘CTISYS’) GROUP BY OBJECT_TYPE,OWNER ORDER BY OWNER ASC,OBJECT_TYPE DESC;
2、写拼接函数,利用DBMS_METADATA包的get_ddl方法获取ddl定义。下面是获取SYSDBA中所有存储过程定义的SQL。
select ‘SELECT TO_CHAR(DBMS_METADATA.GET_DDL(’‘PROCEDURE’‘,’‘’||OBJECT_NAME||‘’‘,’‘’||OWNER||‘’‘));’ from DBA_OBJECTS where DBA_OBJECTS.OBJECT_TYPE=‘PROCEDURE’ AND OWNER=‘SYSDBA’;
提供思路,以存储过程为例,其他类似:
1、查看不同类型的对象数量情况
SELECT DECODE(OBJECT_TYPE,‘SCH’,‘模式’,‘TABLE’,‘表’,‘VIEW’,‘视图’,‘MATERIALIZED VIEW’,‘物化视图’,‘PROCEDURE’,‘存储过程’,‘FUNCTION’,‘函数’,‘SEQUENCE’,‘序列’,‘TRIGGER’,‘触发器’,‘PACKAGE’,‘包’,‘PACKAGE BODY’,‘包主体’,‘CLASS’,‘类’,‘SYNONYM’,‘同义词’,‘DOMAIN’,‘域’,‘TYPE’,‘自定义类型’,‘INDEX’,‘索引’,‘CONSTRAINT’,‘约束’,‘SEQUENCE’,‘序列’,‘TABLE PARTITION’,‘分区表’) AS 对象名称,OWNER AS 所属用户,COUNT(*)AS 数量 FROM DBA_OBJECTS WHERE OWNER NOT IN (‘SYS’,‘SYSTEM’,‘SYSAUDITOR’,‘SYSJOB’,‘SYSSSO’,‘CTISYS’) GROUP BY OBJECT_TYPE,OWNER ORDER BY OWNER ASC,OBJECT_TYPE DESC;
2、写拼接函数,利用DBMS_METADATA包的get_ddl方法获取ddl定义。下面是获取SYSDBA中所有存储过程定义的SQL。
select ‘SELECT TO_CHAR(DBMS_METADATA.GET_DDL(’‘PROCEDURE’‘,’‘’||OBJECT_NAME||‘’‘,’‘’||OWNER||‘’‘));’ from DBA_OBJECTS where DBA_OBJECTS.OBJECT_TYPE=‘PROCEDURE’ AND OWNER=‘SYSDBA’;