Oracle Data Guard, birincil veritabanının (Primary Database) fiziksel veya mantıksal kopyalarını (Standby Database) oluşturarak veri yedekleme ve kurtarma işlemlerini otomatikleştiren bir Oracle teknolojisidir. Data Guard, felaket kurtarma (“Disaster Recovery”) ve yük dengesini optimize etme (“Load Balancing”) gibi avantajlar sunar.
1. Data Guard Kurulumu İçin Gereken Sunucu ve Veritabanı Bilgileri
Primary Database Sunucusu:
- Hostname: oraclius.prod
- IP: 10.10.10.11
- İşletim Sistemi: Linux Server release 7.9 (Maipo)
- Database Versiyonu: 19.3.0.0
- DB_NAME: orac
- DB_UNIQUE_NAME: orac
- SID: orac
Standby Database Sunucusu:
- Hostname: oraclius.dg
- IP: 10.10.10.12
- İşletim Sistemi: Linux Server release 7.9 (Maipo)
- Database Versiyonu: Kurulu Değil
- DB_NAME: orac
- DB_UNIQUE_NAME: oracdg
- SID: oracdg
Primary Database sunucusu, aşağıdaki yazıyı takip ederek kurulmalıdır.
Standby Database sunucusu ise aşağıdaki yazının yalnızca 3.1 Oracle Database Binary Kurulumu adımına kadar (3.1 dahil) takip edilerek kurulmalıdır.
2. Oracle Data Guard Kurulum Aşamaları
2.1 Primary Sunucu Hazırlığı
2.1.1 /etc/hosts Dosyasının Güncellenmesi
Primary sunucunuzun /etc/hosts dosyasına, Standby sunucusunun IP adresi ve hostname bilgilerini eklemeniz gerekiyor. Bu, iki sunucunun birbirini tanıyabilmesi için gereklidir.

2.1.2 FORCE LOGGING Kontrolü
FORCE_LOGGING parametresi, tüm veritabanı işlemlerinin redo loglarına yazılmasını zorunlu kılar. Bu, Data Guard yapılandırması için gereklidir.
SELECT FORCE_LOGGING FROM V$DATABASE;
FORCE_LOGGING
---------------------------------------
NO
Eğer FORCE_LOGGING değeri NO ise, aşağıdaki komutla açılmalıdır:
ALTER DATABASE FORCE LOGGING;
2.1.3 ARCHIVELOG Modunun Kontrolü
ARCHIVELOG modu, redo loglarının dönüştürülmeden önce bir yedek olarak saklanmasını sağlar. Redo loglar arşivlenerek hem veri kurtarma hem de Data Guard için gerekli redo transferi sağlanır.
SELECT LOG_MODE FROM V$DATABASE;
LOG_MODE
---------------------------------------
NOARCHIVELOG
Eğer NOARCHIVELOG dönerse, şu komutlarla ARCHIVELOG modu açılmalıdır:
SHU IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
2.1.4 Flash Recovery Area (FRA) Ayarları
db_recovery_file_dest parametresi ayarlanmazsa, Oracle veritabanı arşiv log dosyalarını $ORACLE_HOME/dbs dizinine kaydeder.
Öncelikle, FRA’nın ne kadar disk alanı kullanabileceğini belirlemek için db_recovery_file_dest_size parametresini ayarlamanız gerekir. Bu değeri, FRA için tahsis etmek istediğiniz maksimum disk alanına göre belirleyin.
FRA’nın depolanacağı bir dizin belirlemeniz için db_recovery_file_dest parametresini ayarlamanız gerekir. Bu dizin genellikle veritabanınızın yedeği, log dosyaları ve geri yükleme verileri için kullanılır.
SHO PARAMETER DB_RECOVERY_FILE_DEST
NAME TYPE VALUE
------------------------------------ ----------- ----------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 0
mkdir -p /u01/FRA
chown -R oracle:oinstall /u01/FRA
chmod -R 775 /u01/FRA
Oracle veritabanına Flash Recovery Area (FRA)‘yı kullanmaya başlatmak için aşağıdaki SQL komutlarını çalıştırarak veritabanının FRA parametrelerini ayarlayın:
ALTER SYSTEM SET db_recovery_file_dest_size = 3G SCOPE=BOTH;
ALTER SYSTEM SET db_recovery_file_dest = '/u01/FRA' SCOPE=BOTH;
Ayarlamalarınızı doğrulamak için şu sorguları çalıştırarak yapılandırmanızı kontrol edebilirsiniz:
SHOW PARAMETER db_recovery_file_dest;
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
db_recovery_file_dest string /u01/FRA
db_recovery_file_dest_size big integer 3G
2.1.4 DB_NAME VE DB_UNIEUQ_NAME Kontrolü
DB_NAME ve DB_UNIQUE_NAME Sorgulama:
SHO PARAMETER DB_NAME
NAME TYPE VALUE
------------------------------------ ----------- ----------------------------
db_name string orac
SHO PARAMETER DB_UNIQUE_NAME
NAME TYPE VALUE
------------------------------------ ----------- ----------------------------
db_unique_name string orac
2.1.5 SERVICE Kontrolü
Primary Database Sunucusunda tnsnames.ora dosyasını kullanarak Service bilgilerinin Eklenmesi:
vi /u01/app/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora
ORAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.11)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orac)
)
)
ORACDG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.12)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracdg)
)
)
2.1.6 DG_CONFIG, LOG_ARCHIVE_DEST VE LOG_ARCHIVE_DEST_STATE Kontrolü
LOG_ARCHIVE_CONFIG, Oracle Data Guard yapılandırmasında kullanılan bir parametredir ve veritabanı arşivleme konfigürasyonunun yönetilmesine yardımcı olur. Özellikle, Data Guard ortamında primary and standby veritabanları arasındaki log shipping (yazılım günlüğü gönderimi) işlemlerinin düzgün çalışabilmesi için kritik bir parametredir.
DG_CONFIG=(PROD_DB_UNIQUE_NAME,STANDBY_DB_UNIQUE_NAME)
SHO PARAMETER LOG_ARCHIVE_CONFIG
NAME TYPE VALUE
------------------------------------ ----------- ----------------------------
log_archive_config string
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(orac,oracdg)' SCOPE=BOTH;
Oracle veritabanı yönetiminde LOG_ARCHIVE_DEST and LOG_ARCHIVE_DEST_STATE parametreleri, archive log dosyalarının hedeflere yönlendirilmesi ve bu hedeflerin durumlarının yönetilmesi için kullanılır. Bu parametreler, özellikle Data Guard and High Availability senaryolarında çok önemlidir.
SERVICE= tnsnames.ora dosyasında yazdığımız service ismi olmalı.
ALTER SYSTEM SET log_archive_dest_state_2=DEFER SCOPE=BOTH;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = 'SERVICE=ORACDG ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oracdg' SCOPE=BOTH;
Dataguard sunucumuz için belirlediğimiz değerleri ise şöyle:
- DB_NAME: orac
- DB_UNIQUE_NAME: oracdg
2.2 Standby Sunucu Hazırlığı
Standby Database sunucusu ise aşağıdaki yazının yalnızca 3.1 Oracle Database Binary Kurulumu adımına kadar (3.1 dahil) takip edilerek kurulmalıdır.
Standby Database sunucumuzun /etc/hosts dosyasına Primary sunucumuzun bilgilerini ekleyelim.

