2014-02-19 7 views
0

복잡한 SQL 스크립트가 있습니다. 모든 테이블은 데이터베이스 (DB) 'A'에 있습니다. 스크립트를 실행하면 50 분 후에 결과가 나타납니다. DB 'A'에서 스크립트를 실행하고 DB 'B'의 테이블을 결과로 채우는 ETL 도구가 있습니다. ETL 도구가 없어져서 앞으로는 DB 'B'에서 DB 'A'에 대한 DB 링크를 사용하여 스크립트를 실행하여 DB 'B'의 결과가있는 테이블을 유지해야합니다.Oracle SQL은 테이블 대신 데이터베이스 링크를 통해 전체 스크립트를 구문 분석합니다. @ MY_DB_LINK

DB 링크가 정상적으로 작동합니다. @MY_DB_LINK를 약 80 개의 테이블 참조와 1 개의 함수 호출에 추가했습니다. 그러나 2 시간 반 동안 스크립트를 실행 한 후에도 결과가 없습니다. DB 링크를 통해 전체 스크립트를 구문 분석하여 DB 'A'에서 sql을 실행하고 DB 'B'의 테이블에 결과를 기록 할 수 있습니까? 누구든지 다른 해결책을 생각할 수 있습니까?

상황을 명확하게하는 추가 정보 : DB 'A'는 (는) 주간 시스템 원본 복사본입니다. 이전 사본이 삭제되고 새 사본이 작성됩니다. 나는 DB 'A'에서 아무 것도 만들 수 없다. 거기에는 오직 읽기 권한 만있다. 나는 DB 'B'에서 원하는 모든 것을 할 수 있습니다.

답변

3

Oracle Hint DRIVING_SITE가 도움을 줄 것입니다. 귀하의 마일리지는 다를 수 있습니다.