Oracle웨어 하우스의 이전 데이터를 폐기하려고합니다.일반 아카이브 프로세스를 구현하는 최선의 방법/기술
매우 단순화 된 개요를 제공하기 위해 소스/대상 테이블 등의 매개 변수가있는 PL SQL 저장 프로 시저를 사용하여 프로세스를 개발하라는 제안이 제안되었지만 Oracle ALL_TAB_COLUMNS 뷰를 사용하여 소스 테이블.
이전 실행에서 dest 테이블이있는 경우 제안 된 솔루션에는 원본 테이블의 현재 스키마를 대상 (아카이브) 테이블과 비교하고 차이점이 발견되면 테이블을 동기화하는 작업이 포함됩니다. 제안 된 기능의 한계가 존재한다고 확신하지만이 분야에서 스펙이 꽤 야심적이었던 것처럼 보였지만 PL 게이트 웨이에서 Red Gate의 SQL Compare 유틸리티를 다시 작성하려고하는지는 의문입니다.
두 가지 질문이있는 것 같습니다.
1) PL/SQL은 이러한 작업에 실제로 사용하는 언어입니다. 필자에게 저장 프로 시저는 신속하고 신속한 데이터 작업에 사용되며 복잡한 논리는 C# 또는 기타 .NET 언어와 같이보다 완벽하게 기능하는 클라이언트 언어로 간주됩니다. 10,000 라인의 불완전하게 들여 쓰기 된 단일 저장 프로 시저를 예상하며이를 검토해야합니다. 오라클 SP/Pkg가 그렇게 할 필요는 없다는 것을 알고 있습니다. 그러나 어떤 이유로 인해 개발자는 .NET에서 작성하는 것보다 PL \ SQL을 사용할 때 모듈화가 덜한 경향이 있습니다. 나는 당신이 선택한 당신의 권고와 이유를 환영 할 것입니다.
2) 보관 용도로 활용할 수있는 Oracle 유틸리티 (10g 기준)가 있습니까? 누구든지 조언을 제안합니까?
의견을 제안하는 동안 반복되지 않는 값에 투표 할 것입니다.
Thx.
대상 테이블이 이미 존재하면 삭제할 수 없습니다. 대상 테이블은 데이터웨어 하우스에 비해 너무 오래되었지만 폐기하기에 너무 오래된 모든 기록 데이터를 포함하기 때문에 삭제할 수 없습니다 – ChadD