Menerapkan Oracle Golden Gate pada komputer virtual (VM) Azure Linux
Berlaku untuk: ✔️ mesin virtual Linux
Azure CLI digunakan untuk membuat dan mengelola sumber daya Azure dari baris perintah atau dalam skrip. Panduan ini merinci cara menggunakan Azure CLI untuk menyebarkan database Oracle 19c dari gambar galeri Marketplace Azure.
Dokumen ini memperlihatkan kepada Anda langkah demi langkah cara membuat, menginstal, dan mengonfigurasi Oracle Golden Gate di Azure VM. Dalam tutorial ini, dua komputer virtual disiapkan dalam ketersediaan yang ditetapkan dalam satu wilayah. Tutorial yang sama dapat digunakan untuk menyiapkan OracleGolden Gate untuk VM di Zona Ketersediaan yang berbeda dalam satu wilayah Azure atau untuk VM yang disiapkan di dua wilayah berbeda.
Sebelum memulai, pastikan Bahwa Azure CLI diinstal. Untuk informasi selengkapnya, lihat Panduan penginstalan Azure CLI.
Pendahuluan
GoldenGate adalah perangkat lunak replikasi logis yang memungkinkan replikasi, pemfilteran, dan transformasi data real-time dari database sumber ke database target. Fitur ini memastikan bahwa perubahan dalam database sumber direplikasi secara real-time, sehingga memungkinkan database target diperbarui dengan data terbaru.
Gunakan GoldenGate terutama untuk kasus replikasi heterogen, seperti mereplikasi data dari database sumber yang berbeda ke database tunggal. Misalnya, gudang data. Anda juga dapat menggunakannya untuk migrasi lintas platform, seperti dari SPARC dan AIX ke lingkungan Linux x86, dan skenario ketersediaan dan skalabilitas tinggi tingkat lanjut.
Selain itu, GoldenGate juga cocok untuk migrasi waktu henti hampir nol karena mendukung migrasi online dengan gangguan minimal pada sistem sumber.
Meskipun GoldenGate memfasilitasi replikasi dua arah, aplikasi harus dikonfigurasi dengan sesuai. Selain itu, perangkat lunak mengizinkan pemfilteran dan transformasi data untuk memenuhi persyaratan bisnis tertentu, memungkinkan pengguna untuk menggunakan data yang direplikasi untuk berbagai tujuan.
Menyiapkan lingkungan
Untuk melakukan instalasi Oracle Golden Gate, Anda perlu membuat dua Azure VM pada kumpulan ketersediaan yang sama. Gambar Marketplace yang Anda gunakan untuk membuat VM adalah Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1.
Anda juga harus terbiasa dengan editor Vi Unix dan memiliki pemahaman dasar tentang X Server.
Tabel berikut adalah ringkasan konfigurasi lingkungan:
Situs Utama | Situs replikasi | |
---|---|---|
Rilis Oracle | Oracle Database 19.3.1.0 | Oracle Database 19.3.1.0 |
Nama mesin | ggVM1 | ggVM2 |
Sistem operasi | Oracle Linux 7.x | Oracle Linux 7.x |
SID Oracle | CDB1 | CDB1 |
Skema replikasi | TEST | TEST |
Pemilik/replikasi Golden Gate | C##GGADMIN | REPUSER |
Proses Golden Gate | EXTORA | REPORA |
Masuk ke Azure
Buka shell pilihan Anda di Windows, Linux, atau Azure Shell.
Masuk ke langganan Azure Anda dengan perintah az login. Kemudian, ikuti petunjuk di layar.
$ az login
Pastikan Anda tersambung ke langganan yang benar dengan memverifikasi nama langganan dan/atau ID.
$ 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" } }
Membuat kunci autentikasi
Kami menggunakan autentikasi berbasis file kunci dengan ssh untuk menyambungkan ke VM Oracle Database. Pastikan Anda memiliki file kunci privat (bernama id_rsa
) dan publik (bernamaid_rsa.pub
) dibuat di shell Anda.
Lokasi file kunci tergantung pada sistem sumber Anda.
Windows: %USERPROFILE%.ssh Linux: ~/.ssh
Jika tidak ada, Anda dapat membuat pasangan keyfile baru.
ssh-keygen -m PEM -t rsa -b 4096
Direktori .ssh dan file kunci dibuat. Untuk informasi selengkapnya, lihat Membuat dan mengelola kunci SSH untuk autentikasi ke VM Linux di Azure
Buat grup sumber daya
Untuk membuat grup sumber daya, jalankan perintah az group create. Grup sumber daya Azure adalah kontainer logis yang disebarkan dan dikelola oleh sumber daya Azure.
$ az group create --name GoldenGateOnAzureLab --location westus
Membuat dan mengonfigurasi jaringan
Membuat jaringan virtual
Gunakan perintah berikut untuk membuat jaringan virtual yang menghosting sumber daya yang kita buat di lab ini.
$ 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"
Membuat Kelompok Keamanan Jaringan (NSG)
Buat kelompok keamanan jaringan (NSG) untuk mengunci jaringan virtual Anda.
$ az network nsg create \ --resource-group GoldenGateOnAzureLab \ --name ggVnetNSG
Buat aturan NSG untuk memungkinkan komunikasi dalam jaringan virtual.
$ 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
Buat aturan NSG untuk menolak semua koneksi masuk.
$ 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
Tetapkan NSG ke Subnet tempat kami menghosting server kami.
$ az network vnet subnet update --resource-group GoldenGateOnAzureLab --vnet-name ggVNet --name ggSubnet1 --network-security-group ggVnetNSG
Membuat Jaringan Bastion
Buat subnet Bastion. Nama subnet harus AzureBastionSubnet.
$ az network vnet subnet create \ --resource-group GoldenGateOnAzureLab \ --name AzureBastionSubnet \ --vnet-name ggVnet \ --address-prefixes 10.0.1.0/24
Buat IP publik untuk Bastion.
$ az network public-ip create \ --resource-group GoldenGateOnAzureLab \ --name ggBastionIP \ --sku Standard
Buat sumber daya Azure Bastion. Dibutuhkan sekitar 10 menit agar sumber daya dapat disebarkan.
$ az network bastion create \ --resource-group GoldenGateOnAzureLab \ --name ggBastion \ --public-ip-address ggBastionIP \ --vnet-name ggVnet \ --sku Standard \ --enable-tunneling \ --enable-ip-connect true
Membuat X Server VM (ggXServer)
Ganti kata sandi Anda dan jalankan perintah berikut untuk membuat VM stasiun kerja Windows tempat kami menyebarkan X Server.
$ 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>
Menyambungkan ke ggXServer melalui Bastion
Sambungkan ke ggXServer menggunakan Bastion.
- Navigasi ke ggXServer dari portal Azure
- Temukan Gambaran Umum di navigasi kiri
- Pilih Sambungkan>Bastion pada menu di bagian atas
- Pilih tab Bastion
- Klik Gunakan Bastion
Menyiapkan ggXServer untuk menjalankan X Server
X Server diperlukan untuk langkah-langkah selanjutnya dari lab ini. Lakukan langkah-langkah berikut untuk menginstal dan memulai X Server.
Unduh Xming X Server untuk Windows ke ggXServer dan instal dengan semua opsi default.
Pastikan Anda tidak memilih Luncurkan di akhir penginstalan
Luncurkan aplikasi "XLAUNCH" dari menu mulai.
Pilih Beberapa Windows
Pilih Mulai tanpa klien
Pilih Tidak ada kontrol akses
Pilih Izinkan Akses untuk mengizinkan X Server melalui Windows Firewall
Jika Anda memulai ulang ggXServer VM, ikuti langkah 2-6 di atas untuk memulai ulang aplikasi X Server.
Membuat komputer virtual database Oracle
Untuk lab ini, kami membuat komputer ggVM1
virtual dan ggVM2
dari gambar Oracle Database 19c. Jika belum ada di lokasi kunci default, perintah ini juga membuat kunci SSH. Untuk menggunakan set tombol tertentu, gunakan opsi --ssh-key-value
. Jika Anda sudah membuat kunci SSH di bagian Hasilkan kunci autentikasi, kunci tersebut akan digunakan.
Saat Anda membuat komputer virtual baru, size
parameter menunjukkan ukuran dan jenis komputer virtual yang dibuat. Bergantung pada wilayah Azure yang Anda pilih untuk membuat komputer virtual dan pengaturan langganan Anda, beberapa ukuran dan jenis komputer virtual mungkin tidak tersedia untuk Anda gunakan. Contoh berikut menggunakan ukuran minimum yang diperlukan untuk lab Standard_DS1_v2
ini . Jika Anda ingin mengubah spesifikasi komputer virtual, pilih salah satu ukuran yang tersedia dari Ukuran Azure VM. Untuk tujuan pengujian, Anda dapat memilih dari jenis komputer virtual Tujuan Umum (Seri D). Untuk penyebaran produksi atau pilot, Memory Optimized (E-Series dan M-Series) lebih cocok.
Membuat ggVM1 (utama)
$ 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
Membuat ggVM2 (replikasi)
$ 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
Menyambungkan ke ggVM1 (utama)
Sambungkan ke ggVM1 menggunakan Bastion.
- Navigasi ke ggVM1 dari portal Azure.
- Buka Gambaran Umum di panel kiri.
- Pilih Sambungkan>Bastion pada menu di bagian atas
- Pilih tab Bastion
- Pilih Gunakan Bastion
Membuat database di ggVM1 (utama)
Perangkat lunak Oracle sudah diinstal pada gambar Marketplace, jadi langkah selanjutnya adalah membuat database.
- Jalankan perangkat lunak sebagai
oracle
pengguna.
$ sudo su - oracle
- Buat database menggunakan perintah berikut. Perintah ini dapat memakan waktu 30-40 menit untuk menyelesaikannya.
$ 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
Output akan terlihat mirip dengan respons berikut.
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.
- Atur variabel ORACLE_SID dan LD_LIBRARY_PATH.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
- Jalankan berikut untuk menambahkan ORACLE_SID dan LD_LIBRARY_PATH ke file .bashrc, sehingga pengaturan ini disimpan untuk masuk di masa mendatang. ORACLE_HOME variabel harus sudah diatur dalam file .bashrc.
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc
$ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
- Mulai Oracle listener
$ lsnrctl start
Menyambungkan ke ggVM2 (replikasi)
Sambungkan ke ggVM2 menggunakan Bastion.
- Navigasi ke ggVM2 dari portal Azure.
- Buka Gambaran Umum di panel kiri.
- Pilih Sambungkan>Bastion pada menu di bagian atas
- Pilih tab Bastion
- Pilih Gunakan Bastion
Buka port firewall untuk ggVM1
Konfigurasikan firewall untuk mengizinkan koneksi dari ggVM1. Perintah berikut dijalankan pada ggVM2.
$ sudo su -
$ firewall-cmd --permanent --zone=trusted --add-source=10.0.0.5
$ firewall-cmd --reload
$ exit
Membuat database di ggVM2 (replikasi)
- Beralih ke
oracle
pengguna jika perlu
$ sudo su - oracle
- Buatlah databasenya
$ 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
- Atur variabel ORACLE_SID dan ORACLE_HOME.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
- Jalankan berikut untuk menambahkan ORACLE_SID dan LD_LIBRARY_PATH ke file .bashrc, sehingga pengaturan ini disimpan untuk masuk di masa mendatang. ORACLE_HOME variabel harus sudah diatur dalam file .bashrc.
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc
$ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
- Mulai Oracle listener
$ lsnrctl start
Mengonfigurasi Golden Gate di ggVM1
Ikuti langkah-langkah di bagian ini untuk menginstal dan mengonfigurasi Golden Gate.
Aktifkan mode log arsip pada ggVM1 (utama)
- Sambungkan ke
sqlplus
$ sqlplus / as sysdba
- Aktifkan log arsip
SQL> SELECT log_mode FROM v$database;
LOG_MODE
------------
NOARCHIVELOG
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
- Aktifkan pembuatan log force, dan pastikan ada sedikitnya satu file log.
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;
Unduh perangkat lunak Golden Gate
Unduh file 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip dari halaman unduhan Oracle Golden Gate, di bawah judul unduhan Oracle GoldenGate 21.3.0.0.0 untuk Oracle di Linux x86-64.
Setelah mengunduh file .zip ke komputer klien, Anda dapat menggunakan Secure Copy Protocol (SCP) untuk menyalin file ke komputer virtual Anda (ggVM1 dan ggVM2). Pastikan perintah
scp
menunjuk ke jalur file .zip yang benar.Salin ke ggVM1
Masuk dan pastikan Anda menggunakan langganan yang benar seperlunya seperti yang dijelaskan dalam Masuk ke Azure
Buka terowongan ke VM target Anda menggunakan perintah PowerShell berikut
$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
Untuk terhubung ke VM target Anda melalui terowongan, biarkan prompt perintah pertama berjalan dan buka prompt perintah kedua . Di jendela prompt perintah kedua ini, Anda dapat mengunggah file dari komputer lokal ke VM target Anda menggunakan perintah berikut. Keyfile yang benar
id_rsa
untuk mengakses komputer virtual harus berada di.ssh
direktori atau Anda dapat menunjuk ke file kunci yang berbeda menggunakan-i
parameter kescp
perintah.scp -P 57500 "213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip" azureuser@127.0.0.1:.
Salin ke ggVM2
Buka terowongan ke VM target Anda menggunakan perintah PowerShell berikut
$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
Biarkan prompt perintah pertama berjalan dan buka prompt perintah kedua untuk terhubung ke VM target Anda melalui terowongan. Di jendela prompt perintah kedua ini, Anda dapat mengunggah file dari komputer lokal ke VM target Anda menggunakan perintah berikut. Keyfile yang benar
id_rsa
untuk mengakses komputer virtual harus berada di.ssh
direktori atau Anda dapat menunjuk ke file kunci yang berbeda menggunakan-i
parameter kescp
perintah.scp -P 57501 "213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip" azureuser@127.0.0.1:.
Instal perangkat lunak Golden Gate
Sambungkan ke ggVM1 menggunakan Bastion.
- Navigasi ke ggVM1 dari portal Azure.
- Buka Gambaran Umum di panel kiri
- Pilih Sambungkan>Bastion pada menu di bagian atas
- Pilih tab Bastion
- Pilih Gunakan Bastion
Pindahkan file .zip ke folder /opt , lalu ubah pemilik
$ sudo su - $ mv /home/azureuser/*.zip /opt
Unzip file (instal utilitas unzip jika belum diinstal)
$ yum install unzip $ cd /opt $ unzip 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip
Ubah izin
$ chown -R oracle:oinstall /opt/fbo_ggs_Linux_x64_Oracle_shiphome $ exit
Mulai penginstal Golden Gate
$ sudo su - oracle $ export DISPLAY=10.0.0.4:0.0 $ cd /opt/fbo_ggs_Linux_x64_Oracle_shiphome/Disk1 $ ./runInstaller
Alat penginstal terbuka pada ggXServer.
Pilih 'Oracle GoldenGate untuk Oracle Database 21c'. Kemudian pilih Berikutnya untuk melanjutkan.
Atur lokasi perangkat lunak ke /u01/app/oracle/product/19.0.0/oggcore_1, pastikan kotak Start Manager dipilih dan pilih Berikutnya untuk melanjutkan.
Pada layar Ringkasan, pilih Instal untuk melanjutkan.
Tunggu hingga penginstalan selesai.
Pilih Tutup untuk melanjutkan.
Sambungkan ke ggVM2 menggunakan Bastion.
- Navigasi ke ggVM2 dari portal Azure.
- Buka Gambaran Umum di panel kiri
- Pilih Sambungkan>Bastion pada menu di bagian atas
- Pilih tab Bastion
- Pilih Gunakan Bastion
Ulangi langkah 2-10 di atas pada ggVM2
Menyiapkan layanan pada ggVM1 (utama)
Buat atau perbarui file tnsnames.ora.
$ sudo su - oracle $ cd $ORACLE_HOME/network/admin $ vi tnsnames.ora
Ketika editor vi terbuka, Anda harus menekan
i
untuk beralih ke mode sisipkan, lalu menyalin dan menempelkan konten file dan menekanEsc
tombol,:wq!
untuk menyimpan file.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) ) )
Buat pemilik dan akun pengguna Golden Gate.
Catatan
Akun pemilik harus memiliki awalan C##.
$ 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;
Membuat akun pengguna uji Golden Gate
$ 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;
Konfigurasikan file parameter ekstrak.
Mulai antarmuka baris perintah Golden gate (ggsci):
$ 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
Tekan
i
tombol untuk beralih ke mode sisipkan dan salin dan tempel (klik kanan pada jendela SSH) mengikuti ke file parameter EXTRACT. Tekan tombol Esc,:wq!
untuk menyimpan file.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;
Daftar ekstrak--ekstrak terintegrasi.
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
Menyiapkan titik pemeriksaan ekstrak dan memulai ekstrak real-time
$ ./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
Dalam langkah ini, Anda menemukan SCN awal, yang digunakan nanti, di bagian yang berbeda.
$ 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
Ketika editor vi terbuka, Anda harus menekan
i
untuk beralih ke mode sisipkan, lalu menyalin dan menempelkan konten file dan menekanEsc
tombol,:wq!
untuk menyimpan file.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
Menyiapkan layanan pada ggVM2 (replikasi)
Buat atau perbarui file tnsnames.ora.
$ cd $ORACLE_HOME/network/admin $ vi tnsnames.ora
Ketika editor vi terbuka, Anda harus menekan
i
untuk beralih ke mode sisipkan, lalu menyalin dan menempelkan konten file dan menekanEsc
tombol,:wq!
untuk menyimpan file.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) ) )
Buat akun replikasi.
$ 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;
Buat akun pengguna uji Golden Gate.
$ 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;
File parameter REPLICAT untuk mereplikasi perubahan.
$ cd /u01/app/oracle/product/19.0.0/oggcore_1 $ ./ggsci
GGSCI> EDIT PARAMS REPORA
Ketika editor vi terbuka, Anda harus menekan
i
untuk beralih ke mode sisipkan, lalu menyalin dan menempelkan konten file dan menekanEsc
tombol,:wq!
untuk menyimpan file.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.*;
Siapkan titik pemeriksaan replikasi.
GGSCI> ADD REPLICAT REPORA, INTEGRATED, EXTTRAIL ./dirdat/rt GGSCI> EDIT PARAMS INITREP
Ketika editor vi terbuka, Anda harus menekan
i
untuk beralih ke mode sisipkan, lalu menyalin dan menempelkan konten file dan menekanEsc
tombol,:wq!
untuk menyimpan file.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
Menyiapkan replikasi (ggVM1 dan ggVM2)
1. Siapkan replikasi pada ggVM2 (replikasi)
Masuklah ke ggsci
.
$ cd /u01/app/oracle/product/12.1.0/oggcore_1
$ ./ggsci
GGSCI> EDIT PARAMS MGR
Perbarui file dengan yang berikut ini.
PORT 7809
ACCESSRULE, PROG *, IPADDR *, ALLOW
Mulai ulang layanan Manajer.
GGSCI> STOP MGR
GGSCI> START MGR
GGSCI> EXIT
2. Siapkan replikasi pada ggVM1 (primer)
Mulai beban awal dan periksa kesalahan.
$ cd /u01/app/oracle/product/19.0.0/oggcore_1
$ ./ggsci
GGSCI> START EXTRACT INITEXT
GGSCI> VIEW REPORT INITEXT
3. Siapkan replikasi pada ggVM2 (replikasi)
Ubah nomor SCN dengan nomor yang Anda peroleh sebelumnya.
$ cd /u01/app/oracle/product/19.0.0/oggcore_1
$ ./ggsci
START REPLICAT REPORA, AFTERCSN 2172191
Replikasi dimulai, Anda dapat mengujinya dengan menyisipkan rekaman baru ke tabel TEST.
Menampilkan status pekerjaan dan pemecahan masalah
Melihat laporan
Untuk melihat laporan di ggVM1, jalankan perintah berikut.
GGSCI> VIEW REPORT EXTORA
Untuk melihat laporan di ggVM2, jalankan perintah berikut.
GGSCI> VIEW REPORT REPORA
Menampilkan status dan riwayat
Untuk melihat status dan riwayat pada ggVM1, jalankan perintah berikut.
GGSCI> DBLOGIN USERID C##GGADMIN@CDB1, PASSWORD ggadmin GGSCI> INFO EXTRACT EXTORA, DETAIL
Untuk melihat status dan riwayat pada ggVM2, jalankan perintah berikut.
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;
Amati Replikasi Data
Menyambungkan ke database utama di ggVM1
$ sqlplus test/test@pdb1
Pilih rekaman yang sudah ada dari tabel
SQL> select * from TCUSTORD;
Buat rekaman uji
SQL> INSERT INTO TCUSTORD VALUES ('OLLJ',TO_DATE('11-APR-99'),'CYCLE',400,16000,1,102); SQL> COMMIT; SQL> EXIT;
Amati transaksi yang diambil oleh Golden Gate (Catatan Total nilai sisipan )
$ 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.
Menyambungkan ke database utama di ggVM2
$ sqlplus test/test@pdb1
Verifikasi bahwa rekaman baru direplikasi
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
Penginstalan dan konfigurasi Golden Gate di Oracle linux sekarang selesai.
Menghapus VM ggXServer
ggXServer VM hanya digunakan selama penyiapan. Anda dapat menghapusnya dengan aman setelah menyelesaikan dokumen lab ini tetapi menjaga GoldenGate Anda tetap utuh di penyiapan lab Azure.
$ az vm delete --resource-group GoldenGateOnAzureLab --name ggXServer --force-deletion yes
$ az network public-ip delete --resource-group GoldenGateOnAzureLab --name ggXServerPublicIP
Menghapus Golden Gate pada penyiapan Azure Lab
Ketika tidak lagi diperlukan, perintah berikut dapat digunakan untuk menghapus grup sumber daya, VM, dan semua sumber daya terkait untuk lab ini.
$ az group delete --name GoldenGateOnAzureLab