스냅샷 데이터베이스 관리

스냅샷 데이터베이스를 관리하여 가장 최근의 Thin 복제 데이터베이스를 사용하고 오래된 스냅샷을 삭제합니다.

스냅샷 데이터베이스 생성

테스트 마스터에서 스냅샷 데이터베이스를 생성합니다.

테스트 마스터가 물리적 대기 데이터베이스인 경우 테스트 마스터 데이터베이스가 마운트된 상태여야 합니다. READ 전용 모드인 경우 스냅샷 데이터베이스를 만들기 전에 MOUNTED로 변경하십시오. 운용 환경에서 RMAN 활성 복제 또는 RMAN 백업을 사용하여 테스트 마스터를 생성하는 경우에는 이 작업이 필요하지 않습니다 .
  1. 매개변수를 정의하고 스냅샷 데이터베이스를 생성합니다.
    다음 gDBClone 옵션을 사용하여 스냅샷을 정의합니다.
    • -sdbname: 소스 데이터베이스 이름
    • -tdbname: 대상 데이터베이스 이름
    • -tdbhome: 대상 데이터베이스 홈
    • -racmod: Oracle RAC 유형입니다. Oracle 단일 인스턴스 데이터베이스의 경우 0을 사용합니다.
    • -syspwf: SYS 암호화된 비밀번호 파일
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone snap -sdbname TSTMSTR -tdbname TSTDEV -tdbhome OraDB12102_home2 -racmod 0 -syspwf /opt/gDBClone/SYS.password
  2. 사후 스냅샷 생성 스크립트 SQL을 실행하여 외부 참조를 사용으로 설정합니다.
    
    SQL> /u01/app/oracle/product/12.1.0.2/dbhome_2/enable_external_refs_TSTDEV_jTEm.sql
  3. 데이터베이스를 재시작합니다.
    [oracle@tstmstr ~]$ srvctl stop database
          -d TSTMSTR[oracle@tstmstr ~]$ srvctl start database -d TSTMSTR
  4. 스냅샷 데이터베이스에 대한 환경을 업데이트합니다.
    [oracle@tstmstr ~]$ srvctl getenv database -d TSTDEV
    TSTDEV:
    [oracle@tstmstr ~]$ srvctl setenv database -d TSTDEV -envs "ORACLE_UNQNAME=TSTDEV,TZ=UTC"
    [oracle@tstmstr ~]$ srvctl getenv database -d TSTDEV
    TSTDEV:
    ORACLE_UNQNAME=TSTDEV
    TZ=UTC
  5. 스냅샷 데이터베이스에서 TDE 전자 지갑 상태를 확인하십시오.
    유틸리티는 테스트 마스터에서 스냅샷 데이터베이스로 TDE 전자 지갑 파일을 자동으로 복사합니다.
    SQL> set linesize 180
    SQL> col wrl_parameter format a80
    SQL> 
    SQL> select * from v$encryption_wallet;
    
    WRL_TYPW  WRL_PARAMETER					    STATUS   WALLET_TYPE  WALLET_OR FULLY_BAC CON_ID
    -------- --------------------------------------------------  ------- ------------- --------- ----------- ------
    FILE	/opt/oracle/dcs/commonstore/wallets/tde/TSTDEV/    OPEN     UNKNOWN      SINGLE     NO         0
    SQL> 
  6. 스냅샷 데이터베이스 환경 및 상태를 확인하십시오. 스냅샷 데이터베이스를 검증하고 스냅샷 세부정보를 표시하여 매개변수가 올바른지 확인합니다.
    스냅샷은 READ WRITE 모드여야 합니다.
    [oracle@tstmstr ~]$ . oraenv
    ORACLE_SID = [oracle] ? TSTDEV
    The Oracle base has been set to /u01/app/oracle
    [oracle@tstmstr ~]$ sqlplus / as sysdba
    
    SQL> select name,open_mode from v$database;
    
    SQL> select file_name from dba_data_files;
  7. 데이터베이스 목록을 표시하여 스냅샷이 목록에 나타나는지 확인합니다.
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs
    Database Name    Database Type   Database Role      Master/Snapshot  Location/Parent
    -------------    -------------   -------------      ---------------  ---------------
    TSTDEV           SINGLE          PRIMARY            Snapshot         TSTMSTR        
    ORCL_iad1hb      SINGLE          PRIMARY            n/a              ASM            
    TSTMSTR          SINGLE          PRIMARY            Master           /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/
    데이터베이스의 상위 하위 관계를 표시하려면 -tree 옵션을 사용합니다.
    # /opt/gDBClone/gDBClone listdbs -tree
    Parent	Child
    ------	-----
    TSTMSTR
    	      TSTDEV
  8. (선택사항) 스냅샷 데이터베이스의 PDB 이름을 변경합니다.
    스냅샷을 생성하면 스냅샷 데이터베이스와 운용 데이터베이스의 PDB 이름이 동일합니다. 개발 및 테스트 환경의 경우 환경과 일치하도록 스냅샷 데이터베이스 PDB 이름을 변경할 수 있습니다. 예를 들어, PDB1을 PDBDEV로 변경합니다.
    
    [oracle@tstmstr ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 12.1.0.2.0 Production on Thu Oct 3 07:52:30 2019
    
    Copyright (c) 1982, 2014, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 12c EE High Perf Release 12.1.0.2.0 - 64bit Production
    With the Partitioning, Real Application Clusters, OLAP, Advanced Analytics
    and Real Application Testing options
    
    SQL> select name,open_mode from v$database;
    
    NAME	  OPEN_MODE
    --------- --------------------
    TSTDEV   READ WRITE
    
    SQL> alter pluggable database PDB1 close immediate;
    
    Pluggable database altered.
    
    SQL> alter pluggable database PDB1 open restricted;
    
    Pluggable database altered.
    
    SQL> alter session set container=PDB1;
    
    Session altered.
    
    SQL> alter pluggable database PDB1 rename global_name to PDBDEV;
    
    Pluggable database altered.
     
    SQL> connect / as sysdba
    Connected.
    SQL> show pdbs
    
        CON_ID CON_NAME		       OPEN MODE  RESTRICTED
    ---------- ---------------------------- ---------- ----------
    	 2 PDB$SEED			  MOUNTED
    	 3 PDBDEV			    READ WRITE YES
    SQL> alter pluggable database PDBDEV close immediate;
    
    Pluggable database altered.
    
    SQL> alter pluggable database PDBDEV open;
    
    Pluggable database altered.
    
    SQL> show pdbs
    
        CON_ID CON_NAME			  OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
    	 2 PDB$SEED			  MOUNTED
    	 3 PDBDEV			  READ WRITE NO
    
필요에 따라 추가 스냅샷을 생성하고 PDB 이름을 바꾸어 환경을 반영할 수 있습니다.

스냅샷 데이터베이스 목록 표시

스냅샷에 할당된 저장 영역의 생성 날짜, 위치 및 양을 포함하여 Oracle ACFS(Oracle ASM 클러스터 파일 시스템) 에 있는 스냅샷 데이터베이스의 세부정보를 표시합니다.

더 적은 세부정보를 위해 스냅샷 목록 및 연관된 테스트 마스터를 표시할 수 있습니다. 이 예에서 TSTMSTR은 테스트 마스터 서버이며 스냅샷 데이터베이스는 TSTDEV입니다.
  1. 테스트 마스터 서버에 opc로 로그인한 다음 sudo을 루트로 로그인합니다.
  2. Oracle ACFS 에 있는 스냅샷 데이터베이스를 표시합니다.
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listsnaps -dataacfs /u02/app/oracle/oradata/TSTMSTR 
    snapshot name: TSTMSTR
    snapshot location: /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/TSTMSTR
    RO snapshot or RW snapshot: RW
    parent name: /u02/app/oracle/oradata/TSTMSTR
    snapshot creation time: Wed Oct  9 07:42:06 2019
    file entry table allocation: 8650752 ( 8.25 MB )
    storage added to snapshot:   4295647232 ( 4.00 GB )
    
    snapshot name: TSTDEV
    snapshot location: /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/TSTDEV
    RO snapshot or RW snapshot: RW
    parent name: TSTMSTR
    snapshot creation time: Wed Oct  9  07:58:14 2019
    file entry table allocation: 8650752   ( 8.25 MB )
    storage added to snapshot: 250892288   ( 239.27 MB )    
    number of snapshots: 2    
    snapshot space usage: 4550168576  ( 4.24 GB )
    [root@tstmstr gDBClone]#
        
  3. (선택 사항) listdbs 명령을 사용하여 데이터베이스 목록을 표시하거나, listdbs -tree 명령을 사용하여 테스트 마스터 데이터베이스 및 연관된 Snap Clone 데이터베이스를 표시합니다.
    listdbs -tree 명령을 사용하는 경우 상위 및 하위 데이터베이스의 관계를 보여주는 트리 형식으로 데이터베이스가 표시됩니다.
    
    [root@sdbm1 gDBClone]# /opt/gDBClone/gDBClone listdbs -tree
    Parent  Child
    ------  -----
    SDBM2
            SDBC1
    

스냅샷 데이터베이스 삭제

스냅샷 데이터베이스를 삭제하고 등록을 해제합니다.

테스트 마스터에서 새 스냅샷을 생성하려면 기존 스냅샷을 삭제하고 운용 데이터베이스를 복제하도록 구성된 방법을 사용하여 새 스냅샷을 생성합니다.
  1. 테스트 마스터 서버에 opc로 로그인한 다음 sudo을 루트로 로그인합니다.
  2. 스냅샷 데이터베이스를 삭제하고 등록을 해제합니다. 데이터베이스의 삭제 또는 삭제를 확인하려면 Y를 입력합니다.
    -force 옵션을 사용하지 않으면 DBCA(Oracle Database Configuration Assistant) 가 데이터베이스를 삭제합니다.
    [root@tstmstr gDBClone]# /opt/gDBClone deldb -tdbname TESTDEV -syspwf /opt/gDBClone/SYS.password -force
  3. (선택 사항) 데이터베이스 목록을 표시하고 삭제된 데이터베이스가 목록에 나타나지 않는지 확인합니다.
    root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs