주:

온프레미스 19c 비컨테이너 데이터베이스에서 Oracle Database 23ai 컨테이너 데이터베이스로 이전

소개

Zero Downtime Migration(ZDM) 21.5는 진행 중인 업그레이드를 통해 물리적 마이그레이션을 도입하여 Oracle 데이터베이스에 대한 원활한 전환을 지원합니다. 이 기능은 11.2.0.4 및 12c Oracle 데이터베이스를 19c Oracle 데이터베이스로 이전하고 19c 소스 데이터베이스에서 Oracle Database 23ai로 이전할 수 있도록 지원합니다.

이 사용지침서에서는 ZDM이 대상 레벨에서 업그레이드를 수행하는 동안 소스 CDB(비컨테이너 데이터베이스) 19c 데이터베이스를 CDB로 마이그레이션하고 변환하는 방법을 설명합니다. ZDM은 고객이 비CDB 데이터베이스를 마이그레이션하고 업그레이드할 수 있도록 임시 비CDB 대상 데이터베이스를 사용하여 초기 마이그레이션을 수행합니다. 이 초기 단계를 완료하면 ZDM은 자동 업그레이드를 활용하여 다중 테넌트로 변환하고 데이터베이스를 원하는 버전으로 업그레이드합니다.

이 사용지침서는 Linux 플랫폼에서 Oracle Database 23ai CDB로 19c 버전을 실행하는 온프레미스 비CDB 데이터베이스를 마이그레이션하도록 특별히 설계되었습니다.

다음은 소스 및 대상 환경의 속성 및 세부정보입니다.

소스 및 대상 세부정보를 보여주는 이미지

목표

필요 조건

작업 1: ZDM 서버 준비 및 설치

  1. ZDM 소프트웨어 설치를 위해 전용 컴퓨트 호스트를 프로비전합니다. ZDM 소프트웨어가 설치된 호스트를 ZDM 서비스 호스트라고 합니다. 호스트에서 다음 필수 조건을 충족해야 합니다.

    • Oracle Linux 8 및 부팅 볼륨 크기 200GB.
    • 100GB의 여유 저장 공간.
    • 실행 중인 Oracle Grid Infrastructure가 없습니다.
    • 소스 및 대상 데이터베이스(서버)에 접속할 수 있습니다.
  2. putty를 사용하여 ZDM 호스트에 연결합니다.

  3. 다음 명령을 실행하여 200GB를 사용할 수 있도록 파일 시스템을 확장합니다.

    [opc@zdm ~]$ sudo su -
    [root@zdm ~]# df -h /
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3        39G  3.2G   36G   9% /
    [root@zdm ~]# /usr/libexec/oci-growfs -y
    [root@zdm ~]# df -h /
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3       192G  3.2G  189G   2% /
    
  4. 다음 명령을 사용하여 루트 사용자로 새 그룹, 사용자 및 필요한 디렉토리를 만듭니다.

    [root@zdm ~]# groupadd zdm
    [root@zdm ~]# useradd -g zdm zdmuser
    [root@zdm ~]# mkdir -p /home/zdmuser/zdminstall
    [root@zdm ~]# mkdir /home/zdmuser/zdmhome
    [root@zdm ~]# mkdir /home/zdmuser/zdmbase
    [root@zdm ~]# chown -R zdmuser:zdm /home/zdmuser/
    
  5. 다음 명령을 사용하여 루트 사용자로 필요한 소프트웨어 패키지를 설치합니다.

    [root@zdm ~]# yum install oraclelinux-developer-release-el8 libnsl perl unzip glibc-devel expect libaio ncurses-compat-libs ncurses-devel numactl-libs openssl mlocate bind-utils
    
  6. ZDM 소프트웨어 버전 21.5를 다운로드하고 zip 파일을 ZDM 호스트에 /home/zdmuser/zdminstall/ 디렉토리로 복사합니다. 다음 명령을 사용하여 zip 파일의 소유자를 root 유저로 zdmuser로 변경합니다.

    [root@zdm ~]# chown zdmuser:zdm /home/zdmuser/zdminstall/zdm21.5.zip
    
  7. 다음 명령을 사용하여 ZDM 소프트웨어를 zdmuser로 설치합니다.

    [zdmuser@zdm ~]$ cd /home/zdmuser/zdminstall/
    [zdmuser@zdm zdminstall]$ unzip zdm21.5.zip
    
    [zdmuser@zdm zdminstall]$ ZDMHOME=/home/zdmuser/zdmhome
    [zdmuser@zdm zdminstall]$ ZDMBASE=/home/zdmuser/zdmbase
    
    [zdmuser@zdm zdminstall]$ /home/zdmuser/zdminstall/zdm21.5/zdminstall.sh setup oraclehome=/home/zdmuser/zdmhome oraclebase=/home/zdmuser/zdmbase ziploc=/home/zdmuser/zdminstall/zdm21.5/zdm_home.zip -zdm
    ZDM service setup finished successfully...
    
  8. 다음 명령을 실행하여 ZDM을 시작하고 상태를 zdmuser로 확인합니다.

    [zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice start
    Return code is 0
    Server started successfully.
    [zdmuser@zdm ~]$ $ZDMHOME/bin/zdmservice status
    ---------------------------------------
    		Service Status
    ---------------------------------------
    Running:       true
    
  9. 다음 명령을 실행하여 zdmuser에 대한 SSH 키 쌍을 만듭니다. 나중에 SSH를 사용하여 소스 및 대상 데이터베이스 서버에 로그인하는 데 사용됩니다. 기본값을 유지합니다.

    [zdmuser@zdm ~]$ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/zdmuser/.ssh/id_rsa):
    Created directory '/home/zdmuser/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/zdmuser/.ssh/id_rsa.
    Your public key has been saved in /home/zdmuser/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:giU7jz/8Z1VPiS9Ds/gfokHdevpm0dk59fPYEHRChs4
    zdmuser@zdmhost
    The key's randomart image is:
    
  10. 사용자 세부정보 페이지에서 OCI 사용자에 대한 인증 토큰을 생성합니다.

    Auth Tokens, Generate Token을 누르고 Description(설명)을 입력한 다음 Generate Token(토큰 생성)을 누릅니다.

    주: 토큰은 다시 표시되지 않으므로 레코드에 대해 이 토큰을 복사하십시오.

    인증 토큰 만들기를 보여주는 이미지

  11. 다음 명령을 실행하여 OCI 리소스에 액세스하는 데 사용될 zdmuser로 Oracle Cloud Infrastructure 명령행 인터페이스(OCI CLI) 툴을 설치합니다. 예를 들어, 데이터 펌프 덤프 파일을 OCI Object Storage로 복사합니다.

    [zdmuser@zdm ~]$ bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
    

    주: OCI CLI를 설치하려면 사용자 OCID, 테넌시 OCID, 홈 영역이 필요합니다. 이 값을 클라우드 테넌시에 따라 사용하고 다른 매개변수 값을 기본값으로 유지하십시오.

    [zdmuser@zdm ~]$ oci setup config
    
  12. 다음 명령을 실행하여 zdmhost에서 클라우드 테넌시의 OCI 사용자에게 API 서명 퍼블릭 키를 업로드합니다.

    [zdmuser@zdmhost ~]$ cat /home/zdmuser/.oci/oci_api_key_public.pem
    -----BEGIN PUBLIC KEY-----
    **********
    -----END PUBLIC KEY-----
    

    OCI 콘솔로 이동하여 사용자 세부정보 페이지로 이동하고 API 키API 키 추가를 누릅니다. Paste Public Key를 선택하고 위 명령의 출력을 입력한 다음 Add를 누릅니다.

    API 키 추가를 보여주는 이미지

  13. 다음 명령을 실행하여 OCI CLI 또는 OCI 콘솔을 사용하여 OCI 테넌시에 표준 OCI Object Storage 버킷을 생성합니다.

    [zdmuser@zdm ~]$ oci os bucket create --compartment-id ocid1.compartment.oc1.....lh4lfamxdrpuxg3x……… --name zdmbucket
    
  14. zdmhost에서 소스 및 Target Database 서버로의 연결: Task 1.9에 생성된 대로 SSH 키를 zdmhost에서 zdmuser로 소스 및 대상으로 복사합니다.

    #on ZDM host as zdmuser
    [zdmuser@zdm ~]$ cat .ssh/id_rsa.pub
    #on the source database host as user opc
    [opc@sourcedb ~]$ vi .ssh/authorized_keys
    #insert the public key and save the changes
    [opc@targetdb ~]$ vi .ssh/authorized_keys
    #insert the public key and save the changes
    
  15. root 사용자로 zdmhost에서 호스트 이름, IP 및 FQDN을 /etc/hosts(으)로 복사하여 소스 데이터베이스 및 대상 데이터베이스의 호스트 이름을 zdmhost로 분석합니다.

