2017-05-15 17 views
0

저는 DB2 ZOS 버전 10에서 일하고 있습니다. 저는 데이터 마스킹 프로젝트로 작업하고 있습니다. 이 프로젝트에서 나는 100k 개 이상의 DDL 문장 (delete, update, insert)을 수행했다.DB2 ZOS 메인 프레임 - 아카이브 로그 비활성화

그래서 전체 스크램블 프로세스가 시작되기 전에 트랜잭션 로그를 비활성화해야합니다.

DB2 iSeries AS400에서 TRANSACTION LOG DISABLE을 사용 불가능하게하는 절차를 호출하여 동일한 문제점을 이미 처리했습니다.

현명한 생각처럼 DB2 ZOS에서해야합니다.

+0

아마도 페 트릭이지만 삭제/업데이트/삽입은 DML - 데이터 조작 언어입니다. DDL은 테이블의 구조를 변경하는 데 사용되는 데이터 정의 언어입니다. 질문에 관해서는 언급 한 DML에 대한 로깅을 사용하지 않도록 설정할 수 있다는 것을 알지 못합니다. truncate가 로깅되지 않았는지 확실히 알 수 있습니다. 로깅없이로드를 수행 할 수 있다고 확신하지만, 로깅을 해제하는 방법을 기억하지 못합니다. 변경된 행 중 어느 정도가 기록되는지 어느 정도 변경할 수 있습니다. – randomScott

+0

@randomscott 이것을 공유해 주셔서 감사합니다. 삭제 작업 대신자를 것입니다. 그리고 보관 로그 세부 사항을 찾기위한 쿼리를 알고 있습니까? –

+0

truncate는 원하는 모든 행을 삭제한다는 것에주의하십시오. 원하는 경우 삭제하는 것보다 빠릅니다. 카탈로그 테이블에는 아카이브 로그 세부 사항이있을 수 있습니다. SMF 데이터에 기록되는 로그 지연 등에 대한 정보도 있습니다. 최선의 방법은 문제의 DB2를 처리하는 친숙한 DB2 Sysprog과 대화하는 것입니다. – randomScott

답변

0
당신은 영향을받는 모든 테이블의 NOT LOGGED 속성을 사용할 수 있습니다

이 지정된 테이블의 데이터에 대한 변경이

프로세스를 마스킹 데이터에 대해 다음 단계를 타고 DB2 로그에 기록되지 않도록 지정합니다

당신이
  • 프로세스
  • ,691 마스킹 데이터를 실행 LOGGED하지
  • ALTER TABLESPACE 데이터베이스-name.table 공간 이름을 복구 할 수 있도록
    1. 는 imagecopy를 타고
    2. ALTER TABLESPACE 데이터베이스-name.table 공간-name은 또한 아마 독점적 인 액세스 할 수있는 모든 테이블을 잠글 것입니다 복구 지점을

    을 설정하는 imagecopy을 가지고

  • 기록 그래서 당신은 복구해야하는 경우 아무도 변경 사항의 영향을받지 않습니다.

    NB 로그되지 않은 오브젝트에 대한 복구 영향을 알고 있는지 확인하십시오.