安裝公用程式並設定測試主要資料庫伺服器

在資料庫伺服器上安裝「資料庫複製快照管理」(gDBClone) 命令檔,並設定伺服器來複製您的實際環境執行資料庫。

請複查下列資料重新整理頻率準則,以協助您判斷將生產環境資料庫複製到建立「測試主要資料庫」的最佳方法:

  • 經常重新整理 (每日/每週):建立「測試主要資料庫」作為實體待命資料庫
  • 一般重新整理 (每週、每月):使用 RMAN DUPLICATE 從作用中資料庫建立測試主要資料庫
  • 臨時重新整理 (每季、每半年):從 RMAN 完整資料庫備份建立測試主要資料庫

安裝資料庫複製快照管理命令檔

在要建立「測試主要資料庫」的資料庫伺服器上安裝 gDBClone 命令檔。

「資料庫複製快照管理」(gDBClone) 命令行公用程式需要大多數工作的根系統權限。在與資料庫管理不同的群組處理系統管理的環境中,或在安全上有重要的考量時,您可能要限制對 root 使用者帳戶和密碼的存取。Sudo 可讓系統管理員授與特定使用者 (或使用者群組) 以 root 身分執行命令的能力,同時在安全與相容性協定中記錄所有命令和引數。

確定生產和測試主要伺服器符合 gDBClone 命令行公用程式的必要服務、產品和角色。
  1. 下載 gDBClone 公用程式至「測試主要伺服器」。
  2. 登入並向系統管理者登入 sudo
    $ sudo -s
  3. 使用 RPM 命令安裝 gDBClone 公用程式。
    範例使用版本號碼 3.0.2-129.
    # rpm -i gDBClone-3.0.2-129.noarch.rpm
    公用程式安裝在 /opt/gDBClone 目錄中。
  4. (選擇性) 若要將 gDBClone 公用程式更新為較新版本,請使用 RPM 更新命令,並輸入 gDBClone 版本號碼。
    #rpm -Uvh gDBClone-version number.noarch.rpm

新增測試主要資料庫至目錄並設定連接埠

如果您將「測試主要資料庫」建立為實體待命資料庫,或使用Oracle Recovery Manager (RMAN) 作用中複製,請在實際環境執行資料庫伺服器的 /etc/hosts 目錄中新增「測試主要伺服器」項目,然後設定連接埠。
  1. 以 root 身分登入實際環境執行資料庫伺服器,並導覽至 /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 本位目錄 (資料庫本位目錄)」、設定「Oracle ASM 叢集檔案系統 (Oracle ACFS)」,以及在「測試主要伺服器」執行處理上建立「通透資料加密 (TDE)」公事包。

此範例使用下列名稱:

  • 來源生產環境資料庫執行處理:PRODDB (PDB 名稱為 PDB1)
  • 測試主要資料庫執行處理:TSTMSTR (PDB 名稱為 PDB1)
  1. 使用與來源實際環境執行資料庫相同的版本建立「資料庫本位目錄」。
    使用 dbcli list-dbhomes 命令可確認已設定資料庫本位目錄和版本。本範例使用 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 ASM 叢集檔案系統 (Oracle ACFS)」儲存體。
    使用 dbcli create-dbstorage 命令為 dataredo 以及快速復原區域 (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 公事包從 PRODDB 複製到 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]$
「生產」資料庫伺服器是為Oracle Data Guard 設定的,您可以建立「測試主要資料庫」。