Напоследък съм влюбен в DataGuard Broker. Страшно полезен инструмент! Е, има си своите странности, все пак…
Днес тествах switcover при конфигурация от една primary, един physical и един logical standby. Предварително се подготвих с research на възможните бъгове и техните workarounds. За щастие сме на доста стабилна версия. Примерно една от грозните мотики е описана в note 761661.1. Абе убих си един ден ровене…
И все пак не бях съвсем изряден. Когато се засилих да прехвърлям, се случи следното:
DGMGRL> connect /
Connected.
DGMGRL> show configurationConfiguration
Name: My_guard
Enabled: YES
Protection Mode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
mydb_prim – Primary database
mydb_lsby – Logical standby database
mydb_psby – Physical standby databaseCurrent status for „My_guard“:
SUCCESSDGMGRL> switchover to mydb_psby
Performing switchover NOW, please wait…
Operation requires shutdown of instance „mydb“ on database „mydb_prim“
Shutting down instance „mydb“…
ORA-01031: insufficient privilegesYou are no longer connected to ORACLE
Please connect again.
Unable to shut down instance „mydb“
You must shut down instance „mydb“ manually
Operation requires shutdown of instance „mydb“ on database „mydb_psby“
You must shut down instance „mydb“ manually
Operation requires startup of instance „mydb“ on database „mydb_prim“
You must start instance „mydb“ manually
Operation requires startup of instance „mydb“ on database „mydb_psby“
You must start instance „mydb“ manually
Switchover succeeded, new primary is „mydb_psby“
После нещата са леееко омазани, но се оправят с рестарт на mydb_prim
(до MOUNT
) и на mydb_psby
.
Сега, не че е голяма драма, даже може да се каже, че всичко е ОК, нещата се оправят лесно. Ама все пак ми стана чудно какво не му уйдисва. Нали уж всичко правя като по книгите. Пък и, да си кажа честно, не можах да открия паричната за това гърмежче в Metalink My Oracle Support. Може би защото само се чудят какви бози да правят по визията, а така и не му оправиха search-а.
И все пак, да е жив и здрав чичко гугъл, решение се намери тук. Оказва се, че за връзка към брокера трябва да се използва connect sys/password
, вместо connect /
. Иди ги разбери.
DGMGRL> connect sys
Password:
Connected.
DGMGRL> show configurationConfiguration
Name: My_guard
Enabled: YES
Protection Mode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
mydb_prim – Physical standby database
mydb_lsby – Logical standby database
mydb_psby – Primary databaseCurrent status for „My_guard“:
SUCCESSDGMGRL> switcover to mydb_prim
Unrecognized command „switcover“, try „help“
DGMGRL> switchover to mydb_prim
Performing switchover NOW, please wait…
Operation requires shutdown of instance „mydb“ on database „mydb_psby“
Shutting down instance „mydb“…
ORA-01109: database not openDatabase dismounted.
ORACLE instance shut down.
Operation requires shutdown of instance „mydb“ on database „mydb_prim“
Shutting down instance „mydb“…
ORA-01109: database not openDatabase dismounted.
ORACLE instance shut down.
Operation requires startup of instance „mydb“ on database „mydb_psby“
Starting instance „mydb“…
ORACLE instance started.
Database mounted.
Operation requires startup of instance „mydb“ on database „mydb_prim“
Starting instance „mydb“…
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is „mydb_prim“
DGMGRL> show configurationConfiguration
Name: My_guard
Enabled: YES
Protection Mode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
mydb_prim – Primary database
mydb_lsby – Logical standby database
mydb_psby – Physical standby databaseCurrent status for „My_guard“:
SUCCESS
А сега си представете ако не е брокера, колко къртовски труд е това. Първо направи еди-какво-си на едната база, после на другата, да не забравяме пренастройването на логическта… Вместо 5 минути отива на към 25, ако е добра предварителната подготовка.
Абе едва ли вече ще пусна Data Guard без Broker.