티스토리 뷰

DB/오라클

오라클 테이블, 프로시져스크립트 추출

개발자와코더사이가 PM일까? 2022. 11. 26. 17:53
반응형

개발 DB에서 배포 스크립트를 만들려고 할때 각 스크립트가 필요하다.

인터넷에서 찾아보니 아래와 같이 하나씩 물어보는데.. 음.. 이건 내가 원하는 명령어가 아니였다.

어떻게 아래와 같이 하나씩 찾아서 할 수가 있을까?

-- 오라클 테이블 스크립트 추출
select dbms_metadata.get_ddl('TABLE','테이블명') from dual;
-- 오라클 프로시져 스크립트 추출
select dbms_metadata.get_ddl('PROCEDURE','프로시져명') from dual;
-- 오라클 VIEW 스크립트 추출
select dbms_metadata.get_ddl('VIEW','VIEW명') from dual;
-- 오라클 INDEX 스크립트 추출
select dbms_metadata.get_ddl('INDEX','INDEX명') from dual;
-- 오라클 SEQUENCE 스크립트 추출
select dbms_metadata.get_ddl('SEQUENC','INDEX명') from dual;

1차로 생각한 것은 아래와 같이 각 메인 DBA 테이블에 가서 해당 데이터를 가져오는 것이였다.

-- 오라클 테이블 스크립트 추출
select DBMS_METADATA.GET_DDL('TABLE', TABLE_NAME, OWNER)
FROM DBA_TABLES
WHERE OWNER = '사용자명'

-- 오라클 INDEX 스크립트 추출
SELECT DBMS_METADATA.GET_DDL('INDEX', INDEX_NAME, TABLE_OWNER)
FROM  DBA_INDEXES WHERE TABLE_OWNER = '사용자명'

하지만.. 이것도 귀찮고.. 결국에는 아래와 같이 해서 추출 했다.

SELECT object_type
     , object_name
     , DBMS_METADATA.GET_DDL(object_type, object_name, user) as script
  FROM user_objects
 WHERE object_type IN ('PROCEDURE', 'FUNCTION', 'VIEW') 
 ORDER BY object_type;

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함