유틸리티 설치 및 테스트 마스터 데이터베이스 서버 구성

데이터베이스 서버에 데이터베이스 복제 스냅샷 관리(gDBClone) 스크립트를 설치하고 운용 데이터베이스를 복제하도록 서버를 구성합니다.

운용 데이터베이스를 복제하여 테스트 마스터를 생성하는 최적의 방법을 결정하도록 다음 데이터 새로 고침 빈도 지침을 검토하십시오.

  • 자주 새로 고침(매일/매주): 테스트 마스터를 물리적 대기 데이터베이스로 생성합니다.
  • 일반 새로고침(bi-weekly, 매월): RMAN DUPLICATE를 사용하여 활성 데이터베이스에서 테스트 마스터를 생성합니다.
  • 간혹 새로 고침(매분기, 반기적): RMAN 전체 데이터베이스 백업에서 테스트 마스터를 생성합니다.

데이터베이스 복제 스냅샷 관리 스크립트 설치

테스트 마스터를 생성할 데이터베이스 서버에 gDBClone 스크립트를 설치합니다.

데이터베이스 복제 스냅샷 관리(gDBClone) 명령줄 유틸리티에는 대부분의 작업에 대한 루트 시스템 권한이 필요합니다. 시스템 관리가 데이터베이스 관리 이외의 다른 그룹에서 처리되거나 보안이 중요한 문제인 환경에서는 root 사용자 계정 및 암호에 대한 액세스를 제한할 수 있습니다. Sudo를 사용하면 시스템 관리자가 특정 사용자(또는 사용자 그룹) 에게 root로 명령을 실행할 수 있는 기능을 부여하면서 보안 및 준수 프로토콜의 일부로 모든 명령 및 인수를 기록할 수 있습니다.

운용 및 테스트 마스터 서버가 gDBClone 명령행 유틸리티에 필요한 서비스, 제품 및 롤을 충족하는지 확인합니다.
  1. gDBClone 유틸리티를 테스트 마스터 서버로 다운로드합니다.
  2. Root에 로그인하고 sudo를 사용합니다.
    $ sudo -s
  3. RPM 명령을 사용하여 gDBClone 유틸리티를 설치합니다.
    예에서는 버전 번호 3.0.2-129.를 사용합니다.
    # rpm -i gDBClone-3.0.2-129.noarch.rpm
    이 유틸리티는 /opt/gDBClone 디렉토리에 설치됩니다.
  4. (선택 사항) gDBClone 유틸리티를 최신 버전으로 업데이트하려면 RPM update 명령을 사용하고 gDBClone 버전 번호를 입력합니다.
    #rpm -Uvh gDBClone-version number.noarch.rpm

디렉토리에 테스트 마스터를 추가하고 포트를 구성합니다.

테스트 마스터를 물리적 대기 데이터베이스로 생성하거나 RMAN(Oracle Recovery Manager) 활성 복제를 사용할 경우 운용 데이터베이스 서버의 /etc/hosts 디렉토리에 테스트 마스터 서버에 대한 항목을 추가하고 포트를 구성합니다.
  1. 운용 데이터베이스 서버에 루트로 로그인하고 /etc/hosts 디렉토리로 이동합니다.
  2. 테스트 마스터 서버에 대한 항목(tstmstr) 을 추가합니다.
    테스트 마스터 서버의 SCAN 이름은 tstmstr-scan 입니다.
    [oracle@tstmstr ~]$ srvctl config scan
    SCAN name: tstmstr-scan, Network: 1
    Subnet IPv4: 192.0.2.1/255.255.255.0/p7p1, static
    Subnet IPv6: 
    SCAN 0 IPv4 VIP: 192.0.2.7
    SCAN VIP is disabled.
    SCAN VIP is individually enabled on nodes: 
    SCAN VIP is individually disabled on nodes: 
    [oracle@tstmstr ~]$ 
    
  3. tstmstrtstmstr-scan/etc/hosts 디렉토리에 있고 도메인이 지정되었는지 확인합니다.
    [oracle@proddb ~]$ cat /etc/hosts
    203.0.113.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.0.2.6  proddb.bass1.ebsvcn.examplevcn.com  proddb
    198.51.100.1  proddb-priv.bass1.ebsvcn.examplevcn.com  proddb-priv
    192.0.2.6  proddb-vip.bass1.ebsvcn.examplevcn.com  proddb-vip
    192.0.2.6  proddb-scan.bass1.ebsvcn.examplevcn.com  proddb-scan
    192.0.2.7 tstmstr.bass1.ebsvcn.examplevcn.com	tstmstr		tstmstr-scan
  4. Oracle Cloud Infrastructure 콘솔의 데이터베이스 서브넷과 데이터베이스 서버의 iptables에서 보안 목록의 포트 35007을 엽니다.
    gDBClone 유틸리티는 RMAN 복제를 위해 테스트 마스터 서버에 임시 보조 리스너(포트 35007) 를 생성합니다. 이 규칙은 운용 데이터베이스 서브넷에서 포트 35007에 대한 수신 규칙을 생성합니다. 예제에서 192.0.2.1/24 는 운용 데이터베이스의 서브넷입니다.
    [root@tstmstr opc]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 35007 -s 192.0.2.1/24 -j ACCEPT
    [root@tstmstr opc]# service iptables save
    [root@tstmstr opc]# service iptables status

