安装实用程序并配置测试主数据库服务器

在数据库服务器上安装数据库克隆快照管理(gDBClone)脚本,并配置服务器以克隆生产数据库。

请查看以下数据刷新频率准则 , 以帮助您确定克隆生产数据库以创建测试主项目的最佳方法 :

  • 频繁刷新(每天/每周):将测试主数据库创建为物理备用数据库
  • 常规刷新(每两周,每月):使用 RMAN DUPLICATE 从活动数据库创建测试主项目
  • 临时刷新(每半年):从 RMAN 完整数据库备份创建测试主项目

安装数据库克隆快照管理脚本

在数据库服务器上安装要创建测试主项目的 gDBClone 脚本。

数据库克隆快照管理(gDBClone)命令行实用程序需要 root 系统权限才能执行大多数任务。在由与数据库管理相比的组处理系统管理的环境中,或者对安全问题来说,您可能希望限制对 root 用户帐户和口令的访问。Sudo 允许系统管理员授予特定用户(或用户组)以 root 身份运行命令,同时记录所有命令和参数作为安全性和相容性协议的一部分。

确保生产和测试主服务器满足 gDBClone 命令行实用程序所需的服务、产品和角色。
  1. gDBClone 实用程序下载到测试主服务器。
  2. 登录并以 sudo 作为 root 用户。
    $ 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

将测试主项目添加到目录并配置端口

如果将创建测试主项目作为物理备用数据库或使用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 实用程序在测试主服务器上创建临时辅助监听程序(在端口 35007 上)以进行 RMAN 复制。该规则为来自生产数据库子网的端口 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) Wallet。

此示例使用以下名称:

  • 源生产数据库实例 : PRODDB (PDB 名称为 PDB1)
  • 测试主项目数据库实例 : TSTMSTR (PDB 名称为 pd1)
  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 Wallet 从 PRODDB 复制到 TSTMSTR。
    在生产数据库服务器上创建 TDE Wallet 的 tar 并在测试主数据库服务器上还原 Wallet。
    ##### 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 配置的,您可以创建“测试主项目”。