database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 38815 게시물 읽기
No. 38815
Script 관련 질문입니다.
작성자
나그네
작성일
2011-08-24 11:24
조회수
5,567

현재 DataBase에 속해있는 Source Code (Function, Procedure, Package 등)이 수천개가 있습니다.
이중 특정한 Source (약 150여개) 만 Source Script 를 받으려고 합니다.

전체를 선택하여 받으면 상관없지만 특정한 것만 일일이 지정하여 매번 받으려고 하니 불편하네요.
혹 특정 Source Script만 받을 수 있는 sql 문장 도와 주심 감사하겠습니다. (Source 1개에 1개 화일로 저장)

 

이 글에 대한 댓글이 총 3건 있습니다.

토드 사용해보시면 export 메뉴에 스크립트 생성메뉴가 있는데

지정한 오브젝트리스트 저장하는 기능이 있습니다.

1님이 2011-08-24 11:32에 작성한 댓글입니다. Edit

쬐만 자세히 알려주심 고맙겠습니다.

각각 Object별 화일로 만드는 옵션이 체크가 되질 않네요...

감사드립니다. 해결했습니다.

 

나그네님이 2011-08-24 11:51에 작성한 댓글입니다.
이 댓글은 2011-08-29 10:23에 마지막으로 수정되었습니다. Edit

개별 백업용 script 입니다.

일부 버그가 있을 수 있으니, 테스트 후 사용 바랍니다.

 

 

SET DOCUMENT OFF

 

-------------------------------------------------------------------

-- @name: object_capture

-- @since: Dec.20.2010

-- @author: @tohappy

-- @description: user_source source 에서 spool 처리

--    @object_backup sp_name

-- @bugs : 줄바꿈 오류, 복잡한 유형테스트 x

-------------------------------------------------------------------

SET RECSEP OFF

SET VERIFY OFF

SET LINESIZE 200

SET PAGESIZE 1000

SET LONG 30

SET TIME OFF

SET TIMING OFF

SET HEADING OFF

SET FEEDBACK OFF

SET ECHO OFF

 

ACCEPT object_name PROMPT  'Input object_name : '

 

PROMPT =====================================

PROMPT ===== Object  Capture To File =====

PROMPT =====================================

 

SPOOL tmp.sql

 SELECT CASE

           WHEN ROWNUM=1 THEN 'CREATE OR REPLACE '||TEXT

           WHEN ROWNUM=B.MROW THEN TEXT||'

/ '

           WHEN  INSTR(TEXT, 'PACKAGE BODY') = 1 THEN   '/

            CREATE OR REPLACE '||TEXT

           ELSE TEXT

       END AS TEXT2

 FROM USER_SOURCE a, (SELECT MAX(ROWNUM) MROW FROM USER_SOURCE IA WHERE NAME=UPPER('&&object_name') ) b

WHERE NAME=UPPER('&&object_name');

 

SPOOL OFF

 

-- 아래는 옵션

/*

ho DATE=`date +%Y%m%d_%H%M`; mv tmp.sql /oracle/DBA/job/object_backup/'&&object_name'_${DATE}.sql

 

 

PROMPT =====================================

PROMPT &&object_name is spool out list

PROMPT =====================================

 

ho ls -al /oracle/DBA/job/object_backup/ | grep &&object_name

 

CLEAR BREAK

CLEAR COMPUTE

*/

 

 

박광일(tohappy)님이 2011-08-24 14:03에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
38820안뇽하세요 질문이 있습니다. (재귀 프로시져) [2]
윤명철
2011-08-25
5287
38819자동백업스크립트입니다.
오라클초보임
2011-08-25
5026
38816검색 속도 문제 입니다. [7]
최진규
2011-08-24
9459
38815Script 관련 질문입니다. [3]
나그네
2011-08-24
5567
38814MERGE INTO DBLINK 사용~ [2]
주하파파
2011-08-23
7150
38813TIMESTAMP 필드 검색 속도 향상 [2]
레이첼
2011-08-23
6997
38811초보자입니다.쿼리문 속도가 너무 안나와서요... [3]
염정훈
2011-08-23
5608
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.028초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다