테스트 마스터 서버 구성

모든 테스트 마스터 옵션의 경우 Oracle Database 홈(DB 홈) 을 생성하고, Oracle ACFS(Oracle ASM 클러스터 파일 시스템) 를 구성하고, 테스트 마스터 서버 인스턴스에 TDE(투명한 데이터 암호화) 전자 지갑을 생성해야 합니다.

이 예에서는 다음 이름을 사용합니다.

  • 소스 운용 데이터베이스 인스턴스: PRODDB(PDB 이름은 PDB1입니다. )
  • 테스트 마스터 데이터베이스 인스턴스: TSTMSTR(PDB 이름은 PDB1)
  1. 소스 운용 데이터베이스와 동일한 버전으로 DB 홈을 생성합니다.
    dbcli list-dbhomes 명령을 사용하여 DB 홈 및 버전이 구성되었는지 확인합니다. 이 예에서는 12.1.0.2.190416. 버전을 사용합니다.
    [root@tstmstr ~]# dbcli create-dbhome -v 12.1.0.2.190416
    
    [root@tstmstr ~]# dbcli list-dbhomes
    
    ID                                       Name                 DB Version        Home Location                                Status    
    ---------------------------------------- -------------------- ----------------- -------------------------------------------- ----------
    547437ec-b40e-4f53-8cd5-4b4fd11f449b     OraDB12102_home1     12.1.0.2.190416    /u01/app/oracle/product/12.1.0.2/dbhome_1     Configured
    98632e4c-1907-4a6a-b60a-76577505ff92     OraDB12102_home2     12.1.0.2.190416    /u01/app/oracle/product/12.1.0.2/dbhome_2     Configured
    
    
  2. 테스트 마스터 데이터베이스에 대한 Oracle ACFS(Oracle ASM 클러스터 파일 시스템) 저장 영역을 생성합니다.
    dbcli create-dbstorage 명령을 사용하여 data, redo 및 빠른 복구 영역(fra) 에 대한 저장 영역을 생성합니다.
    
    [root@tstmstr ~]# dbcli create-dbstorage --dataSize 1024 --dbname TSTMSTR --databaseUniqueName TSTMSTR --dbstorage ACFS
    
  3. 데이터베이스 저장 영역 목록에 저장 영역이 표시되는지 확인하고 파일 시스템을 검증합니다.
    dbcli list-dbstorages 명령을 사용하여 파일 시스템이 구성되었는지 확인합니다.
    [root@tstmstr ~]# dbcli list-dbstorages
    
    ID                                       Type   DBUnique Name        Status    
    ---------------------------------------- ------ -------------------- ----------
    67123ff1-1b14-4467-87e8-3247e7ab4db2     Asm    ORCL_iad1hb          Configured
    4d2790a7-ec55-4957-a1cf-1d78ce22ce6a     Acfs   TSTMSTR              Configured
    
    ###### validate Filesystems on ACFS
    # df -h
  4. /opt/gDBClone/ 디렉토리에 sys 비밀번호 파일을 생성합니다.
    이 파일은 gDBClone가 읽을 수 있는 SYS 비밀번호를 가진 암호화된 파일입니다.
    [root@tstmstr ~]# cd /opt/gDBClone/
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone syspwf  -syspwf SYS.password
    [root@tstmstr gDBClone]# ls -rlt SYS.password
    -rw-rw-rw- 1 root root 33 Sept 30 04:47 SYS.password
  5. TDE 전자 지갑을 proddd에서 TSTMSTR로 복사합니다.
    운용 데이터베이스 서버에 TDE 전자 지갑의 tar를 생성하고 테스트 마스터 데이터베이스 서버에 전자 지갑을 복원합니다.
    ##### Create a tar of TDE wallet on Production Database Server
    [oracle@proddb ~]$ cd /opt/oracle/dcs/commonstore/wallets/tde/PRODDB_iad1df/
    [oracle@proddb PRODDB_iad1df]$ ls -rlt
    total 48
    -rw------- 1 oracle asmadmin  2555 Sept 24 06:26 ewallet_2019092406265698_defaultTag.p12
    -rw------- 1 oracle asmadmin  5819 Sept 24 06:26 ewallet.p12
    -rw------- 1 oracle asmadmin  5880 Sept 24 06:26 cwallet.sso 
    [oracle@proddb PRODDB_iad1df]$ tar cvf wallet.tar ./ewallet.p12  ./cwallet.sso
    ./ewallet.p12
    ./cwallet.sso
    [oracle@proddb PRODDB_iad1df]$ 
      
    ##### Restore TDE wallet on Test Master Database Server
    [oracle@tstmstr ~]$ cd /opt/oracle/dcs/commonstore/wallets/tde/TSTMSTR
    [oracle@tstmstr TSTMSTR]$ tar xvf /tmp/wallet.tar
    ./ewallet.p12
    ./cwallet.sso
    [oracle@tstmstr TSTMSTR]$
Production 데이터베이스 서버는 Oracle Data Guard 에 대해 구성되며 테스트 마스터를 생성할 수 있습니다.