사설 토토 v23.1 출시됨

게시일2022-02-14작성: MigOps
관련 오픈 소스

마다가스카르 안타나나리보 - 2022년 2월 10일

사설 토토

사설 토토 버전 23.1은 Oracle Database to PostgreSQL이 공식적으로 출시되었습니다. 공개적으로 다운로드할 수 있습니다.

이 릴리스는 지난 4개월 동안 보고된 몇 가지 문제를 수정했으며 몇 가지 새로운 주요 기능과 개선 사항이 추가되었습니다.

  • 다음 경우 Orafce의 새 버전에서 maximum() / less() 함수 사용을 추가합니다. Oracle과 같이 NULL 입력에 대해 NULL을 반환해야 합니다.
  • ALLOW 및 EXCLUDE 구성 값을 이제 파일에서 읽을 수 있습니다. 필터링할 테이블이 많은 경우에 유용합니다.
  • 데이터 내보내기 또는 시스템 변경 번호(SCN) 사용 가능성 추가 특정 SCN을 제공하여 데이터 유효성을 검사합니다. 명령으로 설정할 수 있습니다. 를 사용하는 라인-S또는--scn옵션. 특정 SCN을 제공할 수 있습니다. 첫 번째 연결 시 현재 SCN을 사용하려면 값을 다음으로 설정하세요. '현재'. 사용 예:
    ora2pg -c ora2pg.conf -t COPY --scn 16605281
    또한 다음을 사용할 수 있습니다--scnOracle 플래시백 기능을 사용하는 옵션 SCN 대신 타임스탬프 표현식을 지정합니다. 예를 들면:
    ora2pg -c ora2pg.conf -t COPY --scn "TO_TIMESTAMP('2021-12-01 00:00:00', 'YYYY-MM-DD HH:MI:SS')"
    또는 예를 들어 어제의 데이터만 검색하려면 다음을 수행하세요.
    ora2pg -c ora2pg.conf -t COPY --scn "SYSDATE - 1"
  • 마이그레이션 평가에 json 출력 형식을 추가합니다.
  • 시간대를 제거하려면 새로운 TO_CHAR_NOTIMEZONE 구성 지시문을 추가하세요. 정보를 TO_CHAR() 함수의 형식 부분에 추가합니다. 기본적으로 비활성화되어 있습니다. 새로운 기본 설정은 이전 버전과의 호환성, 이전 동작을 중단합니다. 항상 시간대 부분을 제거하는 것이 었습니다.
  • 새 구성 지시어 FORCE_IDENTITY_BIGINT를 추가하세요. 보통 신분 열은 자동 증가 시퀀스에 해당하는 bigint여야 합니다. 사설 토토는 항상 이를 bigint로 강제합니다. 어떤 이유로든 원하신다면 사설 토토는 ID 열에 설정된 DATA_TYPE을 존중합니다. 이 지시문을 비활성화합니다.
  • EXPORT_INVALID가 2로 설정된 경우 유효하지 않은 개체만 내보내기 허용
  • WHERE 절이 정의된 경우 파티션별 데이터 내보내기를 비활성화합니다. 분할된 테이블이거나 전역 WHERE 절이 정의되어 있습니다.

사설 토토 명령을 위한 두 가지 새로운 옵션도 있습니다.

  • 새로운 명령줄 옵션--lo_import. 기본적으로 사설 토토는 Oracle을 가져옵니다. BLOB as bytea, 대상 열은 bytea 데이터를 사용하여 생성됩니다. 유형. bytea 대신 대형 객체를 사용하려면 다음을 추가하세요. --blob_to_lo 옵션을 ora2pg 명령에 추가합니다. 목적지가 생성됩니다. 데이터 유형이 Oid인 열이며 다음을 사용하여 BLOB를 대형 개체로 저장합니다. lo_from_bytea() 함수. lo_from_bytea() 호출로 반환된 Oid bytea 대신 대상 열에 삽입됩니다. 이 옵션은 SHOW_COLUMN, TABLE 및 INSERT 작업에만 사용할 수 있으며 COPY 작업은 사용할 수 없습니다. 지원됩니다. COPY를 사용하거나 크기가 큰 BLOB( 1GB)를 사용하려는 경우에는 사용할 수 없습니다. lo_from_bytea()를 사용하여 가져오면 옵션을 추가할 수 있습니다--lo_import에 사설 토토 명령. 이렇게 하면 두 단계로 데이터를 가져올 수 있습니다.

  • 1) COPY 또는 INSERT를 사용하여 데이터를 내보내면 Oid 대상 열이 설정됩니다. BLOB의 값을 0으로 설정하고 BLOB 값을 전용 파일에 저장합니다. 그것 또한 BLOB 파일을 psql 명령 \lo_import를 사용하여 데이터베이스를 만들고 테이블 Oid를 업데이트합니다. 반환된 대형 개체 Oid에 대한 열입니다. 스크립트의 이름은 lo_import-TABLENAME.sh

  • 2) 설정 후 모든 스크립트 lo_import-TABLENAME.sh를 실행합니다. 환경 변수 PGDATABASE 및 선택적으로 PGHOST, PGPORT, PGUSER, libpq의 기본값과 일치하지 않는 경우 등. 테이블에서 VACUUM FULL을 수동으로 실행하여 제거할 수도 있습니다. 테이블 업데이트로 인해 생성된 부풀림.

    제한: 테이블에는 기본 키가 있어야 하며, 이는 기본 키를 설정하는 데 사용됩니다. 대형 개체를 가져온 후 Oid 열을 업데이트하는 WHERE 절입니다. 두 번째 방법을 사용하여 BLOB 가져오기(--lo_import)은 매우 느리기 때문에 다른 모든 행에 대해 BLOB 1GB가 사용되는 행으로 예약되어야 합니다. --blob_to_lo 옵션. 행을 필터링하려면 WHERE를 사용할 수 있습니다. 사설 토토.conf의 구성 지시문.

  • 새로운 명령줄 옵션--cdc_ready다음 경우에 테이블당 현재 SCN을 사용합니다. 데이터를 내보내고 TABLES_SCN.log라는 파일에 등록합니다. 변경 데이터 캡처(CDC) 도구에 사용할 수 있습니다.

변경 사항의 전체 목록을 보려면 참조https://github.com/darold/사설 토토/blob/master/changelog

모든 기여자에게 감사드립니다. 모두 변경 로그 파일에 인용되었습니다.

링크 및 크레딧

패치를 제출한 모든 사용자와 사용자에게 감사의 말씀을 전하고 싶습니다. 버그 및 기능 요청을 보고한 사람은 모두 인용됩니다. 변경 로그 파일.

사설 토토는 공개 프로젝트입니다. 더 나은 도구를 구축하는 데 기여하는 것은 환영합니다. 아이디어, 기능 요청 또는 패치를 보내면 됩니다. GitHub 도구를 사용하거나 ora2pg@darold.net으로 직접 문의하세요.

링크:


사설 토토 정보 :

사설 토토는 Oracle에서 PostgreSQL로 마이그레이션하는 쉽고 안정적인 도구입니다. 2001년부터 개발되었으며 대부분의 Oracle 개체를 다음으로 내보낼 수 있습니다. PostgreSQL 호환 코드입니다.

사설 토토는 모든 플랫폼에서 작동하며 GPL v3 라이센스에 따라 사용할 수 있습니다.

문서, 다운로드 및 지원http://www.사설 토토.com/