728x90

-- DEPENDENCY CHECK

-- BIND 변수 

OWNER - 변경할 OBJECT OWNER 

NAME - 변경할 OBJECT NA

 

SELECT '1 Level' LV, D.OWNER "참조 OBJECT OWNER",D.NAME "참조 OBJECT NAME",D.TYPE "참조 OBJECT TYPE",
       D.REFERENCED_OWNER "변경대상 OBJECT OWNER",D.REFERENCED_NAME "변경대상 OBJECT NAME",D.REFERENCED_TYPE "변경대상 OBJECT TYPE",
       CREATED "참조 OBJECT 생성일",A.LAST_DDL_TIME "참조 OBJECT 최종 DDL TIME",A.STATUS "참조 OBJECT 상태"
  FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
 WHERE A.OWNER = D.OWNER
   AND A.OBJECT_NAME = D.NAME
   AND D.REFERENCED_OWNER = :OWNER   
   AND D.REFERENCED_NAME = :NAME
UNION ALL   
SELECT '2 Level' LV,D.OWNER "참조 OBJECT OWNER",D.NAME "참조 OBJECT NAME",D.TYPE "참조 OBJECT TYPE",
       D.REFERENCED_OWNER "변경대상 OBJECT OWNER",D.REFERENCED_NAME "변경대상 OBJECT NAME",D.REFERENCED_TYPE "변경대상 OBJECT TYPE",
       CREATED "참조 OBJECT 생성일",A.LAST_DDL_TIME "참조 OBJECT 최종 DDL TIME",A.STATUS "참조 OBJECT 상태"
  FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
 WHERE A.OWNER = D.OWNER
   AND A.OBJECT_NAME = D.NAME
   AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
   (
    SELECT D.OWNER ,D.NAME 
FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
 WHERE A.OWNER = D.OWNER
   AND A.OBJECT_NAME = D.NAME
   AND D.REFERENCED_OWNER = :OWNER    
   AND D.REFERENCED_NAME = :NAME
)
UNION ALL
SELECT '3 Level' LV,D.OWNER "참조 OBJECT OWNER",D.NAME "참조 OBJECT NAME",D.TYPE "참조 OBJECT TYPE",
       D.REFERENCED_OWNER "변경대상 OBJECT OWNER",D.REFERENCED_NAME "변경대상 OBJECT NAME",D.REFERENCED_TYPE "변경대상 OBJECT TYPE",
       CREATED "참조 OBJECT 생성일",A.LAST_DDL_TIME "참조 OBJECT 최종 DDL TIME",A.STATUS "참조 OBJECT 상태"
  FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
 WHERE A.OWNER = D.OWNER
   AND A.OBJECT_NAME = D.NAME
   AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
   (
    SELECT D.OWNER ,D.NAME 
FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
WHERE A.OWNER = D.OWNER
AND A.OBJECT_NAME = D.NAME
AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
   (
SELECT D.OWNER ,D.NAME 
FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
WHERE A.OWNER = D.OWNER
AND A.OBJECT_NAME = D.NAME
AND D.REFERENCED_OWNER = :OWNER      
AND D.REFERENCED_NAME = :NAME
)
)
UNION ALL
SELECT '4 Level' LV,D.OWNER "참조 OBJECT OWNER",D.NAME "참조 OBJECT NAME",D.TYPE "참조 OBJECT TYPE",
       D.REFERENCED_OWNER "변경대상 OBJECT OWNER",D.REFERENCED_NAME "변경대상 OBJECT NAME",D.REFERENCED_TYPE "변경대상 OBJECT TYPE",
       CREATED "참조 OBJECT 생성일",A.LAST_DDL_TIME "참조 OBJECT 최종 DDL TIME",A.STATUS "참조 OBJECT 상태"
  FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
 WHERE A.OWNER = D.OWNER
   AND A.OBJECT_NAME = D.NAME
   AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
(
    SELECT D.OWNER ,D.NAME 
    FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
     WHERE A.OWNER = D.OWNER
       AND A.OBJECT_NAME = D.NAME
       AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
   (
        SELECT D.OWNER ,D.NAME 
        FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
         WHERE A.OWNER = D.OWNER
           AND A.OBJECT_NAME = D.NAME
           AND (D.REFERENCED_OWNER , D.REFERENCED_NAME) IN
   (
                SELECT D.OWNER ,D.NAME 
                FROM DBA_OBJECTS A, DBA_DEPENDENCIES D
                 WHERE A.OWNER = D.OWNER
                   AND A.OBJECT_NAME = D.NAME
                   AND D.REFERENCED_OWNER = :OWNER    
                   AND D.REFERENCED_NAME = :NAME 
)
)
);

 



728x90

'ORACLE' 카테고리의 다른 글

HCC COMPRESS  (0) 2023.10.27
ORA-01722 데이터 타입 상이할 경우  (0) 2023.05.30
DB LINK 생성/조회  (0) 2023.03.31
계정 권한 관리/조회  (0) 2023.03.31
SEQUENCE  (0) 2023.01.20

+ Recent posts