작업 2: 소스 및 대상 데이터베이스에서 사전 검사 실행

  1. 다음 명령을 실행하여 소스와 동일한 버전의 대상 Oracle Base Database Service 인스턴스에 ORACLE_HOME를 생성합니다.

    [root@tgtzdm ~]# dbcli list-dbhomes
    
    ID                                       Name                 DB Version                               Home Location                                 Status
    ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ----------
    c548b052-64b7-4257-bfdc-d7c201a430ab     OraDB23000_home1     23.5.0.24.07                             /u01/app/oracle/product/23.0.0.0/dbhome_1     Configured
    
    [root@tgt23ai ~]# dbcli create-dbhome -v 19.23
    
    Job details
    ----------------------------------------------------------------
    					ID:  a63db258-7ffc-4dee-b8e5-5accf223e39b
    			Description:  Database Home creation with Id : db1b4bb8-2ed0-4c0f-ade9-a656f21cf808
    				Status:  Created
    				Created:  September 19, 2024 at 3:22:48 PM IST
    			Progress:  0%
    				Message:  Create Database Home
    			Error Code:
    
  2. 다음 명령을 실행하여 데이터베이스 홈 만들기를 검증합니다.

    [root@tgt23ai ~]# dbcli describe-job --jobid a63db258-7ffc-4dee-b8e5-5accf223e39b
    
    Job details
    ----------------------------------------------------------------
    					ID:  a63db258-7ffc-4dee-b8e5-5accf223e39b
    			Description:  Database Home creation with Id : db1b4bb8-2ed0-4c0f-ade9-a656f21cf808
    				Status:  Success
    				Created:  September 19, 2024 at 3:22:48 PM IST
    			Progress:  100%
    				Message:  Create Database Home
    			Error Code:
    
    Task Name                                                                Start Time                          End Time                            Status
    ------------------------------------------------------------------------ ----------------------------------- ----------------------------------- ----------
    Database home creation                                                   September 19, 2024 at 3:22:49 PM IST September 19, 2024 at 3:27:40 PM IST Success
    
    
    [root@test23ai ~]# dbcli list-dbhomes
    
    ID                                       Name                 DB Version                               Home Location                                 Status
    ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ----------
    43247858-4ff6-4fcb-85f2-09d453d863bf     OraDB23000_home1     23.5.0.24.07                             /u01/app/oracle/product/23.0.0.0/dbhome_1     Configured
    a63db258-7ffc-4dee-b8e5-5accf223e39b     OraDB19000_home1     19.23.0.0.0                              /u01/app/oracle/product/19.0.0.0/dbhome_1     Configured
    

작업 3: 응답 파일 준비

  1. $ZDM_HOME/rhp/zdm/template/ 아래에 있는 zdmhost의 템플리트 응답 파일을 다른 디렉토리로 복사합니다.

  2. 복사된 응답 파일을 소스 및 대상 환경 설정에 따라 수정합니다. 다음은 업그레이드를 통해 마이그레이션을 완료하는 데 사용되는 최소 매개변수와 공유되는 샘플 응답 파일입니다.

    TGT_DB_UNIQUE_NAME=tgt23ai_ai
    MIGRATION_METHOD=OFFLINE_PHYSICAL
    DATA_TRANSFER_MEDIUM=OSS
    PLATFORM_TYPE=VMDB
    SRC_DB_LISTENER_PORT=1521
    HOST=https://swiftobjectstorage.eu-frankfurt-1.oraclecloud.com/v1/frrudica1wgd
    OPC_CONTAINER=ZDM
    NONCDBTOPDB_CONVERSION=TRUE
    TGT_SKIP_DATAPATCH=FALSE
    ZDM_NONCDBTOPDB_PDB_NAME=newpdb23
    ZDM_PRE_UPGRADE_TARGET_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
    

작업 4: 이전 평가

소스 및 대상 세부정보에 따라 매개변수를 수정하여 이전을 평가합니다.

./zdmcli migrate database -rsp /home/zdmuser/response_files/zdm_phyupg.rsp \
-sourcedb test \
-sourcenode test23ai1 \
-srcauth zdmauth \
-srcarg1 user:opc \
-srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-srcarg3 sudo_location:/usr/bin/sudo \
-targetnode tgt23ai \
-tgtauth zdmauth \
-tgtarg1 user:opc \
-tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-tgtarg3 sudo_location:/usr/bin/sudo \
-tdekeystorepasswd \
-tgttdekeystorepasswd \
-backupuser oracleidentitycloudservice/s****aik@oracle.com \
-eval

주: 다음 명령을 사용하여 작업을 모니터할 수 있습니다.

$ZDM_HOME/bin/zdmcli query job -jobid <jobid>

작업 5: 실제 이전 수행

다음 명령을 사용하여 실제 마이그레이션을 수행합니다. 소스 및 대상 환경에 따라 값을 수정합니다.

./zdmcli migrate database -rsp /home/zdmuser/response_files/zdm_phyupg.rsp \
-sourcedb test \
-sourcenode test23ai1 \
-srcauth zdmauth \
-srcarg1 user:opc \
-srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-srcarg3 sudo_location:/usr/bin/sudo \
-targetnode tgt23ai \
-tgtauth zdmauth \
-tgtarg1 user:opc \
-tgtarg2 identity_file:/home/zdmuser/.ssh/id_rsa \
-tgtarg3 sudo_location:/usr/bin/sudo \
-tdekeystorepasswd \
-tgttdekeystorepasswd \
-backupuser oracleidentitycloudservice/s***aik@oracle.com

확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.