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
Tercih ettiğiniz kabuğu Windows, Linux veya Azure Shell'de açın.
az login komutuyla Azure aboneliğinizde oturum açın . Ardından ekrandaki yönergeleri izleyin.
$ az login
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
Sanal ağınızı kilitlemek için ağ güvenlik grubu (NSG) oluşturun.
$ az network nsg create \ --resource-group GoldenGateOnAzureLab \ --name ggVnetNSG
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
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
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
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
Bastion için genel IP oluşturma
$ az network public-ip create \ --resource-group GoldenGateOnAzureLab \ --name ggBastionIP \ --sku Standard
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.
- Azure portal'dan ggXServer'a gidin.
- Sol dikey pencerede Genel Bakış'a gidin
- Üsttekimenüden Bastion'ıbağla'yı> seçin
- Bastion sekmesini seçin
- 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.
Windows için Xming X Server'ıggXServer'a indirin ve tüm varsayılan seçeneklerle yükleyin.
Yüklemenin sonunda Başlat'ı seçmediğinizden emin olun
Başlat menüsünden "XLAUNCH" uygulamasını başlatın.
Birden Çok Pencere Seç
İstemci başlatma'ya tıklayın
Erişim denetimi yok'a tıklayın
Windows Güvenlik Duvarı üzerinden X Server'a izin vermek için Erişime İzin Ver'i seçin
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 ggVM1
ggVM2
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_v2
iç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.
- Azure portal'den ggVM1'e gidin.
- Sol bölmede Genel Bakış'a gidin.
- Üstteki menüdenBastion'ıbağla'yı> seçin
- Bastion sekmesini seçin
- 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.
- Yazılımı kullanıcı olarak
oracle
çalıştırın.
$ sudo su - oracle
- 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.
- ORACLE_SID ve LD_LIBRARY_PATH değişkenlerini ayarlayın.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
- 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
- Oracle dinleyicisi başlatma
$ lsnrctl start
ggVM2'ye bağlanma (çoğaltma)
Bastion kullanarak ggVM2'ye bağlanın.
- Azure portal'den ggVM2'ye gidin.
- Sol bölmede Genel Bakış'a gidin.
- Üstteki menüdenBastion'ıbağla'yı> seçin
- Bastion sekmesini seçin
- 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)
oracle
Gerekirse kullanıcıya geçiş yapma
$ sudo su - oracle
- 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
- ORACLE_SID ve ORACLE_HOME değişkenlerini ayarlayın.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
- 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
- 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)
- Bağlan
sqlplus
$ sqlplus / as sysdba
- 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;
- 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
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.
.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.ggVM1'e kopyala
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
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
İ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 parametresiniscp
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:.
ggVM2'ye kopyala
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
İ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 parametresiniscp
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
Bastion kullanarak ggVM1'e bağlanın.
- Azure portal'den ggVM1'e gidin.
- Sol panelde Genel Bakış'a gidin
- Üstteki menüdenBastion'ıbağla'yı> seçin
- Bastion sekmesini seçin
- Bastion Kullan'a tıklayın
.zip dosyasını /opt klasörüne taşıyın ve sahibini değiştirin
$ sudo su - $ mv /home/azureuser/*.zip /opt
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
İzin değiştirme
$ chown -R oracle:oinstall /opt/fbo_ggs_Linux_x64_Oracle_shiphome $ exit
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.
'Oracle Database 21c için Oracle GoldenGate'i seçin. Ardından devam etmek için İleri'yi seçin.
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.
Devam etmek için Özet ekranında Yükle'yi seçin.
Yüklemenin tamamlanmasını bekleyin.
Devam etmek için Kapat'ı seçin.
Bastion kullanarak ggVM2'ye bağlanın.
- Azure portal'den ggVM2'ye gidin.
- Sol bölmede Genel Bakış'a gidin
- Üstteki menüdenBastion'ıbağla'yı> seçin
- Bastion sekmesini seçin
- Bastion Kullan'a tıklayın
Yukarıdaki 2-10 arası adımları ggVM2'de yineleyin
ggVM1'de hizmeti ayarlama (birincil)
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ız
i
, ardından dosya içeriğini kopyalayıp yapıştırmanız ve dosyayı kaydetmek için tuşuna:wq!
basmanızEsc
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) ) )
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;
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;
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
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;
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
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ız
i
, ardından dosya içeriğini kopyalayıp yapıştırmanız ve dosyayı kaydetmek için tuşuna:wq!
basmanızEsc
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)
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ız
i
, ardından dosya içeriğini kopyalayıp yapıştırmanız ve dosyayı kaydetmek için tuşuna:wq!
basmanızEsc
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) ) )
Ç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;
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;
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ız
i
, ardından dosya içeriğini kopyalayıp yapıştırmanız ve dosyayı kaydetmek için tuşuna:wq!
basmanızEsc
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.*;
Ç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ız
i
, ardından dosya içeriğini kopyalayıp yapıştırmanız ve dosyayı kaydetmek için tuşuna:wq!
basmanızEsc
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 ggsci
oturum 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
ggVM1 üzerinde birincil veritabanına bağlanma
$ sqlplus test/test@pdb1
Tablodan var olan kayıtları seçme
SQL> select * from TCUSTORD;
Test kaydı oluşturma
SQL> INSERT INTO TCUSTORD VALUES ('OLLJ',TO_DATE('11-APR-99'),'CYCLE',400,16000,1,102); SQL> COMMIT; SQL> EXIT;
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.
ggVM2 üzerinde birincil veritabanına bağlanma
$ sqlplus test/test@pdb1
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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin