Aracılığıyla paylaş


Azure Linux sanal makinesinde Oracle Golden Gate uygulama

Şunlar için geçerlidir: ✔️ Linux VM'leri

Azure CLI, komut satırından veya betik içindeki Azure kaynaklarını oluşturmak ve yönetmek için kullanılır. Bu kılavuzda, Azure Market galerisi görüntüsünden Oracle 19c veritabanını dağıtmak için Azure CLI'nin nasıl kullanılacağı ayrıntılı olarak açıklanmaktadır.

Bu belgede, Azure VM'de Oracle Golden Gate'i oluşturma, yükleme ve yapılandırma adım adım gösterilmektedir. Bu öğreticide, tek bir bölgedeki kullanılabilirlik kümesinde iki sanal makine ayarlanır. Aynı öğretici, tek bir Azure bölgesindeki farklı Kullanılabilirlik Alanları veya iki farklı bölgede ayarlanmış VM'ler için OracleGolden Gate'i ayarlamak için kullanılabilir.

Başlamadan önce Azure CLI’nin yüklü olduğundan emin olun. Daha fazla bilgi için bkz. Azure CLI yükleme kılavuzu.

Giriş

GoldenGate, verilerin kaynak veritabanından hedef veritabanına gerçek zamanlı çoğaltma, filtreleme ve dönüştürmesini sağlayan bir mantıksal çoğaltma yazılımıdır. Bu özellik, kaynak veritabanındaki değişikliklerin gerçek zamanlı olarak çoğaltılmasını sağlayarak hedef veritabanının en son verilerle güncel olmasını sağlar.

GoldenGate'i özellikle farklı kaynak veritabanlarındaki verileri tek bir veritabanına çoğaltma gibi heterojen çoğaltma durumları için kullanın. Örneğin, bir veri ambarı. SpaRC ve AIX'ten Linux x86 ortamlarına geçiş gibi platformlar arası geçişler ve gelişmiş yüksek kullanılabilirlik ve ölçeklenebilirlik senaryoları için de kullanabilirsiniz.

Ayrıca GoldenGate, kaynak sistemlerde en az kesintiyle çevrimiçi geçişleri desteklediğinden sıfıra yakın kapalı kalma süresine sahip geçişler için de uygundur.

GoldenGate çift yönlü çoğaltmayı kolaylaştırsa da, uygulamanın buna göre yapılandırılması gerekir. Ayrıca yazılım, belirli iş gereksinimlerini karşılamak için verilerin filtrelenmesine ve dönüştürülmesine izin vererek kullanıcıların çoğaltılan verileri çeşitli amaçlarla kullanmasına olanak tanır.

Ortamı hazırlama

Oracle Golden Gate yüklemesini gerçekleştirmek için aynı kullanılabilirlik kümesinde iki Azure VM oluşturmanız gerekir. VM'leri oluşturmak için kullandığınız Market görüntüsü Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1 şeklindedir.

Ayrıca Unix düzenleyicisi vi hakkında bilgi sahibi olmanız ve X Server hakkında temel bilgilere sahip olmanız gerekir.

Aşağıdaki tablo, ortam yapılandırmasının bir özetidir:

Birincil site Siteyi çoğaltma
Oracle sürümü Oracle Veritabanı 19.3.1.0 Oracle Veritabanı 19.3.1.0
Makine adı ggVM1 ggVM2
İşletim sistemi Oracle Linux 7.x Oracle Linux 7.x
Oracle SID CDB1 CDB1
Çoğaltma şeması TEST TEST
Golden Gate sahibi/çoğaltması C##GGADMIN REPUSER
Golden Gate işlemi EXTORA REPORA

Azure'da oturum açma

  1. Tercih ettiğiniz kabuğu Windows, Linux veya Azure Shell'de açın.

  2. az login komutuyla Azure aboneliğinizde oturum açın . Ardından ekrandaki yönergeleri izleyin.

    $ az login
    
  3. Abonelik adını ve/veya kimliğini doğrulayarak doğru aboneliğe bağlı olduğunuzdan emin olun.

    $ az account show
    
    {
      "environmentName": "XXXXX",
      "homeTenantId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
      "id": "<SUBSCRIPTION_ID>",
      "isDefault": true,
      "managedByTenants": [],
      "name": "<SUBSCRIPTION_NAME>",
      "state": "Enabled",
      "tenantId": XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
      "user": {
        "cloudShellID": true,
        "name": "aaaaa@bbbbb.com",
        "type": "user"
      }
    }
    

Kimlik doğrulama anahtarları oluşturma

Oracle Veritabanı VM'sine bağlanmak için ssh ile anahtar dosya tabanlı kimlik doğrulaması kullanırız. Kabuğunuzda özel (adlandırılmış id_rsa) ve ortak (adlandırılmışid_rsa.pub) anahtar dosyalarınızın oluşturulduğuna emin olun.

Anahtar dosyalarının konumu kaynak sisteminize bağlıdır.

Windows: %USERPROFILE%.ssh Linux: ~/.ssh

Yoksa yeni bir keyfile çifti oluşturabilirsiniz.

ssh-keygen -m PEM -t rsa -b 4096

.ssh dizini ve anahtar dosyaları oluşturulur. Daha fazla bilgi için bkz. Azure'da Linux VM kimlik doğrulaması için SSH anahtarları oluşturma ve yönetme

Kaynak grubu oluşturma

Kaynak grubu oluşturmak için az group create komutunu kullanın. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir kapsayıcıdır.

$ az group create --name GoldenGateOnAzureLab --location westus

Ağ oluşturma ve yapılandırma

Sanal ağ oluşturma

Bu laboratuvarda oluşturduğumuz kaynakları barındıran sanal ağı oluşturmak için aşağıdaki komutu kullanın.

$ az network vnet create \
  --name ggVnet \
  --resource-group GoldenGateOnAzureLab \
  --address-prefixes "10.0.0.0/16" \
  --subnet-name ggSubnet1 \
  --subnet-prefixes "10.0.0.0/24"

Ağ Güvenlik Grubu (NSG) oluşturma

  1. Sanal ağınızı kilitlemek için ağ güvenlik grubu (NSG) oluşturun.

    $ az network nsg create \
      --resource-group GoldenGateOnAzureLab \
      --name ggVnetNSG
    
  2. Sanal ağ içinde iletişime izin vermek için NSG kuralı oluşturun.

    $ az network nsg rule create  --resource-group GoldenGateOnAzureLab --nsg-name ggVnetNSG \
        --name ggAllowVnet \
        --protocol '*' --direction inbound --priority 3400 \
        --source-address-prefix 'VirtualNetwork' --source-port-range '*' \
        --destination-address-prefix 'VirtualNetwork' --destination-port-range '*' --access allow
    
  3. Tüm gelen bağlantıları reddetmek için NSG kuralı oluşturma

    $ az network nsg rule create \
      --resource-group GoldenGateOnAzureLab \
      --nsg-name ggVnetNSG \
      --name ggDenyAllInBound \
      --protocol '*' --direction inbound --priority 3500 \
      --source-address-prefix '*' --source-port-range '*' \
      --destination-address-prefix '*' --destination-port-range '*' --access deny
    
  4. Sunucularımızı barındırdığımız Alt Ağa NSG atayın.

    $ az network vnet subnet update --resource-group GoldenGateOnAzureLab --vnet-name ggVNet --name ggSubnet1 --network-security-group ggVnetNSG
    

Bastion Ağı Oluşturma

  1. Bastion alt ağı oluşturun. Alt ağın adı AzureBastionSubnet olmalıdır

    $ az network vnet subnet create  \
        --resource-group GoldenGateOnAzureLab \
        --name AzureBastionSubnet \
        --vnet-name ggVnet \
        --address-prefixes 10.0.1.0/24
    
  2. Bastion için genel IP oluşturma

    $ az network public-ip create \
        --resource-group GoldenGateOnAzureLab \
        --name ggBastionIP \
        --sku Standard
    
  3. Azure Bastion kaynağı oluşturma. Kaynağın dağıtılması yaklaşık 10 dakika sürer.

    $ az network bastion create \
        --resource-group GoldenGateOnAzureLab \
        --name ggBastion \
        --public-ip-address ggBastionIP \
        --vnet-name ggVnet \
        --sku Standard \
        --enable-tunneling \
        --enable-ip-connect true
    

X Server VM oluşturma (ggXServer)

Parolanızı değiştirin ve X Server'ı dağıttığımız bir Windows iş istasyonu VM'sini oluşturmak için aşağıdaki komutu çalıştırın.

$ az vm create \
     --resource-group GoldenGateOnAzureLab \
     --name ggXServer \
     --image MicrosoftWindowsDesktop:Windows-10:win10-22h2-pro-g2:19045.2604.230207 \
     --size Standard_DS1_v2  \
     --vnet-name ggVnet \
     --subnet ggSubnet1 \
     --public-ip-sku Standard \
     --nsg "" \
     --data-disk-delete-option Delete \
     --os-disk-delete-option Delete \
     --nic-delete-option Delete \
     --admin-username azureuser \
     --admin-password <ENTER_YOUR_PASSWORD_HERE>

Bastion aracılığıyla ggXServer'a bağlanma

Bastion kullanarak ggXServer'a bağlanın.

  1. Azure portal'dan ggXServer'a gidin.
  2. Sol dikey pencerede Genel Bakış'a gidin
  3. Üsttekimenüden Bastion'ıbağla'yı> seçin
  4. Bastion sekmesini seçin
  5. Bastion Kullan'a tıklayın

X Server'ı çalıştırmak için ggXServer'ı hazırlama

X Server, bu laboratuvarın sonraki adımları için gereklidir. X Server'ı yüklemek ve başlatmak için aşağıdaki adımları gerçekleştirin.

  1. Windows için Xming X Server'ıggXServer'a indirin ve tüm varsayılan seçeneklerle yükleyin.

  2. Yüklemenin sonunda Başlat'ı seçmediğinizden emin olun

  3. Başlat menüsünden "XLAUNCH" uygulamasını başlatın.

  4. Birden Çok Pencere Seç

    XLaunch sihirbazı adım 1'in ekran görüntüsü.

  5. İstemci başlatma'ya tıklayın

    XLaunch sihirbazı adım 2'nin ekran görüntüsü.

  6. Erişim denetimi yok'a tıklayın

    XLaunch sihirbazının 3. adımının ekran görüntüsü.

  7. Windows Güvenlik Duvarı üzerinden X Server'a izin vermek için Erişime İzin Ver'i seçin

    XLaunch sihirbazı adım 4'ün ekran görüntüsü.

ggXServer VM'nizi yeniden başlatırsanız, X Server uygulamasını yeniden başlatmak için yukarıdaki 2-6 arası adımları izleyin.

Oracle veritabanı sanal makineleri oluşturma

Bu laboratuvar için, Oracle Database 19c görüntüsünden ve sanal makineler ggVM1ggVM2 oluşturuyoruz. Varsayılan anahtar konumunda henüz yoksa, bu komut SSH anahtarları da oluşturur. Belirli bir anahtar kümesini kullanmak için --ssh-key-value seçeneğini kullanın. Kimlik doğrulama anahtarları oluşturma bölümünde SSH anahtarlarınızı zaten oluşturduysanız, bu anahtarlar kullanılır.

Yeni bir sanal makine oluşturulurken parametresi, oluşturulan sanal makinenin size boyutunu ve türünü gösterir. Sanal makine oluşturmak için seçtiğiniz Azure bölgesine ve abonelik ayarlarınıza bağlı olarak, kullanabileceğiniz bazı sanal makine boyutları ve türleri kullanılamayabilir. Aşağıdaki örnek, bu laboratuvar Standard_DS1_v2için gereken en düşük boyutu kullanır. Sanal makinenin özelliklerini değiştirmek istiyorsanız Azure VM Boyutları'ndan kullanılabilir boyutlardan birini seçin. Test amacıyla Genel Amaçlı (D Serisi) sanal makine türlerinden birini seçebilirsiniz. Üretim veya pilot dağıtımlar için Bellek için İyileştirilmiş (E Serisi ve M Serisi) daha uygundur.

ggVM1 oluşturma (birincil)

$ az vm create \
     --resource-group GoldenGateOnAzureLab \
     --name ggVM1 \
     --image Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1 \
     --size Standard_DS1_v2 \
     --generate-ssh-keys \
    --admin-username azureuser \
    --vnet-name ggVnet \
    --subnet ggSubnet1 \
    --public-ip-address "" \
    --nsg "" \
    --zone 1

ggVM2 oluşturma (çoğaltma)

$ az vm create \
    --resource-group GoldenGateOnAzureLab \
    --name ggVM2 \
    --image Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1 \
    --size Standard_DS1_v2  \
    --generate-ssh-keys \
    --admin-username azureuser \
    --vnet-name ggVnet \
    --subnet ggSubnet1 \
    --public-ip-address "" \
    --nsg "" \
    --zone 2

ggVM1'e bağlanma (birincil)

Bastion kullanarak ggVM1'e bağlanın.

  1. Azure portal'den ggVM1'e gidin.
  2. Sol bölmede Genel Bakış'a gidin.
  3. Üstteki menüdenBastion'ıbağla'yı> seçin
  4. Bastion sekmesini seçin
  5. Bastion Kullan'a tıklayın

Veritabanını ggVM1 üzerinde oluşturma (birincil)

Oracle yazılımı Market görüntüsünde zaten yüklü olduğundan bir sonraki adım veritabanını oluşturmaktır.

  1. Yazılımı kullanıcı olarak oracle çalıştırın.
$ sudo su - oracle
  1. Aşağıdaki komutu kullanarak veritabanını oluşturun. Bu komutun tamamlanması 30-40 dakika sürebilir.
$ dbca -silent \
   -createDatabase \
   -templateName General_Purpose.dbc \
   -gdbname cdb1 \
   -sid cdb1 \
   -responseFile NO_VALUE \
   -characterSet AL32UTF8 \
   -sysPassword OraPasswd1 \
   -systemPassword OraPasswd1 \
   -createAsContainerDatabase true \
   -numberOfPDBs 1 \
   -pdbName pdb1 \
   -pdbAdminPassword OraPasswd1 \
   -databaseType MULTIPURPOSE \
   -automaticMemoryManagement false \
   -storageType FS \
   -datafileDestination "/u01/app/oracle/oradata/" \
   -ignorePreReqs

Çıktı aşağıdaki yanıta benzer görünmelidir.

Copying database files
1% complete
2% complete
8% complete
13% complete
19% complete
27% complete
Creating and starting Oracle instance
29% complete
32% complete
33% complete
34% complete
38% complete
42% complete
43% complete
45% complete
Completing Database Creation
48% complete
51% complete
53% complete
62% complete
70% complete
72% complete
Creating Pluggable Databases
78% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb1/cdb1.log" for more details.
  1. ORACLE_SID ve LD_LIBRARY_PATH değişkenlerini ayarlayın.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
  1. Sonraki oturum açma işlemleri için bu ayarların kaydedilmesi için .bashrc dosyasına ORACLE_SID ve LD_LIBRARY_PATH eklemek için aşağıdaki komutu çalıştırın. ORACLE_HOME değişkeni zaten .bashrc dosyasında ayarlanmalıdır.
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc
$ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
  1. Oracle dinleyicisi başlatma
