Oracle Zero Downtime Migration 프로비저닝

Oracle Zero Downtime Migration을 설치 및 구성합니다.

제로 작동 중지 시간 이전 필요 조건 정보

데이터베이스 이전을 위해 Zero Downtime Migration 유틸리티를 실행하기 전에 특정 사전 요구사항을 충족해야 합니다.

Zero Downtime Migration 서비스 호스트는 데이터베이스 마이그레이션 중에 소스 및 타겟 데이터베이스 서버에 접근해야 합니다. 이를 통해 Oracle Autonomous Database on Dedicated Exadata Infrastructure로 마이그레이션을 수행하려면 제로 다운타임 마이그레이션 서비스 호스트에 루트 사용자 액세스 또는 소스 데이터베이스 서버 중 하나에 대한 SSH 키 기반 액세스가 필요합니다. 계속하기 전에 네트워크 경로 및 연결에 대한 이러한 요구 사항이 충족되었는지 확인하십시오.

제로 작동 중지 시간 마이그레이션 호스트 설치

Oracle은 Oracle Linux 7 또는 8에서 실행되는 별도의 호스트에 Zero Downtime Migration을 설치할 것을 권장합니다. 소스 데이터베이스 데이터 센터에서 프로비저닝하거나 OCI에서 구성할 수 있습니다. 이 예에서는 Zero Downtime Migration 서비스 호스트가 OCI에 구성되었습니다.
  1. 최소 100GB의 스토리지로 Oracle Linux에서 호스트를 프로비전합니다.
  2. 다음 필수 패키지를 사용할 수 있는지 확인합니다.
    • glibc-devel
    • expect
    • unzip
    • libaio
    • oraclelinux-developer-release-el7

    주:

    Oracle Linux 8과 같은 상위 버전의 경우 libnslncurses-compat-libs 패키지도 필요합니다.
  3. 다음 명령을 실행합니다.
    [root@zdmhost ~]# yum install glibc-devel expect unzip libaio oraclelinux-developer-release-el7 -y
  4. 다음 명령을 실행하여 zdm이라는 그룹과 그룹에 추가되는 zdmuser라는 유저를 생성합니다.
    [root@zdmhost ~]# groupadd zdm
    [root@zdmhost ~]# useradd zdmuser -g zdm
    [root@zdmhost ~]# mkdir -p /home/zdmuser/zdminstall
    [root@zdmhost ~]# mkdir /home/zdmuser/zdmhome
    [root@zdmhost ~]# mkdir /home/zdmuser/zdmbase
    [root@zdmhost ~]# chown -R zdmuser:zdm /home/zdmuser/
  5. 다음 명령을 실행하여 ZDM 서비스 호스트에 ZDM을 설치하도록 zdmuser에 필요한 환경 변수를 업데이트합니다.
    echo "ORACLE_HOME=/home/zdmuser/zdmhome; export ORACLE_HOME" >> ~/.bashrc
    echo "ORACLE_BASE=/home/zdmuser/zdmbase; export ORACLE_BASE" >> ~/.bashrc
    echo "ZDM_BASE=\$ORACLE_BASE; export ZDM_BASE" >> ~/.bashrc
    echo "ZDM_HOME=/home/zdmuser/zdmhome; export ZDM_HOME" >> ~/.bashrc
    echo "ZDM_INSTALL_LOC=/home/zdmuser/zdminstall; export ZDM_INSTALL_LOC" >> ~/.bashrc

ZDM 호스트에 추가 도구 설치

  1. ZDM 서비스 호스트에 OCI CLI(명령행 인터페이스)를 root로 설치합니다.
    [root@zdmhost ~]# yum install python36-oci-cli
  2. ZDM 호스트에 Oracle Database SQL 클라이언트를 설치하여 소스 및 대상 데이터베이스에 대한 연결을 설정합니다.
  3. Oracle Instant Client의 RPM 패키지를 다운로드했는지 확인합니다(Download Software Packages 섹션 참조).
    • 기본 패키지(RPM)
    • RPM(SQL*Plus Package)
    • 도구 패키지(RPM)
  4. 다음 명령을 실행하여 root 유저, Basic, SQL*Plus, Tools 순서로 RPM 패키지를 설치합니다.
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-basic-19.20.0.0.0-1.x86_64.rpm
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-sqlplus-19.20.0.0.0-1.x86_64.rpm
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-tools-19.20.0.0.0-1.x86_64.rpm
  5. 다음 명령을 실행하여 TNS_ADMIN 및 PATH에 대한 zdmuser의 환경 변수를 업데이트합니다.
    TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
    PATH=/usr/lib/oracle/19.20/client64/bin:$PATH; export PATH

호스트에 제로 작동 중지 시간 이전 설치

