# Data Guard

**URL:** <https://www.batmunkh.net/t/data-guard/74>\
**Category:** Tutorials, Solutions\
**Tags:** guard, snapshot, logical, standby, physical, data, dataguard, oracle\
**Created:** [December 28, 2016, 4:43pm UTC](https://www.batmunkh.net/t/data-guard/74 "2016-12-28T16:43:08Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![batmunkh](https://www.batmunkh.net/user_avatar/www.batmunkh.net/batmunkh/32/297_2.png) [@batmunkh](https://www.batmunkh.net/u/batmunkh)\
**Post date:** [December 28, 2016, 4:43pm UTC](https://www.batmunkh.net/t/data-guard/74/1 "2016-12-28T16:43:08Z")

</div>

Oracle Data Guard нь хуулбар баазын үүсгэхэд ашиглах бөгөөд үүнийг дараах 3 төрлөөр тохируулж болно.

1. Logical Standby
2. [Physical Standby](https://www.batmunkh.net/t/physical-standby/75)
3. [Snapshot Standby](https://www.batmunkh.net/t/snapshot-standby-database/343)

## Logical Standby

Logical Standby бааз нь үндсэн баазын хуулбар мэдээллийг өөр дээрээ агуулах боловч датафайл болон баазын мэдээллээс бусад зүйлс өөр газар өөр хэлбэртэйгээр хадгалагдан байж болох тусдаа бие даасан ажиллагаа бүхий бааз юм. Жишээ нь үндсэн баазын datafile1.dbf дотор байгаа А гэх мэдээлэл Logical Standby серверийн datafile5.dbf дотор хадгалагдаж байж боломжтой бөгөөд бусад өөр төрлийн мэдээллүүдийг давхар хадгалж байх боломжтой гэсэн үг юм.

## Physical Standby

Physical Standby төрөлд бааз mount горимд ажиллах бөгөөд үндсэн баазтай датафайл, мэдээлэл болон бүхий төрлөөрөө ижил байна. Үндсэн баазын аль нэг датафайлын блок өөрчилөгдөх хуулбар бааз дээр мөн ижил файлын тухайн блокыг өөрчлөн хадгална гэсэн үг юм. Тиймээс үндсэн баазын контрол файл, дата файл зэргүүд гэмтсэн тохиолдолд хуулбар баазын файлыг ашиглан шууд сэргээх боломжтой гэсэн үг.  
Үндсэн бааз унасан тохиолдолд автоматаар шилжин ажиллах боломжтой (failover). Гар аргаар switchover хийж болно.  
Шилжих үйлдлийг SQL коммандын тусламжтай гүйцэтгэх боломжтой бөгөөд data guard broker ашиглан автоматжуулж (failover) болно. Мөн уг тохиргоо нь баазыг унших горимд ажиллуулах боломжтой.

## Snapshot Standby

Уг төрөл нь хуулбар баазыг бичих горимд аваачих бөгөөд түр зуур туршилт хийх зорилготойгоор ашиглагдана. Ажиллагаа нь physical standby баазыг түр хөрвүүлж, тухайн хөрвүүлсэн агшны мэдээллийг snapshot хийж хадгалснаар туршилт дуусан буцаан physical standby төрөл рүү шилжүүлэхэд snapshot standby үед хийгдсэн бүх өөрчлөлтүүдийг буцааж хуулбар баазын ажлыг үргэлжлүүлэх юм.

Жш:  
Physical standby баазыг 2016.12.28 12:00:29 -д Snapshot standby болгон өөрчилөхөд уг бааз руу бичих эрхтэй болно. Үүний дараагаар уг бичих эрхтэй болсон бааз дээр өөрчлөлтүүд хийж байгаад 2 цагийн дараа буюу 2016.12.28 14:05:58-д буцаан Physical Standby горим руу шилжүүлэхэд тухайн physical standby бааз 2016.12.28 12:00:29 цагаас хойшхи мэдээллүүдийг үндсэн баазаас нөхөж авч хадгална гэсэн үг юм. Мэдээллийн шинэчилэлтийг үндсэн серверээс татахаас өмнө snapshot standby горимд хийсэн өөрчлөлтүүдийг бүгдийг 2016.12.28 12:00:29 үеийн байдлаар буцаах болно.

Жич: цаашид мэдээллийг шинэчилж нэмж оруулах болно.

---

<div class="post-metadata">

**Author:** ![batmunkh](https://www.batmunkh.net/user_avatar/www.batmunkh.net/batmunkh/32/297_2.png) [@batmunkh](https://www.batmunkh.net/u/batmunkh)\
**Post date:** [February 11, 2018, 8:17pm UTC](https://www.batmunkh.net/t/data-guard/74/2 "2018-02-11T20:17:40Z")

</div>

Physical Standby setup

Snapshot standby

Switchover

Failover

---

<div class="post-metadata">

**Author:** ![batchimeg.b](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/b/ee7513/32.png) [@batchimeg.b](https://www.batmunkh.net/u/batchimeg.b)\
**Post date:** [March 12, 2019, 9:33am UTC](https://www.batmunkh.net/t/data-guard/74/3 "2019-03-12T09:33:29Z")

</div>

Data Guard тохируулаад primary баазаас rman target.аар standby database-тэй холбогдоход доорх алдаа гарч байна. Шалтгааныг нь олоход туслана уу?

 ![rman%20target](https://www.batmunkh.net/uploads/default/original/1X/7008baa03607ce3a9d5ae782892b7d48ae02483f.jpeg)

---

<div class="post-metadata">

**Author:** ![tmdeft](https://www.batmunkh.net/user_avatar/www.batmunkh.net/tmdeft/32/542_2.png) [@tmdeft](https://www.batmunkh.net/u/tmdeft)\
**Post date:** [March 12, 2019, 9:47am UTC](https://www.batmunkh.net/t/data-guard/74/4 "2019-03-12T09:47:49Z")

</div>

password file -аа хуулж өгсөн үү ?

---

<div class="post-metadata">

**Author:** ![batchimeg.b](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/b/ee7513/32.png) [@batchimeg.b](https://www.batmunkh.net/u/batchimeg.b)\
**Post date:** [March 12, 2019, 9:53am UTC](https://www.batmunkh.net/t/data-guard/74/5 "2019-03-12T09:53:08Z")

</div>

password file.аа хуулсан. өөрийнхөө rman target.рүү ороход ч ийм алдаа заагаад байдаг.

---

<div class="post-metadata">

**Author:** ![batmunkh](https://www.batmunkh.net/user_avatar/www.batmunkh.net/batmunkh/32/297_2.png) [@batmunkh](https://www.batmunkh.net/u/batmunkh)\
**Post date:** [March 12, 2019, 11:29am UTC](https://www.batmunkh.net/t/data-guard/74/6 "2019-03-12T11:29:27Z")

</div>

1. tnsnames.ora шалга
2. $ORACLE\_HOME/dbs/orapw{SID} файлаа шалга
3. Инстанс ассан эсэхээ шалга, Орчноо шалга  
…  
…

---

<div class="post-metadata">

**Author:** ![tmdeft](https://www.batmunkh.net/user_avatar/www.batmunkh.net/tmdeft/32/542_2.png) [@tmdeft](https://www.batmunkh.net/u/tmdeft)\
**Post date:** [March 13, 2019, 5:31am UTC](https://www.batmunkh.net/t/data-guard/74/7 "2019-03-13T05:31:00Z")

</div>

remote\_login\_passwordfile = EXCLUSIVE байгаа юу ? alert log дээр юу гарч байна

---

<div class="post-metadata">

**Author:** ![batmunkh](https://www.batmunkh.net/user_avatar/www.batmunkh.net/batmunkh/32/297_2.png) [@batmunkh](https://www.batmunkh.net/u/batmunkh)\
**Post date:** [March 13, 2019, 5:32am UTC](https://www.batmunkh.net/t/data-guard/74/8 "2019-03-13T05:32:04Z")

</div>

> [@tmdeft](#):
>
> alert log дээр юу гарч байна

эхэлсэн арга нь буруу байсан байнаа… засаж байгаа… удахгүй өөр асуултууд орж ирэх байх аа. Бэлтгэлтэй байгаарай 🙂

---

<div class="post-metadata">

**Author:** ![Batbold](https://www.batmunkh.net/user_avatar/www.batmunkh.net/batbold/32/422_2.png) [@Batbold](https://www.batmunkh.net/u/Batbold)\
**Post date:** [April 11, 2019, 5:08am UTC](https://www.batmunkh.net/t/data-guard/74/9 "2019-04-11T05:08:25Z")

</div>

Сайн байна уу,

 ![107%20-%20Remote%20Desktop%20Connection](https://www.batmunkh.net/uploads/default/original/1X/cb56def5e6dc677e4555448b24a87447d1b55f1c.png)  
Data Guard тохируулаад primary баазаас rman target.аар standby руу файлаа duplicate хийхэд standby дээрээ Datafile -уудаа хуулж эхэлсэн мөртлөө гүйцэд хуулаагүй зарим нэг datafile үлдээд /жишээ нь TEMP01.DBF / зурагт харуулсан алдаа заасан байна.  
Уг нь бүх тохиргоогоо зөв хийсэн гэж бодож байгаа . Би юун дээр алдчихав ?

---

<div class="post-metadata">

**Author:** ![batmunkh](https://www.batmunkh.net/user_avatar/www.batmunkh.net/batmunkh/32/297_2.png) [@batmunkh](https://www.batmunkh.net/u/batmunkh)\
**Post date:** [April 11, 2019, 5:12am UTC](https://www.batmunkh.net/t/data-guard/74/10 "2019-04-11T05:12:02Z")

</div>

> [@Batbold](#):
>
> . Би юун дээр алдчихав ?

> [@Physical Standby тохируулах](https://www.batmunkh.net/t/physical-standby/75/12):
>
> Өдөр RAC to Single DG тохируулж байхад гарч байсан алдаа байнаа. ASM -с файлсистем рүү хөрвүүлж чадахгүй болохоор нь set newname ашиглаад явуулчихсан. Араас нь duplicate коммандаа залгуулаад явуулна . run{ set newname for datafile 1 to '/u01/app/oracle/oradata/ORCL/datafile/01.dbf'; set newname for datafile 2 to '/u01/app/oracle/oradata/ORCL/datafile/02.dbf'; duplicate target database for standby from active database nofilenamecheck; } 19505 яг санаж байна smiley db\_file\_name\_con…

Энэ хэсгийг уншаарай

---

<div class="post-metadata">

**Author:** ![batchimeg.b](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/b/ee7513/32.png) [@batchimeg.b](https://www.batmunkh.net/u/batchimeg.b)\
**Post date:** [April 30, 2019, 2:23am UTC](https://www.batmunkh.net/t/data-guard/74/12 "2019-04-30T02:23:35Z")

</div>

HI guys,  
Надад нэг асуулт байна аа. Мэддэг нь хэлж өгч туслаач 🙂

1. Standby database restart хийгээд асаахаар recover хийхгүй, заавал primary database-ийг restart хийсний дараа standby дээрх recovery хийгдэх юм. Би ямар нэг тохиргоо буруу хийчэхсэн юм болов уу. Асуудал нь юундаа байна аа

---

<div class="post-metadata">

**Author:** ![tmdeft](https://www.batmunkh.net/user_avatar/www.batmunkh.net/tmdeft/32/542_2.png) [@tmdeft](https://www.batmunkh.net/u/tmdeft)\
**Post date:** [April 30, 2019, 5:01am UTC](https://www.batmunkh.net/t/data-guard/74/13 "2019-04-30T05:01:10Z")

</div>

Hi, recover gj archive log apply хийхийг хэлж байна уу ? standby талдаа

> alter database recover managed standby database using current logfile disconnect from session;

ингсэн байгаа юу ? primary -гаа restart хийнэ гэж бүүр shutdown хийхийг хэлж байна уу эсвэл archive\_dest -ээ enable defer хийхийг хэлж байна уу ?

---

<div class="post-metadata">

**Author:** ![batchimeg.b](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/b/ee7513/32.png) [@batchimeg.b](https://www.batmunkh.net/u/batchimeg.b)\
**Post date:** [April 30, 2019, 5:03am UTC](https://www.batmunkh.net/t/data-guard/74/14 "2019-04-30T05:03:29Z")

</div>

standby taldaa **alter database recover managed standby database using current logfile disconnect from session;** ajilluulaad archive log apply hiihgu. tegeed primary database.ee shutdown hiiged startup hiihed standby.iin archive log.ууд apply hiigdej bga

---

<div class="post-metadata">

**Author:** ![tmdeft](https://www.batmunkh.net/user_avatar/www.batmunkh.net/tmdeft/32/542_2.png) [@tmdeft](https://www.batmunkh.net/u/tmdeft)\
**Post date:** [April 30, 2019, 9:55am UTC](https://www.batmunkh.net/t/data-guard/74/15 "2019-04-30T09:55:48Z")

</div>

Ажиллахгүй байгаа үед

> select \* from v$archive\_dest\_status;

дээр ямар үр дүн харуулж байна, dest 2 дээр чинь ч юм уу status болон gap\_status нтр мэдээлэл нь юу гэж байгаа юм болдоо, бас ажиллахгүй байх үед alert log дээр password file ч юм уу ямар нэг алдаа гарж байна уу шалгаарай

---

<div class="post-metadata">

**Author:** ![batchimeg.b](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/b/ee7513/32.png) [@batchimeg.b](https://www.batmunkh.net/u/batchimeg.b)\
**Post date:** [June 6, 2019, 7:53am UTC](https://www.batmunkh.net/t/data-guard/74/16 "2019-06-06T07:53:43Z")

</div>

HI мундагуудаа туслаарай 🙂  
windows oracle 12c дээр Data guard тохируулаад primary-аас standby-руугаа Rman\> duplicate target database for standby from active database хийхэд datafile.уудаа хуулчихаад log file-уудаа/redo.log, standby.log, archive.log/ хуулахгүй гөлиичихөөд байгаа.

 ![duplicate](https://www.batmunkh.net/uploads/default/original/1X/3f6e447192c42f57109df10d822a674e0cb4673c.jpeg)  
log\_file\_name\_convert=D:\app\proddbdata\proddb, E:\app\Administrator\oradata\standbydb, F:\FRA\proddb, F:\FRA\standbydb  
гэх мэт шаардлагатай тохиргоонуудыг хийсэн.  
Асуудлаа олоход минь туслана уу

---

<div class="post-metadata">

**Author:** ![batchimeg.b](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/b/ee7513/32.png) [@batchimeg.b](https://www.batmunkh.net/u/batchimeg.b)\
**Post date:** [June 6, 2019, 9:23am UTC](https://www.batmunkh.net/t/data-guard/74/18 "2019-06-06T09:23:20Z")

</div>

ялгаагүй байна аа. log.руу ийм мэдээлэл бичигдэж байна.  
Thu Jun 06 16:53:12 2019  
ALTER SYSTEM SET log\_archive\_dest\_state\_2=‘ENABLE’ SCOPE=MEMORY SID=’\*’;  
Thu Jun 06 16:53:12 2019  
Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\proddb\proddb\trace\proddb\_arc2\_4164.trc:  
ORA-16058: standby database instance is not mounted  
Thu Jun 06 16:53:12 2019  
PING[ARC2]: Heartbeat failed to connect to standby ‘standbydb’. Error is 16058.  
Thu Jun 06 16:53:12 2019  
Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\proddb\proddb\trace\proddb\_tt00\_3988.trc:  
ORA-16058: standby database instance is not mounted  
Thu Jun 06 16:53:12 2019  
Error 16058 for archive log file 3 to ‘standbydb’  
Thu Jun 06 16:53:12 2019  
Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\proddb\proddb\trace\proddb\_tt00\_3988.trc:  
ORA-16058: standby database instance is not mounted  
Thu Jun 06 16:53:12 2019  
Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\proddb\proddb\trace\proddb\_tt00\_3988.trc:  
ORA-16058: standby database instance is not mounted  
Thu Jun 06 16:53:14 2019  
Thread 1 advanced to log sequence 253 (LGWR switch)  
Current log# 1 seq# 253 mem# 0: D:\APP\PRODDBDATA\PRODDB\REDO01A.LOG  
Current log# 1 seq# 253 mem# 1: F:\FRA\PRODDB\REDO01B.LOG  
Thu Jun 06 16:53:14 2019  
Archived Log entry 230 added for thread 1 sequence 252 ID 0x2cac5b05 dest 1:  
Thu Jun 06 17:21:35 2019  
Active Session History (ASH) performed an emergency flush. This may mean that ASH is undersized. If emergency flushes are a recurring issue, you may consider increasing ASH size by setting the value of \_ASH\_SIZE to a sufficiently large value. Currently, ASH size is 67108864 bytes. Both ASH size and the total number of emergency flushes since instance startup can be monitored by running the following query:  
select total\_size,awr\_flush\_emergency\_count from v$ash\_info;

---

<div class="post-metadata">

**Author:** ![batchimeg.b](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/b/ee7513/32.png) [@batchimeg.b](https://www.batmunkh.net/u/batchimeg.b)\
**Post date:** [June 6, 2019, 10:11am UTC](https://www.batmunkh.net/t/data-guard/74/19 "2019-06-06T10:11:40Z")

</div>

> [@batchimeg.b](#):
>
> select total\_size,awr\_flush\_emergency\_count from v$ash\_info;

\*\*\* 2019-06-06 16:49:13.700  
\*\*\* SESSION ID:(721.45389) 2019-06-06 16:49:13.700  
\*\*\* CLIENT ID:() 2019-06-06 16:49:13.700  
\*\*\* SERVICE NAME:() 2019-06-06 16:49:13.700  
\*\*\* MODULE NAME:() 2019-06-06 16:49:13.700  
\*\*\* CLIENT DRIVER:() 2019-06-06 16:49:13.700  
\*\*\* ACTION NAME:() 2019-06-06 16:49:13.700

Created 2 redo writer workers (2 groups of 1 each)

\*\*\* 2019-06-06 16:55:03.878  
kcrfw\_slave\_adaptive\_updatemode: scalable-\>single group0=507 all=516 rw=638 single=1258 scalable\_nopipe=1276 scalable\_pipe=701 scalable=1265

\*\*\* 2019-06-06 16:55:03.878  
Adaptive scalable LGWR disabling workers

\*\*\* 2019-06-06 17:04:22.659  
kcrfw\_slave\_adaptive\_updatemode: single-\>scalable redorate=9774 switch=3256

\*\*\* 2019-06-06 17:04:22.659  
Adaptive scalable LGWR enabling workers  
kcrfw\_slave\_adaptive\_updatemode: scalable-\>single group0=1536 all=1543 rw=622 single=926 scalable\_nopipe=1244 scalable\_pipe=684 scalable=1241

\*\*\* 2019-06-06 17:26:06.396  
Adaptive scalable LGWR disabling workers  
kcrfw\_slave\_adaptive\_updatemode: single-\>scalable redorate=12062 switch=1610

\*\*\* 2019-06-06 18:04:32.818  
Adaptive scalable LGWR enabling workers

---

<div class="post-metadata">

**Author:** ![batmunkh](https://www.batmunkh.net/user_avatar/www.batmunkh.net/batmunkh/32/297_2.png) [@batmunkh](https://www.batmunkh.net/u/batmunkh)\
**Post date:** [June 6, 2019, 5:38pm UTC](https://www.batmunkh.net/t/data-guard/74/20 "2019-06-06T17:38:39Z")

</div>

DB mount хийгдээгүй байна гэдэг нь наад үйлдэл дээр чинь очихоос өмнө асуудал байна даа…

---

<div class="post-metadata">

**Author:** ![zolboo](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/z/e47774/32.png) [@zolboo](https://www.batmunkh.net/u/zolboo)\
**Post date:** [February 10, 2021, 12:00pm UTC](https://www.batmunkh.net/t/data-guard/74/22 "2021-02-10T12:00:24Z")

</div>

> [@batmunkh](#):
>
> Failover

Fast start failover идэвхжүүлэхийн давуу тал log oo харах мөн **REINSTATE DATABASE primary** гэж гараар команд ажиллуулахын оронд идэвхжүүлж байна гэж ойлголоо 😛
