폴백 상태 데이터베이스 만들기

Oracle Database에 연결하여 폴백 상태 데이터베이스를 생성할 수 있습니다. 하이브리드 상태 데이터베이스 모델은 폴백 상태 데이터베이스를 사용하며, 피어에 포함된 상태 데이터베이스에 문제가 있는 경우 기본 상태 데이터베이스가 될 수 있습니다.

폴백 상태 데이터베이스란?

폴백 상태 데이터베이스는 Oracle Database에서 상태 데이터베이스의 보조 복사본을 유지 관리하며 기본 상태 데이터베이스는 내장된 Berkeley DB에 저장됩니다.

상태 데이터베이스는 피어가 조인되는 모든 채널에 대해 각 피어에 저장됩니다. Oracle Blockchain Platform은 피어 노드에 내장된 데이터베이스로 Berkeley DB를 사용합니다. 피어가 충돌하거나 다시 시작되면 상태 데이터베이스가 손상될 수 있습니다. Oracle Blockchain Platform은 원장에서 손상된 상태 데이터베이스를 자동으로 감지하고 재구축하지만 원장 크기와 블록 수에 따라 시간이 많이 걸릴 수 있습니다. 피어 노드는 재구축 프로세스 중 트랜잭션을 보증하거나 커밋하는 데 사용할 수 없습니다.

하이브리드 상태 데이터베이스 모델은 외부 Oracle Database를 폴백으로 추가합니다. 일반 작업에서 피어는 Berkeley DB 상태 데이터베이스에 동기 블록 커밋을 완료하고 폴백 데이터베이스에 비동기 커밋을 완료합니다. 내장된 상태 데이터베이스가 실패하면 피어가 Berkeley DB 상태 데이터베이스가 비동기적으로 재구축되는 동안 동기 커밋에 Oracle Database를 사용하도록 자동으로 전환됩니다. 재구축 프로세스가 완료되면 피어가 정상 작업으로 다시 전환됩니다.

폴백 데이터베이스로 Oracle Autonomous Transaction Processing을 사용해야 합니다.

폴백 상태 데이터베이스 사용

콘솔을 사용하여 데이터베이스 연결 정보를 제공하고 폴백 상태 데이터베이스를 구성할 피어를 선택합니다.

  1. 콘솔로 이동하고 제목 표시줄에서 More Actions(추가 작업) 아이콘을 누릅니다. 여기서 인스턴스 이름도 표시됩니다.
  2. 폴백 상태 데이터베이스 구성을 누릅니다.
    폴백 상태 데이터베이스 구성 창이 표시됩니다.
  3. Oracle Autonomous Transaction Processing에 대한 접속 정보를 지정합니다.
    1. 리치 내역 데이터베이스를 이미 구성했으며 폴백 상태 데이터베이스에 대해 동일한 접속 정보를 사용하려는 경우 리치 내역 데이터베이스 구성 사용을 눌러 폴백 상태 데이터베이스와 동일한 Oracle Database 인스턴스를 사용합니다. 그렇지 않은 경우 사용자 이름, 비밀번호접속 문자열을 지정하고 선택적으로 전자 지갑 파일을 업로드합니다. 연결 문자열에 대한 자세한 내용은 Oracle Database Classic Cloud Service 연결 문자열 생성을 참조하십시오.
    2. 네트워크의 모든 피어에 대해 폴백 데이터베이스를 구성하려면 모든 피어에 대해 사용으로 설정을 누릅니다.
    3. 새로 추가된(확장된) 피어에 대해 폴백 데이터베이스를 구성하려면 새로 확장된 피어에 대해 사용으로 설정을 누릅니다.
    4. 저장을 누릅니다.
      구성을 적용하면 선택한 모든 피어가 다시 시작됩니다.
  4. 특정 피어에 대해 폴백 상태 데이터베이스를 사용 또는 사용 안함으로 설정하려면 피어 구성을 편집합니다.
    1. 노드 탭을 누릅니다.
    2. 노드 테이블에서 수정할 피어에 대해 추가 작업 아이콘을 누른 다음 구성 편집을 누릅니다.
    3. 폴백 상태 데이터베이스에서 사용 또는 사용 안함을 선택한 다음 제출을 누릅니다.

상태 데이터베이스 모니터

피어 노드에서 폴백 상태 데이터베이스를 구성한 후 상태 데이터베이스 상태를 모니터할 수 있습니다.

상태 데이터베이스 상태를 모니터하도록 폴백 상태 데이터베이스를 구성해야 합니다.
  1. 콘솔로 이동하고 노드 탭을 누릅니다.
  2. 노드 테이블에서 모니터할 피어 노드의 작업 더 보기 아이콘을 누른 다음 상태 데이터베이스 모니터를 누릅니다.
    상태 데이터베이스 상태에 대한 다음 정보가 포함된 테이블이 표시됩니다.
    채널 이름
    피어가 연결된 채널입니다.
    활성 데이터베이스
    현재 동기 블록 커밋을 수락 중인 데이터베이스는 기본 데이터베이스(Berkeley DB) 또는 폴백 데이터베이스(Oracle Database)를 커밋합니다.
    원장 블록 높이
    원장에 현재 저장된 블록 수입니다.
    기본 데이터베이스 상태
    • SYNC_COMMITS: 데이터베이스가 동기 모드로 정상적으로 작동하고 있습니다.
    • ASYNC_RECOVERY: 데이터베이스가 비동기 모드로 커밋을 처리하고 있으며 원장 블록 높이까지 처리하려고 합니다.
    • ASYNC_ABORTED: 데이터베이스가 비동기 모드로 커밋을 처리하는 중 또는 비동기 블록 대기열이 가득 찬 동안 지속 오류가 발생했습니다. 두 경우 모두 기본 문제를 해결하고 피어를 다시 시작해야 합니다.
    기본 데이터베이스 블록 높이
    기본 상태 데이터베이스에 현재 저장된 블록 수입니다.
    폴백 데이터베이스 상태
    • ASYNC_COMMITS: 데이터베이스가 비동기 모드로 폴백으로 정상적으로 작동하고 있습니다.
    • SYNC_COMMITS: 기본 데이터베이스에 문제가 있거나 기본 데이터베이스 블록 높이가 원장 블록 높이보다 낮고 폴백 데이터베이스 원장 높이가 원장 블록 높이와 같기 때문에 데이터베이스가 동기 모드로 작동하고 있습니다.
    • ASYNC_RECOVERY: 데이터베이스가 비동기 모드로 커밋을 처리하고 있으며 원장 블록 높이까지 처리하려고 합니다.
    • ASYNC_ABORTED: 데이터베이스가 비동기 모드로 커밋을 처리하는 중 또는 비동기 블록 대기열이 가득 찬 동안 지속 오류가 발생했습니다. 두 경우 모두 기본 문제를 해결하고 피어를 다시 시작해야 합니다.
    폴백 데이터베이스 블록 높이
    Oracle Database에 현재 저장된 블록 수(폴백 데이터베이스)입니다.
    비동기 대기열 길이
    현재 비동기 데이터베이스에 의해 비동기 처리를 대기 중인 대기열의 블록 수입니다.
    마지막 비동기 오류
    비동기 데이터베이스와 관련된 가장 최근 오류로, 연결 또는 인증서 문제나 비동기 큐 또는 키 크기 관련 문제가 포함될 수 있습니다.