호스트가 준비되면 Zero Downtime Migration을 설치합니다.

  1. Download Software Packages 섹션에서 바이너리가 이전에 다운로드되었는지 확인하고 Zero Downtime Migration 서비스 호스트로 전송합니다.
  2. 다음 명령을 실행하여 호스트에 zdmuser 패키지의 압축을 풉니다.
    • [zdmuser@zdmhost ~]$ cd $ZDM_INSTALL_LOC
    • [zdmuser@zdmhost zdminstall]$ unzip /tmp/V1037236-01.zip
    • [zdmuser@zdmhost zdminstall]$ ls -rlt
  3. [zdmuser@zdmhost zdm21.4.1]$ ./zdminstall.sh setup oraclehome=$ZDM_HOME oraclebase=$ZDM_BASE ziploc=./zdm_home.zip -zdm 명령을 실행하여 호스트에 Zero Downtime Migration을 zdmuser로 설치합니다.
  4. [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmservice start 명령을 실행하여 호스트에서 Zero Downtime Migration 서비스를 시작합니다.
  5. 다음 명령을 실행하여 상태를 확인합니다.
    • [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmcli -build
    • [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmservice status
    제로 작동 중지 시간 이전이 실행 중인 경우 Runningtrue와 같아야 합니다.

무중단 마이그레이션 구성

  1. Zero Downtime Migration 서비스 호스트에 /etc/hosts 파일을 구성하여 소스 데이터베이스 정보를 루트 사용자로 추가하여 Zero Downtime Migration 서비스 호스트와 소스 데이터베이스 간의 연결을 보장합니다.
    [root@zdmhost ~]# cat /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.0.1.179 hr9246.appsubnet.exadatainfrastr.oraclevcn.com hr9246
    10.0.1.78 zdmhost.appsubnet.exadatainfrastr.oraclevcn.com zdmhost
    [root@zdmhost ~]#
  2. 문장암호 없이 SSH 키를 기반으로 Zero Downtime Migration 호스트에서 소스 데이터베이스로의 SSH 연결을 zdmuser로 구성합니다.
    1. zdmuser으로 다음 명령을 실행하여 SSH 키를 생성합니다.
      • [zdmuser@zdmhost~]$ ssh-keygen -t rsa
      • [zdmuser@zdmhost~]$ cd ~/.ssh
      • [zdmuser@zdmhost~]$ cat id_rsa.pub>>authorized keys
      • [zdmuser@zdmhost~]$ chmod 600 authorized keys
    2. /home/zdmuser/.ssh/id_rsa.pub 파일의 내용을 원본 데이터베이스 서버의 opc_user_home/.ssh/authorized_keys 파일에 추가하여 권한이 부여된 키 파일을 갱신합니다.
    3. Zero Downtime Migration 호스트에서 PSFT 호스트로의 SSH 연결을 검증합니다.

API 액세스 구성

  1. 다음 명령을 실행하여 zdmuser로 공용 키를 생성합니다.
    [zdmuser@zdmhost ~]$ mkdir zdmhome/.oci
    [zdmuser@zdmhost ~]$ cd zdmhome/.oci
    [zdmuser@zdmhost .oci]$ openssl genrsa -out /home/zdmuser/zdmhome/.oci/oci_api_key.pem 2048
    [zdmuser@zdmhost .oci]$ openssl rsa -pubout -in /home/zdmuser/zdmhome/.oci/oci_api_key.pem -out /home/zdmuser/zdmhome/.oci/oci_api_key_public.pem
  2. OCI 콘솔에 API 키를 추가합니다.
    1. Oracle Cloud 대시보드에서 프로파일 아이콘을 누른 후 계정(전자메일)을 누릅니다.
    2. API 키를 누릅니다.
    3. API 키 추가를 누릅니다.
    4. 공용 키 붙여넣기를 선택합니다.
    5. 공개 키 필드에 oci_api_key_public.pem를 입력합니다.
    6. 추가를 누릅니다.
  3. 해당 API 키에 대한 구성 파일의 콘텐츠를 복사합니다.
  4. zdmuser로 구성 파일을 생성하고 key_file 경로를 개인 키 파일 경로로 업데이트합니다.
  5. OCI 인증 토큰을 생성합니다.
    CLI에 대한 토큰 기반 인증을 사용하면 CLI 명령 요청을 인증하기 위한 임시 세션 토큰을 만들 수 있습니다.

SSH 구성

SSH 연결을 구성하고, SSH 키 쌍을 생성하고, 권한이 부여된 키 파일을 업데이트합니다.

  1. Zero Downtime Migration 호스트를 zdmuser로 사용하여 문장암호 없이 SSH 키를 기반으로 소스 데이터베이스 호스트에 대한 SSH 연결을 구성합니다.
  2. SSH 키를 zdmuser로 생성합니다.
    [zdmuser@zdmhost ~]$ ssh-keygen -t rsa
    [zdmuser@zdmhost ~]$ cd ~/.ssh
    [zdmuser@zdmhost .ssh]$ cat id_rsa.pub >> authorized_keys
    [zdmuser@zdmhost .ssh]$ chmod 600 authorized_keys
  3. /home/zdmuser/.ssh/id_rsa.pub 파일의 내용을 원본 데이터베이스 서버의 opc_user_home/.ssh/authorized_keys 파일에 추가합니다.