$ lsnrctl start

ggVM2'ye bağlanma (çoğaltma)

Bastion kullanarak ggVM2'ye bağlanın.

  1. Azure portal'den ggVM2'ye gidin.
  2. Sol bölmede Genel Bakış'a gidin.
  3. Üstteki menüdenBastion'ıbağla'yı> seçin
  4. Bastion sekmesini seçin
  5. Bastion Kullan'a tıklayın

ggVM1 için güvenlik duvarı bağlantı noktalarını açma

Güvenlik duvarını ggVM1'den gelen bağlantılara izin verecek şekilde yapılandırın. Aşağıdaki komut ggVM2 üzerinde çalıştırılır.

$ sudo su -
$ firewall-cmd --permanent --zone=trusted --add-source=10.0.0.5
$ firewall-cmd --reload
$ exit

Veritabanını ggVM2'de oluşturma (çoğaltma)

  1. oracle Gerekirse kullanıcıya geçiş yapma
$ sudo su - oracle
  1. Veritabanını oluşturma
$ dbca -silent \
   -createDatabase \
   -templateName General_Purpose.dbc \
   -gdbname cdb1 \
   -sid cdb1 \
   -responseFile NO_VALUE \
   -characterSet AL32UTF8 \
   -sysPassword OraPasswd1 \
   -systemPassword OraPasswd1 \
   -createAsContainerDatabase true \
   -numberOfPDBs 1 \
   -pdbName pdb1 \
   -pdbAdminPassword OraPasswd1 \
   -databaseType MULTIPURPOSE \
   -automaticMemoryManagement false \
   -storageType FS \
   -datafileDestination "/u01/app/oracle/oradata/" \
   -ignorePreReqs
  1. ORACLE_SID ve ORACLE_HOME değişkenlerini ayarlayın.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
  1. Sonraki oturum açma işlemleri için bu ayarların kaydedilmesi için .bashrc dosyasına ORACLE_SID ve LD_LIBRARY_PATH eklemek için aşağıdaki komutu çalıştırın. ORACLE_HOME değişkeni zaten .bashrc dosyasında ayarlanmalıdır.
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc
$ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
  1. Oracle dinleyicisi başlatma
$ lsnrctl start

ggVM1 üzerinde Golden Gate'i yapılandırma

Golden Gate'i yüklemek ve yapılandırmak için bu bölümdeki adımları izleyin.

ggVM1'de arşiv günlüğü modunu etkinleştirme (birincil)

  1. Bağlan sqlplus
$ sqlplus / as sysdba
  1. Arşiv günlüğünü etkinleştirme
SQL> SELECT log_mode FROM v$database;

LOG_MODE
------------
NOARCHIVELOG

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
  1. Zorla günlüğe kaydetmeyi etkinleştirin ve en az bir günlük dosyasının mevcut olduğundan emin olun.
SQL> ALTER DATABASE FORCE LOGGING;
SQL> ALTER SYSTEM SWITCH LOGFILE;
SQL> ALTER SYSTEM set enable_goldengate_replication=true;
SQL> ALTER PLUGGABLE DATABASE PDB1 OPEN;
SQL> ALTER SESSION SET CONTAINER=CDB$ROOT;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> ALTER SESSION SET CONTAINER=PDB1;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> EXIT;

Golden Gate yazılımını indirin

  1. Oracle Golden Gate indirme sayfasından213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip dosyasını indirin. Linux x86-64 üzerinde Oracle için Oracle GoldenGate 21.3.0.0.0 indirme başlığı altında.

  2. .zip dosyasını istemci bilgisayarınıza indirdikten sonra, dosyaları sanal makinelerinize (ggVM1 ve ggVM2) kopyalamak için Güvenli Kopyalama Protokolü'nü (SCP) kullanabilirsiniz. Komutun scp .zip dosyasının doğru yolunu gösterdiğinden emin olun.

  3. ggVM1'e kopyala

    1. Oturum açın ve Azure'da oturum açma bölümünde açıklandığı gibi doğru aboneliği kullandığınızdan emin olun

    2. Aşağıdaki PowerShell komutunu kullanarak hedef VM'nize tüneli açın

      $ggVM1id=$(az vm show --resource-group GoldenGateOnAzureLab --name ggVM1 --query 'id' --output tsv)
      az network bastion tunnel --name ggBastion --resource-group GoldenGateOnAzureLab --target-resource-id $ggVM1id --resource-port 22 --port 57500
      
    3. İlk komut istemini çalışır durumda bırakın ve tünel üzerinden hedef VM'nize bağlanmak için ikinci bir komut istemi açın. Bu ikinci komut istemi penceresinde, aşağıdaki komutu kullanarak yerel makinenizden hedef VM'nize dosya yükleyebilirsiniz. Sanal makineye erişmek için doğru id_rsa keyfile dizinde .ssh bulunmalıdır veya komutu parametresini scp kullanarak -i farklı bir anahtar dosyasına işaret edebilirsiniz.

       scp -P 57500 "213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip"  azureuser@127.0.0.1:.
      
  4. ggVM2'ye kopyala

    1. Aşağıdaki PowerShell komutunu kullanarak hedef VM'nize tüneli açın

      $ggVM2id=$(az vm show --resource-group GoldenGateOnAzureLab --name ggVM2 --query 'id' --output tsv)
      az network bastion tunnel --name ggBastion --resource-group GoldenGateOnAzureLab --target-resource-id $ggVM2id --resource-port 22 --port 57501
      
    2. İlk komut istemini çalışır durumda bırakın ve tünel üzerinden hedef VM'nize bağlanmak için ikinci bir komut istemi açın. Bu ikinci komut istemi penceresinde, aşağıdaki komutu kullanarak yerel makinenizden hedef VM'nize dosya yükleyebilirsiniz. Sanal makineye erişmek için doğru id_rsa keyfile dizinde .ssh bulunmalıdır veya komutu parametresini scp kullanarak -i farklı bir anahtar dosyasına işaret edebilirsiniz.

      scp -P 57501 "213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip"  azureuser@127.0.0.1:.
      

Golden Gate yazılımını yükleme

  1. Bastion kullanarak ggVM1'e bağlanın.

    1. Azure portal'den ggVM1'e gidin.
    2. Sol panelde Genel Bakış'a gidin
    3. Üstteki menüdenBastion'ıbağla'yı> seçin
    4. Bastion sekmesini seçin
    5. Bastion Kullan'a tıklayın
  2. .zip dosyasını /opt klasörüne taşıyın ve sahibini değiştirin

    $ sudo su -
    $ mv /home/azureuser/*.zip /opt
    
  3. Dosyaların sıkıştırmasını açın (henüz yüklü değilse unzip yardımcı programını yükleyin)

    $ yum install unzip
    $ cd /opt
    $ unzip 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip
    
  4. İzin değiştirme

    $ chown -R oracle:oinstall /opt/fbo_ggs_Linux_x64_Oracle_shiphome
    $ exit
    
  5. Golden Gate yükleyiciyi başlatma

    $ sudo su - oracle
    $ export DISPLAY=10.0.0.4:0.0
    $ cd /opt/fbo_ggs_Linux_x64_Oracle_shiphome/Disk1
    $ ./runInstaller
    

    Yükleyici ggXServer'da açılır.

  6. 'Oracle Database 21c için Oracle GoldenGate'i seçin. Ardından devam etmek için İleri'yi seçin.

    Golden Gate yükleme sihirbazı 1. adımın ekran görüntüsü.

  7. Yazılım konumunu /u01/app/oracle/product/19.0.0/oggcore_1 olarak ayarlayın, Start Manager kutusunun seçili olduğundan emin olun ve devam etmek için İleri'yi seçin.

    Golden Gate yükleme sihirbazı 2. adımın ekran görüntüsü.

  8. Devam etmek için Özet ekranında Yükle'yi seçin.

    Golden Gate yükleme sihirbazı 3. adımın ekran görüntüsü.

  9. Yüklemenin tamamlanmasını bekleyin.

    Golden Gate yükleme sihirbazının 4. adımının ekran görüntüsü.

  10. Devam etmek için Kapat'ı seçin.

Golden Gate yükleme sihirbazı 5. adımın ekran görüntüsü.

  1. Bastion kullanarak ggVM2'ye bağlanın.

    1. Azure portal'den ggVM2'ye gidin.
    2. Sol bölmede Genel Bakış'a gidin
    3. Üstteki menüdenBastion'ıbağla'yı> seçin
    4. Bastion sekmesini seçin
    5. Bastion Kullan'a tıklayın
  2. Yukarıdaki 2-10 arası adımları ggVM2'de yineleyin

ggVM1'de hizmeti ayarlama (birincil)

  1. tnsnames.ora dosyasını oluşturun veya güncelleştirin.

    $ sudo su - oracle
    $ cd $ORACLE_HOME/network/admin
    $ vi tnsnames.ora
    

    Vi düzenleyicisi açıldığında ekleme moduna geçmek için basmanızi, ardından dosya içeriğini kopyalayıp yapıştırmanız ve dosyayı kaydetmek için tuşuna :wq! basmanız Esc gerekir.

    cdb1=
     (DESCRIPTION=
       (ADDRESS=
         (PROTOCOL=TCP)
         (HOST=localhost)
         (PORT=1521)
       )
       (CONNECT_DATA=
         (SERVER=dedicated)
         (SERVICE_NAME=cdb1)
       )
     )
    
    pdb1=
     (DESCRIPTION=
       (ADDRESS=
         (PROTOCOL=TCP)
         (HOST=localhost)
         (PORT=1521)
       )
       (CONNECT_DATA=
         (SERVER=dedicated)
         (SERVICE_NAME=pdb1)
       )
     )
    
  2. Golden Gate sahibini ve kullanıcı hesaplarını oluşturun.

    Not

    Sahip hesabının C## ön eki olmalıdır.

    $ sqlplus / as sysdba
    
     SQL> CREATE USER C##GGADMIN identified by ggadmin;
     SQL> EXEC dbms_goldengate_auth.grant_admin_privilege('C##GGADMIN',container=>'ALL');
     SQL> GRANT DBA to C##GGADMIN container=all;
     SQL> connect C##GGADMIN/ggadmin
     SQL> ALTER SESSION SET CONTAINER=PDB1;
     SQL> EXIT;
    
  3. Golden Gate test kullanıcı hesabını oluşturma

    $ cd /u01/app/oracle/product/19.0.0/oggcore_1
    $ sqlplus system/OraPasswd1@pdb1
    
    SQL> CREATE USER test identified by test DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;
    SQL> GRANT connect, resource, dba TO test;
    SQL> ALTER USER test QUOTA 100M on USERS;
    SQL> connect test/test@pdb1
    SQL> @demo_ora_create
    SQL> @demo_ora_insert
    SQL> EXIT;
    
  4. Ayıklama parametre dosyasını yapılandırın.

    Golden Gate komut satırı arabirimini (ggsci) başlatın:

    $ sudo su - oracle
    $ cd /u01/app/oracle/product/19.0.0/oggcore_1
    $ ./ggsci
    
    GGSCI> DBLOGIN USERID test@pdb1, PASSWORD test
    Successfully logged into database  pdb1
    GGSCI>  ADD SCHEMATRANDATA pdb1.test
    2017-05-23 15:44:25  INFO    OGG-01788  SCHEMATRANDATA has been added on schema test.
    2017-05-23 15:44:25  INFO    OGG-01976  SCHEMATRANDATA for scheduling columns has been added on schema test.
    
    GGSCI> EDIT PARAMS EXTORA
    
  5. Ekleme moduna geçmek için tuşuna basın i ve EXTRACT parametre dosyasına kadar kopyalayıp yapıştırın (SSH penceresine sağ tıklayın). Dosyayı kaydetmek için Esc tuşuna :wq! basın.

    EXTRACT EXTORA
    USERID C##GGADMIN@cdb1, PASSWORD ggadmin
    RMTHOST 10.0.0.5, MGRPORT 7809
    RMTTRAIL ./dirdat/rt
    DDL INCLUDE MAPPED
    DDLOPTIONS REPORT
    LOGALLSUPCOLS
    UPDATERECORDFORMAT COMPACT
    TABLE pdb1.test.TCUSTMER;
    TABLE pdb1.test.TCUSTORD;
    
  6. Ayıklama--tümleşik ayıklamayı kaydedin.

    GGSCI> dblogin userid C##GGADMIN@cdb1, password ggadmin
    Successfully logged into database CDB$ROOT.
    
    GGSCI> REGISTER EXTRACT EXTORA DATABASE CONTAINER(pdb1)
    
    2023-03-03 19:37:01  INFO    OGG-02003  Extract group EXTORA successfully registered with database at SCN 2142014.
    
    GGSCI> exit
    
  7. Ayıklama denetim noktalarını ayarlama ve gerçek zamanlı ayıklamayı başlatma

    $ ./ggsci
    
    GGSCI>  ADD EXTRACT EXTORA, INTEGRATED TRANLOG, BEGIN NOW
    EXTRACT (Integrated) added.
    
    GGSCI>  ADD RMTTRAIL ./dirdat/rt, EXTRACT EXTORA, MEGABYTES 10
    RMTTRAIL added.
    
    GGSCI>  START EXTRACT EXTORA
    
    Sending START request to MANAGER ...
    EXTRACT EXTORA starting
    
    GGSCI > INFO ALL
    
    Program     Status      Group       Lag at Chkpt  Time Since Chkpt
    
    MANAGER     RUNNING
    EXTRACT     RUNNING     EXTORA      00:00:11      00:00:04
    
    GGSCI > EXIT
    

    Bu adımda, daha sonra farklı bir bölümde kullanılan başlangıç SCN'sini bulursunuz.

    $ sqlplus / as sysdba
    
    SQL> alter session set container = pdb1;
    SQL> SELECT current_scn from v$database;
    CURRENT_SCN
    -----------
       2172191
    SQL> EXIT;
    
    $ ./ggsci
    GGSCI> EDIT PARAMS INITEXT
    

    Vi düzenleyicisi açıldığında ekleme moduna geçmek için basmanızi, ardından dosya içeriğini kopyalayıp yapıştırmanız ve dosyayı kaydetmek için tuşuna :wq! basmanız Esc gerekir.

    EXTRACT INITEXT
    USERID C##GGADMIN@cdb1, PASSWORD ggadmin
    RMTHOST 10.0.0.6, MGRPORT 7809
    RMTTASK REPLICAT, GROUP INITREP
    TABLE pdb1.test.*, SQLPREDICATE 'AS OF SCN 2172191';
    
    GGSCI> ADD EXTRACT INITEXT, SOURCEISTABLE
    Extract added.
    GGSCI> EXIT
    

ggVM2'de hizmeti ayarlama (çoğaltma)

  1. tnsnames.ora dosyasını oluşturun veya güncelleştirin.

    $ cd $ORACLE_HOME/network/admin
    $ vi tnsnames.ora
    

    Vi düzenleyicisi açıldığında ekleme moduna geçmek için basmanızi, ardından dosya içeriğini kopyalayıp yapıştırmanız ve dosyayı kaydetmek için tuşuna :wq! basmanız Esc gerekir.

    cdb1=
     (DESCRIPTION=
       (ADDRESS=
         (PROTOCOL=TCP)
         (HOST=localhost)
         (PORT=1521)
       )
       (CONNECT_DATA=
         (SERVER=dedicated)
         (SERVICE_NAME=cdb1)
       )
     )
    
    pdb1=
     (DESCRIPTION=
       (ADDRESS=
         (PROTOCOL=TCP)
         (HOST=localhost)
         (PORT=1521)
       )
       (CONNECT_DATA=
         (SERVER=dedicated)
         (SERVICE_NAME=pdb1)
       )
     )
    
  2. Çoğaltma hesabı oluşturun.

    $ sqlplus / as sysdba
    
    SQL> ALTER SYSTEM set enable_goldengate_replication=true;
    SQL> ALTER SESSION SET CONTAINER = pdb1;
    SQL> CREATE USER REPUSER IDENTIFIED BY REP_PASS CONTAINER=CURRENT;
    SQL> GRANT DBA TO REPUSER;
    SQL> EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('REPUSER',CONTAINER=>'PDB1');
    SQL> CONNECT REPUSER/REP_PASS@PDB1
    SQL> EXIT;
    
  3. Golden Gate test kullanıcı hesabı oluşturun.

    $ cd /u01/app/oracle/product/19.0.0/oggcore_1
    $ sqlplus system/OraPasswd1@pdb1
    
    SQL> CREATE USER test identified by test DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;
    SQL> GRANT connect, resource, dba TO test;
    SQL> ALTER USER test QUOTA 100M on USERS;
    SQL> CONNECT test/test@pdb1
    SQL> @demo_ora_create
    SQL> EXIT;
    
  4. Değişiklikleri çoğaltmak için REPLICAT parametre dosyası.

    $ cd /u01/app/oracle/product/19.0.0/oggcore_1
    $ ./ggsci
    
    GGSCI> EDIT PARAMS REPORA
    

    Vi düzenleyicisi açıldığında ekleme moduna geçmek için basmanızi, ardından dosya içeriğini kopyalayıp yapıştırmanız ve dosyayı kaydetmek için tuşuna :wq! basmanız Esc gerekir.

    REPLICAT REPORA
    ASSUMETARGETDEFS
    DISCARDFILE ./dirrpt/repora.dsc, PURGE, MEGABYTES 100
    DDL INCLUDE MAPPED
    DDLOPTIONS REPORT
    DBOPTIONS INTEGRATEDPARAMS(parallelism 6)
    USERID repuser@pdb1, PASSWORD REP_PASS
    MAP pdb1.test.*, TARGET pdb1.test.*;
    
  5. Çoğaltma denetim noktası ayarlayın.

    GGSCI> ADD REPLICAT REPORA, INTEGRATED, EXTTRAIL ./dirdat/rt
    GGSCI> EDIT PARAMS INITREP
    

    Vi düzenleyicisi açıldığında ekleme moduna geçmek için basmanızi, ardından dosya içeriğini kopyalayıp yapıştırmanız ve dosyayı kaydetmek için tuşuna :wq! basmanız Esc gerekir.

    REPLICAT INITREP
    ASSUMETARGETDEFS
    DISCARDFILE ./dirrpt/tcustmer.dsc, APPEND
    USERID repuser@pdb1, PASSWORD REP_PASS
    MAP pdb1.test.*, TARGET pdb1.test.*;
    
    GGSCI> ADD REPLICAT INITREP, SPECIALRUN
    GGSCI> EXIT
    

Çoğaltmayı ayarlama (ggVM1 ve ggVM2)

1. Çoğaltmayı ggVM2'de ayarlama (çoğaltma)

'da ggscioturum açma.

$ cd /u01/app/oracle/product/12.1.0/oggcore_1
$ ./ggsci
GGSCI> EDIT PARAMS MGR

Dosyayı aşağıdakilerle güncelleştirin.

PORT 7809
ACCESSRULE, PROG *, IPADDR *, ALLOW

Yönetici hizmetini yeniden başlatın.

GGSCI> STOP MGR
GGSCI> START MGR
GGSCI> EXIT

2. Çoğaltmayı ggVM1'de ayarlama (birincil)

İlk yüklemeyi başlatın ve hataları denetleyin.

$ cd /u01/app/oracle/product/19.0.0/oggcore_1
$ ./ggsci
GGSCI> START EXTRACT INITEXT
GGSCI> VIEW REPORT INITEXT

3. Çoğaltmayı ggVM2'de ayarlama (çoğaltma)

SCN numarasını daha önce elde ettiğiniz sayıyla değiştirin.

$ cd /u01/app/oracle/product/19.0.0/oggcore_1
$ ./ggsci
START REPLICAT REPORA, AFTERCSN 2172191

Çoğaltma başladı ve TEST tablolarına yeni kayıtlar ekleyerek bunu test edebilirsiniz.

İş durumunu görüntüleme ve sorun giderme

Raporları görüntüle

  • ggVM1'de raporları görüntülemek için aşağıdaki komutları çalıştırın.

    GGSCI> VIEW REPORT EXTORA
    
  • ggVM2'de raporları görüntülemek için aşağıdaki komutları çalıştırın.

    GGSCI> VIEW REPORT REPORA
    

Durumu ve geçmişi görüntüleme

  • ggVM1'de durumu ve geçmişi görüntülemek için aşağıdaki komutları çalıştırın.

    GGSCI> DBLOGIN USERID C##GGADMIN@CDB1, PASSWORD ggadmin
    GGSCI> INFO EXTRACT EXTORA, DETAIL
    
  • ggVM2'de durumu ve geçmişi görüntülemek için aşağıdaki komutları çalıştırın.

    GGSCI> DBLOGIN USERID REPUSER@PDB1 PASSWORD REP_PASS
    GGSCI> INFO REP REPORA, DETAIL
    
    $ sqlplus test/test@pdb1
    
    SQL> select * from TCUSTMER;
    SQL> select * from TCUSTORD;
    

Veri Çoğaltmayı Gözlemleme

  1. ggVM1 üzerinde birincil veritabanına bağlanma

    $ sqlplus test/test@pdb1
    
  2. Tablodan var olan kayıtları seçme

    SQL> select * from TCUSTORD;
    
  3. Test kaydı oluşturma

    SQL> INSERT INTO TCUSTORD VALUES ('OLLJ',TO_DATE('11-APR-99'),'CYCLE',400,16000,1,102);
    SQL> COMMIT;
    SQL> EXIT;
    
  4. Golden Gate tarafından toplanan işlemi gözlemleme (Not Toplam ekleme değeri)

$ cd /u01/app/oracle/product/19.0.0/oggcore_1
$ ./ggsci
GGSCI> STATS EXTORA
  Sending STATS request to Extract group EXTORA ...

  Start of statistics at 2023-03-24 19:41:54.

  DDL replication statistics (for all trails):

  *** Total statistics since extract started     ***
  Operations                           0.00
  Mapped operations                    0.00
  Unmapped operations                    0.00
  Other operations                    0.00
  Excluded operations                    0.00

  Output to ./dirdat/rt:

  Extracting from PDB1.TEST.TCUSTORD to PDB1.TEST.TCUSTORD:

  *** Total statistics since 2023-03-24 19:41:34 ***
     Total inserts                              1.00
     Total updates                              0.00
     Total deletes                              0.00
     Total upserts                              0.00
     Total discards                             0.00
     Total operations                           1.00

  *** Daily statistics since 2023-03-24 19:41:34 ***
     Total inserts                              1.00
     Total updates                              0.00
     Total deletes                              0.00
     Total upserts                              0.00
     Total discards                             0.00
     Total operations                           1.00

  *** Hourly statistics since 2023-03-24 19:41:34 ***
     Total inserts                              1.00
     Total updates                              0.00
     Total deletes                              0.00
     Total upserts                              0.00
     Total discards                             0.00
     Total operations                           1.00

  *** Latest statistics since 2023-03-24 19:41:34 ***
     Total inserts                              1.00
     Total updates                              0.00
     Total deletes                              0.00
     Total upserts                              0.00
     Total discards                             0.00
     Total operations                           1.00

  End of statistics.
  1. ggVM2 üzerinde birincil veritabanına bağlanma

    $ sqlplus test/test@pdb1
    
  2. Yeni kaydın çoğaltıldığını doğrulama

    SQL> select * from TCUSTORD;
    
     CUST ORDER_DAT PRODUCT_   ORDER_ID PRODUCT_PRICE PRODUCT_AMOUNT TRANSACTION_ID
     ---- --------- -------- ---------- ------------- -------------- --------------
     OLLJ 11-APR-99 CYCLE       400   16000      1    102
     WILL 30-SEP-94 CAR       144   17520      3    100
     JANE 11-NOV-95 PLANE       256  133300      1    100
    

Oracle Linux'ta Golden Gate yüklemesi ve yapılandırması tamamlandı.

ggXServer VM'sini silme

ggXServer VM yalnızca kurulum sırasında kullanılır. Bu laboratuvar belgesini tamamladıktan sonra güvenle silebilirsiniz ancak GoldenGate'inizi Azure laboratuvar kurulumunda olduğu gibi tutabilirsiniz.

$ az vm delete --resource-group GoldenGateOnAzureLab --name ggXServer --force-deletion yes

$ az network public-ip delete --resource-group GoldenGateOnAzureLab --name ggXServerPublicIP

Azure Lab kurulumunda Golden Gate'i silme

Artık gerekli olmadığında, bu laboratuvar için kaynak grubunu, VM'yi ve tüm ilgili kaynakları kaldırmak için aşağıdaki komut kullanılabilir.

$ az group delete --name GoldenGateOnAzureLab

Sonraki adımlar

Yüksek oranda kullanılabilir sanal makine oluşturma öğreticisi

VM dağıtımı CLI örneklerini keşfedin