2.2.1 Profile Dosyasının Ayarlanması
Standby Sunucumuzda profile dosyasının oluşturulması:
vi .profile_db
export ORACLE_HOSTNAME=oraclius.dg
export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
export ORACLE_UNQNAME=oracdg
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=oracdg
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
export TNS_ADMIN=$ORACLE_HOME/network/admin
export TMPDIR=/tmp
export TMP=/tmp
2.2.2 SERVICE Kontrolü
Standby Database Sunucusunda tnsnames.ora dosyasını kullanarak Service bilgilerinin Eklenmesi:
vi /u01/app/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora
ORAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.11)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orac)
)
)
ORACDG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.12)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracdg)
)
)
2.2.3 Password Dosyasının Standby Sunucuya Kopyalanması
Password file’ının Primary Sunucudan Standby Sunucuya kopyalanması:
–Primary > Standby
scp /u01/app/oracle/product/19c/dbhome_1/dbs/orapworac oracle@10.10.10.12:/u01/app/oracle/product/19c/dbhome_1/dbs/orapworacdg
2.2.4 Audit File Dizininin Ayarlanması
AUDIT_FILE_DEST parametresi, Oracle Data Guard yapılandırmasında, özellikle audit (denetim) verilerini depolamak için kullanılan bir yol belirtir. Bu parametre, primary veritabanı and standby veritabanları arasında audit verilerinin nasıl toplanacağını ve depolanacağını belirler.
Primary Database Sunucusundaki path’in benzerini Standby Database Sunucusunda oluşturulması gerekir.
— Primary:
sho parameter audit_file_dest
NAME TYPE VALUE
---------------------- ------- ---------------------------------
audit_file_dest string /u01/app/oracle/admin/orac/adump
— Standby:
mkdir -p /u01/app/oracle/admin/oracdg/adump
2.2.5 Pfile Oluşturma
Production Database’den Spfile Pfile oluşturup Standby sunucusuna atılması gerekir. Spfile’ın nerede olduğunu öğrenelim:
SHO PARAMETER SPFILE;
NAME TYPE VALUE
---------------------- ------- ---------------------------------------------------------
spfile string /u01/app/oracle/product/19c/dbhome_1/dbs/spfileorac.ora
Spfile’dan Pfile Oluşturup Standby Sunucumuza kopyalama:
CREATE PFILE='/home/oracle/pfile_for_duplicate.ora' FROM SPFILE='/u01/app/oracle/product/19c/dbhome_1/dbs/spfileorac.ora';
scp /home/oracle/pfile_for_duplicate.ora oracle@10.10.10.12:/home/oracle/pfile_for_duplicate.ora
Standby Database’e atılan pfile’ın düzeltilmesi gerekir. Instance id ile başlayan satırların silinmesi(sadece * ile başlayanlar kalmalı) ve Standby database’e göre ayarlanması gerekir.
Pfile ilk hali:
orac.__data_transfer_cache_size=0
orac.__db_cache_size=1845493760
orac.__inmemory_ext_roarea=0
orac.__inmemory_ext_rwarea=0
orac.__java_pool_size=16777216
orac.__large_pool_size=16777216
orac.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orac.__pga_aggregate_target=117440512
orac.__sga_target=2147483648
orac.__shared_io_pool_size=16777216
orac.__shared_pool_size=234881024
orac.__streams_pool_size=0
orac.__unified_pga_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orac/adump'
*.audit_trail='db'
*.compatible='19.0.0'
*.control_files='/u01/app/oracle/oradata/ORAC/control01.ctl','/u01/app/oracle/oradata/ORAC/control02.ctl'
*.db_block_size=8192
*.db_name='orac'
*.db_recovery_file_dest_size=3221225472
*.db_recovery_file_dest='/u01/FRA'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=oracXDB)'
*.local_listener='LISTENER_ORAC'
*.log_archive_config='DG_CONFIG=(orac,oracdg)'
*.log_archive_dest_2='SERVICE=ORACDG ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oracdg'
*.log_archive_dest_state_2='DEFER'
*.memory_max_target=0
*.memory_target=0
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.pga_aggregate_target=104857600
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=2147483648
*.undo_tablespace='UNDOTBS1'
*.use_large_pages='FALSE'
mkdir -p /u01/app/oracle/oradata/ORACDG/
mkdir -p /u01/FRA
Eklenecek parametreler:
*.log_archive_dest_1='LOCATION=/u01/FRA'
*.standby_file_management='AUTO'
*.fal_server='orac'
*.fal_client='oracdg'
*.db_unique_name='oracdg'
*.parameter_value_convert 'ORAC','ORACDG'
*.set db_file_name_convert='/u01/app/oracle/oradata/ORAC', '/u01/app/oracle/oradata/ORACDG'
*.set log_file_name_convert='/u01/app/oracle/oradata/ORAC', '/u01/app/oracle/oradata/ORACDG'
Pfile son hali:
*.audit_file_dest='/u01/app/oracle/admin/oracdg/adump'
*.audit_trail='db'
*.compatible='19.0.0'
*.control_files='/u01/app/oracle/oradata/ORACDG/control01.ctl','/u01/app/oracle/oradata/ORACDG/control02.ctl'
*.db_block_size=8192
*.db_name='orac'
*.db_unique_name='oracdg'
*.db_recovery_file_dest_size=3221225472
*.db_recovery_file_dest='/u01/FRA'
*.diagnostic_dest='/u01/app/oracle'
*.log_archive_dest_1='LOCATION=/u01/FRA'
*.standby_file_management='AUTO'
*.fal_server='orac'
*.fal_client='oracdg'
*.db_unique_name='oracdg'
*.db_file_name_convert='/u01/app/oracle/oradata/ORAC', '/u01/app/oracle/oradata/ORACDG'
*.log_file_name_convert='/u01/app/oracle/oradata/ORAC', '/u01/app/oracle/oradata/ORACDG'
*.log_archive_config='DG_CONFIG=(orac,oracdg)'
*.log_archive_dest_2='SERVICE=ORACDG ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oracdg'
*.log_archive_dest_state_2='DEFER'
*.memory_max_target=0
*.memory_target=0
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.pga_aggregate_target=104857600
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=2147483648
*.undo_tablespace='UNDOTBS1'
*.use_large_pages='FALSE'
2.2.6 Listener.ora Dosyasını Static Registlirasyon ile Düzenlenmesi
listener.ora dosyasına aşağıdaki satır eklenmesi gerekir. GLOBAL_DBNAME and SID_NAME değerleri Case Sensitive‘dir
GLOBAL_DBNAME => tnsnames.ora dosyasındaki service name.
SID_NAME => Oracle SID
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oraclius.dg)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=oracdg)
(SID_NAME=oracdg)
(ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1)
)
)
Listener Stop, Start edilir:
lsnrctl stop listener
lsnrctl start listener
lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 05-MAR-2025 16:25:53
Copyright (c) 1991, 2022, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 05-MAR-2025 13:21:50
Uptime 0 days 3 hr. 4 min. 3 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/orac/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.11)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.13)(PORT=1521)))
Services Summary...
Service "oracdg" has 1 instance(s).
Instance "oracdg", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
3. Oracle Data Guard Test Aşamaları
3.1 Startup Nomount
Standby Database sunucumuzu nomount modunda Production Sunucumuzdan kopyalayıp birkaç değişiklik yaptığımız pfile ile açıyoruz:
. .profile_db
sqlplus / as sysdba
startup nomount pfile='/home/oracle/pfile_for_duplicate.ora';
Database nomount modda açtıktan sonra listener kontrol edelim. Nomount modda UNKNOWN and BLOCKEN şeklinde 2 servis olmalı.
lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 05-MAR-2025 16:25:53
Copyright (c) 1991, 2022, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 05-MAR-2025 13:21:50
Uptime 0 days 3 hr. 4 min. 3 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/orac/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.11)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.13)(PORT=1521)))
Services Summary...
Service "oracdg" has 1 instance(s).
Instance "oracdg", status UNKNOWN, has 1 handler(s) for this service...
Instance "oracdg", status BLOCKED, has 1 handler(s) for this service...
The command completed successfully
3.2 Test Connection
Primary ve Standby sunucuda da tnsping testi yapılması gerekir. Test sırasında sunuculardaki listenerlar açık olmalı. Sqlplus ile test işleminde password file dosyası önceki adımlarda kopyalandığı için Standby sunucumuzun sys şifresi Prod ile aynıdır.
tnsping ORAC
tnsping ORACDG
sqlplus sys/<sifre>@ORAC as sysdba
sqlplus sys/<sifre>@ORACDG as sysdba
3.3 Duplicate.sh Script’inin Hazırlanması
Oracle Home dizinine duplicate.sh adında bir dosya oluşturup aşağıdaki satırları ekleyelim:
rman << EOF
connect target sys/1234@ORAC
connect auxiliary sys/1234@ORACDG
run {
allocate channel prmy1 type disk;
allocate channel prmy2 type disk;
allocate channel prmy3 type disk;
allocate channel prmy4 type disk;
allocate auxiliary channel stby type disk;
duplicate target database for standby from active database section size 512G;
}
EOF
Oluşturduğumuz script dosyasına execute yetkisi verelim:
chmod +x duplicate.sh
4. Oracle Data Guard Kurulum
4.1 Hazırladığımız Duplicate.sh Script’inin Çalıştırılması
Duplicate.sh script’i ister prduction ister Standby sunucuda çalıştırılabilir.
sh duplicate.sh
...
Finished Duplicate Db at 05-APR-25
released channel: prmy1
released channel: prmy2
released channel: prmy3
released channel: prmy4
released channel: stby
RMAN>
Recovery Manager complete.
4.2 Duplicate Sonrası Yapılması Gerekenler
Duplicate sonrasında kendi hazırladığımız pfile’ı kullanarak devam edeceğiz.
CREATE SPFILE='/u01/app/oracle/product/19c/dbhome_1/dbs/spfileoracdg.ora' from pfile='/home/oracle/pfile_for_duplicate.ora';
Database Spfile’ı kullanması için kapatılıp açılması gerekir.
shu immediate;
Daha sonra database açılabilir:
startup mount
SQL> sho parameter spfile
NAME TYPE VALUE
--------- -------- ----------------------------------------------------------
spfile string /u01/app/oracle/product/19c/dbhome_1/dbs/spfileoracdg.ora
4.3 Duplicate Sonrası Standby Dosya Kontrolü
Duplicate sonrası standby logfile dosyaları oluşmazsa elle oluşturulması gerekir.
SELECT * FROM V$STANDBY_LOG;
Standby Redolog dosyalarını birincil redolog dosyaları ile aynı dizine, aynı boyutta ve bir adet fazla sayıda olmak üzere oluşturulması gerekir.
SELECT GROUP#,MEMBER FROM V$LOGFILE;
GROUP# MEMBER
---------- --------------------------------------------------------------------------------
3 /u01/app/oracle/oradata/ORACDG/redo03.log
2 /u01/app/oracle/oradata/ORACDG/redo02.log
1 /u01/app/oracle/oradata/ORACDG/redo01.log
SELECT GROUP#,BYTES FROM V$LOG;
GROUP# BYTES
---------- ----------
1 209715200
3 209715200
2 209715200
3 Adet Log file mevcut. Aynı path ve boyuttan 1 adet fazla Standby Logfile oluşturulması gerekir:
alter database add standby logfile group 11 ('/u01/app/oracle/oradata/ORACDG/standby11.log') SIZE 209715200;
alter database add standby logfile group 12 ('/u01/app/oracle/oradata/ORACDG/standby12.log') SIZE 209715200;
alter database add standby logfile group 13 ('/u01/app/oracle/oradata/ORACDG/standby13.log') SIZE 209715200;
alter database add standby logfile group 14 ('/u01/app/oracle/oradata/ORACDG/standby14.log') SIZE 209715200;
Standby Logfile’ları oluşturduktan sonra kontrol edelim:
SELECT GROUP#, TYPE, MEMBER FROM V$LOGFILE;
GROUP# TYPE MEMBER
---------- ------- -----------------------------------------------------------------------------
3 ONLINE /u01/app/oracle/oradata/ORACDG/ORACDG/onlinelog/o1_mf_3_mwkgp6t2_.log
2 ONLINE /u01/app/oracle/oradata/ORACDG/ORACDG/onlinelog/o1_mf_2_mwkgp6j5_.log
1 ONLINE /u01/app/oracle/oradata/ORACDG/ORACDG/onlinelog/o1_mf_1_mwkgp66h_.log
11 STANDBY /u01/app/oracle/oradata/ORACDG/ORACDG/standby1.log
12 STANDBY /u01/app/oracle/oradata/ORACDG/ORACDG/standby2.log
13 STANDBY /u01/app/oracle/oradata/ORACDG/ORACDG/standby3.log
14 STANDBY /u01/app/oracle/oradata/ORACDG/ORACDG/standby4.log
4.4 Apply Başlatılması
Apply’ı başlatmadan önce Production Sunucumuzda log_archive_dest_state_2 parametresi DEFER olarak ayarlanmıştı. Bu değer Production sunucumuzda ENABLE olarak ayarlanır:
ALTER SYSTEM SET log_archive_dest_state_2=ENABLE SCOPE=BOTH;
Standby Sunucumuzda Apply başlatılması:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
4.5 Son Kontroller
SQL> r
1* select name, value, time_computed from v$dataguard_stats
NAME VALUE TIME_COMPUTED
------------------- --------------------------- -----------------------------
transport lag +00 00:00:00 04/05/2025 21:17:43
apply lag +00 00:00:00 04/05/2025 21:17:43
apply finish time +00 00:00:00 04/05/2025 21:17:43
estimated startup time 14 04/05/2025 21:17:43
select process,status, thread#, sequence#,block#,blocks from v$managed_standby;
select sequence#, first_time, next_time, applied from v$archived_log order by 1;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE cancel;







Leave a Reply to %s