DBMSãšããŠOracleã䜿çšãããããžã§ã¯ããäºæããïŒãŸãã¯æåŸ
ãæ±ããŠïŒããžãã¹ã«ãšã£ãŠéåžžã«éèŠã«ãªã£ãç¶æ³ãæ³åããŠãã ããïŒãããã£ãŠãã·ã¹ãã ã®ä¿¡é Œæ§ã確ä¿ããããã«è³éãå²ãåœãŠãææããããŸããïŒã
ãã®ç¬éãŸã§ãç§ãã¡ã¯æ¯æ¥ãŸãã¯æ¯é±ã®ããã¯ã¢ããïŒããããããŸãã¯ãã³ãŒã«ããã³ããŒããŸãã¯åã«ããŒã¿ã®ãšã¯ã¹ããŒãïŒã§å®å
šã«ç®¡çãããã®æ¥ã®ãªãŒããŒã®ã·ã¹ãã å埩æéã«æºè¶³ããŠããŸããïŒæ°ãã©ãã€ãã®ããŒã¿ããããšä»®å®ããŸãïŒã
ãããŠãã·ã¹ãã ã埩å
ããæéã¯1æé以å
ã§ãããããŒã¿ã倱ãããšã¯ãããŸããã§ããã
ãããã£ãŠããã¹ãŠããã¹ã¿ã³ãã€ãµãŒããŒãäžããå¿
èŠãããããšã瀺ããŠããŸãã
ååãšããŠããã®èšäºã§èª¬æããå
容ã®ã»ãšãã©ã¯
ãOracle Data Guard Conceptsããã³Administartion ã
ããã³ Webäžã®å€æ°ã®å Žæã§èª¬æãã
ãŠããŸãããã»ãšãã©ã®å Žåããããã¯å€ãã®ããšãªãäžé£ã®ã³ãã³ããå«ãæç€ºã§ããã®æå³ã®èª¬æããããŠæãéèŠãªããšãšããŠãäœããããŸããããªãå Žåã®å¯ŸåŠæ¹æ³ã«é¢ããæšå¥šäºé
ã¯ãããŸããã
ãã£ãžã«ã«ã¹ã¿ã³ãã€ããŒã¿ããŒã¹ãå±éããããã»ã¹ãããããŸã§ã«ééããã¬ãŒãã®è¡šç€ºãšãšãã«å¯èœãªéã詳现ã«èª¬æããããšããŸãã
誀ã£ãŠèŠã€ããããªãã£ãåé¡ã®èª¬æãããã³èª¬æãšè¿œå ã¯ãããããç¹ã§æè¿ãããŸãã
å°æ¥ãã³ãã³ãããã³ã¯ãšãªã®äŸãæ¬æã§æäŸãããå Žåãæ¬¡ã®è¡šèšæ³ã䜿çšããŸãã
$ -ã³ãã³ãã¯ããŠãŒã¶ãŒoracleã®äžã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã³ãã³ãã©ã€ã³ã«å
¥åãããŸãã
SQL> -ã³ãã³ãã¯sqlplusã«å
¥åãããŸãã æç€ºçã«å®çŸ©ãããŠããªããã®èšäºã§ã¯ãsqlplusã管çã¢ãŒãïŒ
sqlplus / as sysdba ïŒã§èµ·åãããããŒã¿ããŒã¹ã€ã³ã¹ã¿ã³ã¹ã$ ORACLE_SID倿°ãä»ããŠèšå®ãããŠãããšæ³å®ããŠããŸãã
RMAN> -ã³ãã³ãã¯rmanã«å
¥åãããŸãã ããã§ããä»ã«æç€ºçã«å®çŸ©ãããŠããªãéããrmanã¯
rman target /ã³ãã³ãã§èµ·åãããããŒã¿ããŒã¹ã€ã³ã¹ã¿ã³ã¹ã¯$ ORACLE_SID倿°ãä»ããŠèšå®ããããšæ³å®ãããŸãã
å§ããåã«ãOracle DBMSã®ããã¯ã¢ããããã³ããŒã¿ãªã«ããªã®ã¡ã«ããºã ãçè§£ããå¿
èŠãããOracleããŒã¿ããŒã¹çµç¹ã®ååã«ã€ããŠå°ã説æãã䟡å€ããããŸãã
OracleããŒã¿ããŒã¹ã€ã³ã¹ã¿ã³ã¹ã«ã¯ã次ã®çš®é¡ã®ãã¡ã€ã«ãå«ãŸããŠããŸãã
å¶åŸ¡ãã¡ã€ã«ïŒå¶åŸ¡ãã¡ã€ã«ïŒ-ããŒã¿ããŒã¹èªäœã«é¢ãããµãŒãã¹æ
å ±ãå«ãŸããŠããŸãã ãããããªããšãããŒã¿ãã¡ã€ã«ãéãããšãã§ããªããããããŒã¿ããŒã¹æ
å ±ãžã®ã¢ã¯ã»ã¹ãéãããšãã§ããŸããã
ããŒã¿ãã¡ã€ã«-ããŒã¿ããŒã¹æ
å ±ãå«ãŸããŠããŸãã
æäœãã°ïŒRedoãã°ïŒ-ããŒã¿ããŒã¹ã§çºçãããã¹ãŠã®å€æŽã«é¢ããæ
å ±ãå«ãŸããŸãã ãã®æ
å ±ã¯ãé害ãçºçããå Žåã«ããŒã¿ããŒã¹ã®ç¶æ
ã埩å
ããããã«äœ¿çšã§ããŸãã
æ£åŒã«ã¯ããŒã¿ããŒã¹ã«å«ãŸããŠããªãä»ã®ãã¡ã€ã«ããããŸãããããŒã¿ããŒã¹ãæ£åžžã«æäœããã«ã¯éèŠã§ãã
ãã©ã¡ãŒã¿ãã¡ã€ã«-ã€ã³ã¹ã¿ã³ã¹ã®éå§èšå®ãèšè¿°ããããã«äœ¿çšãããŸãã
ãã¹ã¯ãŒããã¡ã€ã«-ãŠãŒã¶ãŒã管çã¿ã¹ã¯ã®ããã«ããŒã¿ããŒã¹ã«ãªã¢ãŒãã§æ¥ç¶ã§ããããã«ããŸãã
ã¢ãŒã«ã€ããã°-ã€ã³ã¹ã¿ã³ã¹ïŒãªãã©ã€ã³ã³ããŒïŒã«ãã£ãŠäœæããããªã³ã©ã€ã³ãžã£ãŒãã«ãã¡ã€ã«ã®å±¥æŽãå«ãŸããŸãã ãããã®ãã¡ã€ã«ã䜿çšãããšãããŒã¿ããŒã¹ã埩å
ã§ããŸãã ããããšããŒã¿ããŒã¹ãªã¶ãŒãã䜿çšããŠã倱ãããããŒã¿ãã¡ã€ã«ãå埩ã§ããŸãã
ã¹ã¿ã³ãã€ã€ã³ã¹ã¿ã³ã¹ãäœæãããšãã®äž»ãªã¢ã€ãã¢ã¯ãã¡ã€ã³ããŒã¿ããŒã¹ã®æäœãã°ãŸãã¯ã¢ãŒã«ã€ããã°ã«æ ŒçŽãããŠãããã©ã³ã¶ã¯ã·ã§ã³ã䜿çšããŠããã¯ã¢ããããŒã¿ããŒã¹ãææ°ã®ç¶æ
ã«ä¿ã€ããšã§ãïŒOracleã®ã¡ã«ããºã ã¯Data GuardãšåŒã°ããŸãïŒã
ããããã¡ã€ã³ããŒã¿ããŒã¹ã®æåã®èŠä»¶ã«åŸããŸã
-archivelogã¢ãŒãã§èµ·åããå¿
èŠããã
ãŸã ã
2çªç®ã®èŠä»¶ã¯ãã¹ã¯ãŒããã¡ã€ã«ã§ãã ããã«ããã管çã¢ãŒãã§ããŒã¿ããŒã¹ã«ãªã¢ãŒãæ¥ç¶ã§ããŸãã
3çªç®ã®èŠä»¶ã¯ã
匷å¶ãã°ã¢ãŒãã§ãã ãã®ã¢ãŒãã¯ãNOLOGGINGãªãã·ã§ã³ã䜿çšããŠå®è¡ãããæäœã§ãã匷å¶çã«ãã©ã³ã¶ã¯ã·ã§ã³ãREDOãã°ã«æžã蟌ãããã«å¿
èŠã§ãã ãã®ã¢ãŒãããªããšãäžéšã®ããŒã¿ãã¡ã€ã«ãã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã§ç Žæãããšããäºå®ã«ã€ãªããå¯èœæ§ããããŸãã ã¢ãŒã«ã€ããã°ããããŒãªã³ã°ããããšãNOLOGGINGãªãã·ã§ã³ã§äœæããããã©ã³ã¶ã¯ã·ã§ã³ã«é¢ããããŒã¿ããããããååŸããããšã¯ã§ããªããªããŸãã
ãŸããOracleã11g以äžã§äœ¿çšããå Žåãã¡ã€ã³ããŒã¿ããŒã¹ãšã¹ã¿ã³ãã€çšã®ãµãŒããŒã¯åããã©ãããã©ãŒã ã§ãªããã°ãªããªãããšã«æ³šæããŠãã ããã ã€ãŸããã¡ã€ã³ããŒã¿ããŒã¹ãLinuxãµãŒããŒã§å®è¡ãããŠããå Žåãã¹ã¿ã³ãã€ãµãŒããŒã§Windowsãå®è¡ããããšã¯ã§ããŸããã
ãã®èšäºã®ãã¹ãŠã®äŸã§ã¯ãUNIXã·ã¹ãã ã«çŠç¹ãåœãŠãŸãããWindowsã·ã¹ãã ã®å Žåãšã®éãã¯ãäž»ã«ãã¡ã€ã«ãžã®ãã¹ã®æžãèŸŒã¿æ¹æ³ã®ã¿ã§ãã
ã¡ã€ã³ãµãŒããŒãšã¹ã¿ã³ãã€ãµãŒããŒéã®ããŒã¿äº€æã¯SQL-Netãä»ããŠè¡ãããããšãå¿ããªãã§ãã ããããããã£ãŠã察å¿ããããŒãïŒéåžžã¯1521 tcpïŒãžã®æ¥ç¶ãäž¡æ¹åã§éãå¿
èŠããããŸãã
ããŒã¿ããŒã¹ã
testãšåŒã°ãããšä»®å®ããŸãã ã¡ã€ã³ããŒã¿ããŒã¹ãšã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã®æ§æã調æŽããŠããã€ã§ãããŒã«ãåãæ¿ããããããã«ããŸãïŒã¹ã€ãããªãŒããŒïŒã ã·ã¹ãã ã§ã¯ãMAXIMUM PERFORMANCEãšåŒã°ããData Guardä¿è·ã¢ãŒãã䜿çšããäºå®ã§ãã
è¡ããŸãããã
ãŸããããŒã¿ããŒã¹ãå¿
èŠãªèŠä»¶ãæºãããŠããããšã確èªããŸãã
1.ã¡ã€ã³DBãæ©èœããã¢ãŒãã確èªããŸãã
SQL> select name, open_mode, log_mode from v$database;
NAME OPEN_MODE LOG_MODE
--------- ---------- ------------
TEST READ WRITE ARCHIVELOG
LOG_MODEãã£ãŒã«ãã«ARCHIVELOGå€ã衚瀺ãããªãå Žåã¯ã次ã®ã³ãã³ããå®è¡ããŸãã
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
2.ãã¹ã¯ãŒããã¡ã€ã«ã確èªããŸãã
SQL> select * from v $ pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
ãã®çµæã衚瀺ãããªãå Žåã¯ãå¿
èŠãªãã¡ã€ã«ãäœæããŸãã
$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=xxxxxxxx force=y
ãxxxxxxxxãã®ä»£ããã«ãSYSãŠãŒã¶ãŒã®çŸåšã®ãã¹ã¯ãŒããæ¿å
¥ããå¿
èŠããããŸãã
3.
匷å¶ãã°ã¢ãŒãããªã³ã«ããŸãã
SQL> alter database force logging;
ã·ã¹ãã ã®æ§æã«é²ã¿ãŸãã ãŸããã¡ã€ã³ããŒã¹ã§å¿
èŠãªèšå®ãè¡ããŸãã ãã¹ãŠã®ããŒã¿ã
/ data / backupãã£ã¬ã¯ããªã«ä¿åããŸãã
ã¹ã¿ã³ãã€REDOãã°ãäœæããŸãã ãããã¯ãã¡ã€ã³ããŒã¿ããŒã¹ã®REDOãã°ã«ä¿åãããããŒã¿ãèšé²ããããã®ã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã§ã®ã¿å¿
èŠã§ãã ã¡ã€ã³ããŒã¹ã§ã¯ãã¹ã¿ã³ãã€ã¢ãŒãã«åãæ¿ããŠãªã¢ã«ã¿ã€ã é©çšREDOã䜿çšãããšãã«ããããå¿
èŠã«ãªããŸãã ã¹ã¿ã³ãã€REDOãã°ãã¡ã€ã«ã¯ããªã³ã©ã€ã³REDOãã°ãšåããµã€ãºã§ããå¿
èŠããããŸãã æ¬¡ã®ã³ãã³ãã䜿çšããŠããªã³ã©ã€ã³REDOãã°ã®ãµã€ãºã衚瀺ã§ããŸãã
SQL> select bytes from v$log;
BYTES
----------
52428800
52428800
52428800
ããŒã¿ããŒã¹ã«ããREDOãã°ã®ã°ã«ãŒãã確èªããŸãã
SQL> select group# from v$logfile;
GROUP#
----------
1
2
3
ã¹ã¿ã³ãã€REDOãã°ãäœæããŸãã
SQL> alter database add standby logfile group 4 '/oradata/test/stnbylog01.log' size 50m;
Database altered.
SQL> alter database add standby logfile group 5 '/oradata/test/stnbylog02.log' size 50m;
Database altered.
SQL> alter database add standby logfile group 6 '/oradata/test/stnbylog03.log' size 50m;
Database altered.
ã€ã³ã¹ã¿ã³ã¹ã®ãã©ã¡ãŒã¿ãŒãå«ããã¡ã€ã«ïŒpfileïŒãäœæããŸãã ã¡ã€ã³ããŒã¹ãã¹ã¿ã³ãã€ã¢ãŒãã«åãæ¿ããããšãã§ããããšãèæ
®ããŸããããã«ã¯ãã¹ã¿ã³ãã€ã¢ãŒãã§ã®ã¿äœ¿çšããããã©ã¡ãŒã¿ãŒã®èšå®ãå¿
èŠã§ãã
SQL> create pfile='/data/backup/pfilePROD.ora' from spfile;
çµæã®ãã¡ã€ã«ã«ããã€ãã®ãã©ã¡ãŒã¿ãŒã远å ããå¿
èŠããããŸãïŒããããååšããªãå ŽåïŒã
db_name = 'test'ã¯ãããŒã¿ããŒã¹ã®ååã§ãïŒã¡ã€ã³ã€ã³ã¹ã¿ã³ã¹ãšã¹ã¿ã³ãã€ã€ã³ã¹ã¿ã³ã¹ã§ãåãã§ãïŒã
db_unique_name = 'testprod'-ããã¯åã€ã³ã¹ã¿ã³ã¹ã®äžæã®ååã§ãããããŒã«ãã¹ã¿ã³ãã€ããå®çšŒåã«å€æŽããŠã倿ŽãããŸããã
l
og_archive_config = 'dg_config =ïŒtestprodãteststanïŒ' -ãã°ã亀æãããã€ã³ã¹ã¿ã³ã¹ã®ååãå®çŸ©ããŸãã
log_archive_dest_1 = 'SERVICE = teststan LGWR ASYNC VALID_FOR =ïŒONLINE_LOGFILESãPRIMARY_ROLEïŒdb_unique_name =' teststan ' -ã€ã³ã¹ã¿ã³ã¹ãã¡ã€ã³ããŒã¹ïŒPRIMARY_ROLEïŒã®å ŽåãLGWRããã»ã¹ã䜿çšããŠã¢ãŒã«ã€ããã°ãã¹ã¿ã³ãã€ãµãŒããŒã«è»¢éããŸãã ASYNCãã©ã¡ãŒã¿ãŒã¯ããã©ã³ã¶ã¯ã·ã§ã³ã«ãã£ãŠçæãããããŒã¿ãããã©ã³ã¶ã¯ã·ã§ã³ãå®äºããåã«ã¹ã¿ã³ãã€ã§åä¿¡ããå¿
èŠããªãããšã瀺ããŸããããã«ãããã¹ã¿ã³ãã€ãšã®æ¥ç¶ããªãå Žåã«ã¡ã€ã³ããŒã¿ããŒã¹ã忢ããããšã¯ãããŸããã
log_archive_dest_2 = 'LOCATION = / oradata / test / archive VALID_FOR =ïŒALL_LOGFILESãALL_ROLESïŒdb_unique_name = testprod'-ããã§ã¯ãã¢ãŒã«ã€ãããããã°ãããŒã«ã«ã«ä¿åããããã£ã¬ã¯ããªïŒã¡ã€ã³ããŒã¿ããŒã¹çšïŒãŸãã¯ã¡ã€ã³ããŒã¿ããŒã¹ããã®ãã°ã®å ŽæïŒã¹ã¿ã³ãã€ããŒã¹ïŒã
l
og_archive_dest_state_1 = ENABLE -log_archive_dest_1ã§ã¢ãŒã«ã€ããã°ã®èšé²ã
æå¹ã«ããŸãã ã¹ã¿ã³ãã€ããŒã¿ããŒã¹ãäœæãããŸã§ãalert_logã§ã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã®äœ¿çšäžå¯ã«é¢ããäžèŠãªã¡ãã»ãŒãžã衚瀺ããããªãå Žåã¯ããã®ãã©ã¡ãŒã¿ãŒãDEFERã«èšå®ã§ããŸãã
log_archive_dest_state_2 = ENABLE -
log_archive_dest_2ã§ã¢ãŒã«ã€ããã°ã®èšé²ã
æå¹ã«ããŸãã
fal_client = 'testprod'-ãã®ãã©ã¡ãŒã¿ãŒã¯ãã€ã³ã¹ã¿ã³ã¹ãã¹ã¿ã³ãã€ã¢ãŒãã«å
¥ããšãã«ãã¢ãŒã«ã€ããã°ãåä¿¡ããïŒã¢ãŒã«ã€ããã°ãååŸããïŒã¯ã©ã€ã¢ã³ãã«ãªãããšã決å®ããŸãã
fal_server = 'teststan'-ã¢ãŒã«ã€ããã°ã®è»¢éå
ãšãªãFALïŒã¢ãŒã«ã€ããã°ã®ååŸïŒãµãŒããŒãå®çŸ©ããŸãã
fal_clientããã³
fal_serverãã©ã¡ãŒã¿ãŒã¯ãããŒã¿ããŒã¹ãã¹ã¿ã³ãã€ã¢ãŒãã§èµ·åãããå Žåã«ã®ã¿æ©èœããŸãã
standby_file_management = 'AUTO'-èªåãã¡ã€ã«ç®¡çã¢ãŒããã¹ã¿ã³ãã€ã¢ãŒãã«èšå®ããŸãã ãã®ãã©ã¡ãŒã¿ãŒã®å€ã䜿çšãããšãã¡ã€ã³ããŒã¿ããŒã¹ã«ãã£ãŠäœæãŸãã¯åé€ããããã¹ãŠã®ãã¡ã€ã«ãã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã«èªåçã«äœæãŸãã¯åé€ãããŸãã
ã¡ã€ã³ããŒã¿ããŒã¹ããããã£ã¬ã¯ããªä»¥å€ã®ãã£ã¬ã¯ããªã«ã¹ã¿ã³ãã€ããŒã¿ããŒã¹ãé
眮ããå Žåã¯ã远å ã®ãã©ã¡ãŒã¿ãå¿
èŠã§ãã
db_file_name_convert = '/ oradata_new / test'ã '/ oradata / test'-ãã®ãã©ã¡ãŒã¿ãŒã¯ãã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã«äœæãããããŒã¿ãã¡ã€ã«ã®ååã§ïŒã€ãŸããã¡ã€ã³ã€ã³ã¹ã¿ã³ã¹ãã¹ã¿ã³ãã€ã¢ãŒãã§åäœãéå§ãããšãïŒã倿Žããå¿
èŠãããããšã瀺ããŸãã/ oradata_new / testãããã/ oradata / testããžã®ãã¹ã
log_file_name_convert = '/ oradata_new / test / archive'ã '/ oradata / test / archive'-ãã®ãã©ã¡ãŒã¿ãŒã¯ãã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã«äœæããããã°ãã¡ã€ã«ã®ååã§ããã¹ã '/ oradata_new / test / archive'ããã/ oradata / test / archiveãã
ãã®çµæãã¡ã€ã³ããŒã¿ããŒã¹ã®ãã©ã¡ãŒã¿ãŒãã¡ã€ã«ã«ã¯ãç¹ã«æ¬¡ã®ãšã³ããªãå¿
èŠã§ãã
# PRIMARY STANDBY
db_name='test'
db_unique_name='testprod'
log_archive_config='dg_config=(testprod,teststan)'
log_archive_dest_1='SERVICE=teststan LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name='teststan' log_archive_dest_2='LOCATION=/oradata/test/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=testprod'
log_archive_dest_state_1=ENABLE
log_archive_dest_state_2=ENABLE
# STANDBY
fal_client='testprod'
fal_server='teststan'
standby_file_management='AUTO'
ãã®ãããªæ©äŒãããã°ãæ°ãããã©ã¡ãŒã¿ã§ã¡ã€ã³ããŒã¿ããŒã¹ãåèµ·åãã
åŠçãã
pfileã«åºã¥ããŠæ°ãã
spfileãäœæã
ãŸã ã
SQL> shutdown immediate;
SQL> startup nomount pfile='/data/backup/pfilePROD.ora';
SQL> create spfile from pfile='/data/backup/pfilePROD.ora';
SQL> shutdown immediate;
SQL> startup;
æäœäžã«ã¡ã€ã³ããŒã¹ã忢ããæ©äŒããªãå Žåã¯ãALTER SYSTEMã䜿çšããŠçŸåšã®æ§æã倿Žããå¿
èŠããããŸãã
äœæ¥ããŒã¹ã§
db_unique_nameã倿Žããããšã¯ã§ããªãããšã«æ³šæããŠãã ããã ãããã£ãŠãçŸåšæ§æã«ããååã䜿çšããå¿
èŠããããŸãã æ¬¡ã®ã³ãã³ãã䜿çšããŠè¡šç€ºã§ããŸãã
SQL> show parameter db_unique_name
NAME TYPE VALUE
------------------------------------ ----------- --------------------------
db_unique_name string test
å¿
èŠãªãã©ã¡ãŒã¿ãŒãèšå®ããŸãã
SQL> alter system set log_archive_config='dg_config=(test,teststan)';
System altered.
ã¢ãŒã«ã€ãããããžã£ãŒãã«ãèšé²ããå Žæãèšå®ããŸãã äœæ¥ããŒã¹ã§ã¯ã
log_archive_dest_1ãã©ã¡ãŒã¿ãŒãèšå®ãããŠããå Žåã調æŽããããšã¯ã§ããŸããã ãããã£ãŠãã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã«ã³ããŒæ¹åã远å ããã ãã§ãã
SQL> alter system set log_archive_dest_2='SERVICE=teststan LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=teststan';
System altered.
SQL> alter system set log_archive_dest_state_2=ENABLE;
System altered.
SQL> alter system set FAL_SERVER=teststan;
System altered.
SQL> alter system set FAL_CLIENT=test;
System altered.
SQL> alter system set standby_file_management='AUTO';
System altered.
ã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã«é¢ããã¬ã³ãŒããtnsnames.oraã«è¿œå ããŸãã
TESTSTAN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = standbysrv)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = teststan)
)
)
ïŒããã¯ã¢ããããªãå ŽåïŒããã¯ã¢ãããäœæããŸãã ãã®ããã«ãrmanãŠãŒãã£ãªãã£ã䜿çšããŸãã
ã¹ã¿ã³ãã€ããŒã¹ãå±éããããã¯ã¢ããã®å Žæã¯ããã®ããã¯ã¢ãããä¿åããå ŽæãšãŸã£ããåãã§ããå¿
èŠããããŸãã ã€ãŸã ããã¯ã¢ãããã/ data / backupããã£ã¬ã¯ããªã«é
眮ãããšãã¹ã¿ã³ãã€ãµãŒããŒã§ããŒã¿ããŒã¹ã埩å
ãããšãã«ãrmanã¯åããã£ã¬ã¯ããªã§ããã¯ã¢ããããŒã¿ãæ€çŽ¢ããŸãã ãã®åé¡ã解決ããã«ã¯ã2ã€ã®æçœãªæ¹æ³ããããŸããããã¯ã¢ããããŒã¿ãã¡ã€ã³ãµãŒããŒããã¹ã¿ã³ãã€ã«äœæããããŸã£ããåããã£ã¬ã¯ããªã«ã³ããŒããããäž¡æ¹ã®ãµãŒããŒã«åçã«ããŠã³ãããããããã¯ãŒã¯ãªãœãŒã¹ãããã¯ã¢ããã«äœ¿çšããŸãã
ã¡ã€ã³ãµãŒããŒã§rmanãå®è¡ããŸãã
$ rman target /
OracleãLinuxã«ã€ã³ã¹ããŒã«ãããŠããå Žåã®è峿·±ãç¹ã PolyglotManããã±ãŒãžïŒRosettaManïŒãã€ã³ã¹ããŒã«ããå Žåãå®è¡ããããšãããš
$ rman target /
ãšã©ãŒãçºçããå¯èœæ§ããããŸãã
rman: can't open target
ãã®ç¶æ³ã¯ãç°å¢å€æ°$ PATHå
ã®ãã®ããã±ãŒãžã®
rmanå®è¡å¯èœãã¡ã€ã«ãžã®ãã¹ïŒããšãã°ã/ usr / X11R6 / bin / rmanïŒãOracle
rmanãžã®ãã¹ããåã«ããå Žåã«çºçããŸãã ã€ãŸã PolyglotManããã±ãŒãžããrmanãå®è¡ããã¿ãŒã²ãããã¡ã€ã«ããã©ã¡ãŒã¿ãŒãšããŠæž¡ãããšã詊ã¿ãŠããŸãããããã¯åœç¶éãããšã¯ã§ããŸããã
ã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã®å¶åŸ¡ãã¡ã€ã«ãäœæããŸãã
RMAN> backup current controlfile for standby format '/data/backup/standbycontrol.ctl';
ã¡ã€ã³ããŒã¿ããŒã¹ãšã¢ãŒã«ã€ããã¬ãžã³ã®ããã¯ã¢ãããäœæããŸãã
RMAN> run
2> {
3> allocate channel c1 device type disk format '/data/backup/%u';
4> backup database plus archivelog;
5> }
ããã§ãäœããã®çç±ã§ã¢ãŒã«ã€ãããããžã£ãŒãã«ã®å®å
šãªã»ããããªãå ŽåïŒããšãã°ãåé€ãããå ŽåïŒããã©ãã«ãçºçããå¯èœæ§ããããŸãã æ¬¡ã«ãrmanã¯ãšã©ãŒãã¹ããŒããŸãã
RMAN-20242: Specification does not match any archivelog in the recovery catalog
ç¶æ³ãæ¹åããã«ã¯ãrmanãªããžããªã®ã¢ãŒã«ã€ããã°ã®ã¹ããŒã¿ã¹ã確èªããã³å€æŽããå¿
èŠããããŸãã ãããè¡ãã«ã¯ã次ã®ã³ãã³ããå®è¡ããŸãã
RMAN> change archivelog all crosscheck;
ããã¯ã¢ãããæåããå Žåã
/ data / backup /ãã£ã¬ã¯ããªã®å
容ãã¹ã¿ã³ãã€ãµãŒããŒã«ã³ããŒãïŒããã¯ã¢ããã«ãããã¯ãŒã¯å
±æã䜿çšããªãã£ãå ŽåïŒãã¹ã¿ã³ãã€ãµãŒããŒã«ã€ã³ã¹ã¿ã³ã¹ãäœæããŸãã
ãŸããããŒã¿ããŒã¹ã®ã€ã³ã¹ã¿ã³ã¹ãäœæããã«ã¹ã¿ã³ãã€ãµãŒããŒã«Oracleãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã ããã«å¯¿åœãå»¶ã°ãããã«ãã¹ã¿ã³ãã€ãµãŒããŒäžã®$ ORACLE_HOMEãžã®ãã¹ã¯ãã¡ã€ã³ãµãŒããŒãšåãã§ããå¿
èŠããããŸãã OracleããŒãžã§ã³ã«å®å
šã«æºæ ããããã«ãã¡ã€ã³ãµãŒããŒã«ã€ã³ã¹ããŒã«ããããã¹ãŠã®ããããã€ã³ã¹ããŒã«ããŸãã
ãªã¹ããŒæ§æãšããããµãŒãã¹åãäœæããŸãã
ã¹ã¿ã³ãã€ãµãŒããŒã«ã¡ã€ã³ããŒã¿ããŒã¹ã®ã³ããŒããããã€ããã«ã¯ãæŠéãµãŒããŒã§å®è¡ãããŠããrmanã䜿çšããŸãããããŒã¿ããŒã¹ã®ã¹ã¿ã³ãã€ã€ã³ã¹ã¿ã³ã¹ã¯nomountã¢ãŒãã«ãªããlistener.oraã«ãµãŒãã¹ãæç€ºçã«ç»é²ããå¿
èŠããããŸããè£å©ã«ã€ããŠã®å°æ¥ã®ã¹ã¿ã³ãã€ãžã®rmanã¯ãããã¯ãããŸãã
ãã®çµæã
listener.oraã¯æ¬¡ã®ããã«ãªããŸãã
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = teststan)
(ORACLE_HOME = /oracle)
(SID_NAME = test)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = standbysrv)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
ãã®å Žåã®ãã©ã¡ãŒã¿ãŒSID_NAMEã¯ã倧æåãšå°æåãåºå¥ãããããšã«æ³šæããŠãã ããã ãªã¹ããŒã¯orapw $ SID_NAMEãšããååã®ãã¹ã¯ãŒããã¡ã€ã«ãæ¢ããŸãã
ãšããã§ãä»ããã¹ã¯ãŒããã¡ã€ã«ïŒ$ ORACLE_HOME / dbs / orapw $ ORACLE_SIDïŒãã¡ã€ã³ãµãŒããŒããã¹ã¿ã³ãã€ã«ã³ããŒãããšãã§ãã
ãŸããã¡ã€ã³ããã³ã¹ã¿ã³ãã€ã®ããŒã¹ã
tnsnames.oraã«ç»é²ããå¿
èŠããããŸãã
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = standbysrv)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = teststan)
)
)
TESTPROD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = productionsrv)(PORT = 1521))
)
(CONNECT_DATA =
(SID = test)
)
)
ãªããªã ã¢ããªã±ãŒã·ã§ã³ã¯
testãšããååã§ããŒã¿ããŒã¹ããèªèãããŠãããã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã«ã¯SIDãã¹ããèšå®ããŠããããšãããããŸãã
ãªã¹ããŒãåèµ·åããããšãå¿ããªãã§ãã ããïŒ
$ORACLE_HOME/bin/lsnrctl stop
$ORACLE_HOME/bin/lsnrctl start
次ã«ãããŒã¿ããŒã¹ã®ãã£ã¬ã¯ããªæ§é ãäœæããŸãã éåžžã$ ORACLE_HOME / admin / $ ORACLE_SIDã«ãã
adump ã
bdump ã
cdump ã
dpdump ã
udumpãã£ã¬ã¯ããªãšåæ§ã«ãããŒã¿ãã¡ã€ã«ãšãã°ãã¡ã€ã«ãæ ŒçŽããããã®ãã¹ãŠã®ãã£ã¬ã¯ããªãäœæããå¿
èŠãããããšãå¿ããªãã§ãã ããã
ã¹ã¿ã³ãã€ã§ã¡ã€ã³ããŒã¿ããŒã¹ã®ãã£ã¬ã¯ããªæ§é ãä¿åããããªãå Žåã¯ã
db_file_name_convertããã³
log_file_name_convertãã©ã¡ãŒã¿ã®å€ã«åŸã£ãŠãã£ã¬ã¯ããªãäœæããå¿
èŠããããŸãã
ãŸããã¡ã€ã³ããŒã¿ããŒã¹ã®ãã©ã¡ãŒã¿ãŒã«åºã¥ããŠãã¹ã¿ã³ãã€çšã®ãã©ã¡ãŒã¿ãŒãã¡ã€ã«ãäœæããå¿
èŠããããŸãã ãããè¡ãã«ã¯ãã¹ã¿ã³ãã€ãµãŒããŒäžã®
pfilePROD.oraãã¡ã€ã«ãæžãæããŠ
pfileSTAN.oraã«ååã倿Žããåã«ç·šéããéšåã«å¿
èŠãªä¿®æ£ãå ããŸãã
# PRIMARY STANDBY
db_name='test'
db_unique_name='teststan'
log_archive_config='dg_config=(testprod,teststan)'
log_archive_dest_1='SERVICE=testprod LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name='testprod' log_archive_dest_2='LOCATION=/oradata/test/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=teststan'
log_archive_dest_state_1=ENABLE
log_archive_dest_state_2=ENABLE
# STANDBY
fal_client='teststan'
fal_server='testprod'
standby_file_management='AUTO'
ã¹ã¿ã³ãã€ããŒã¿ããŒã¹ãä»ã®ãã£ã¬ã¯ããªã«é
眮ããå Žåãå¿
èŠãªãã©ã¡ãŒã¿ãŒã远å ããŸãã
db_file_name_convert='/oradata/test','/oradata_new/test'
log_file_name_convert='/oradata/test/archive','/oradata_new/test/archive'
ã¹ã¿ã³ãã€ããŒã¹ã€ã³ã¹ã¿ã³ã¹ãéå§ããŸãã
SQL> startup nomount pfile='/data/backup/pfileSTAN.ora';
SQL> create spfile from pfile='/data/backup/pfileSTAN.ora';
SQL> shutdown immediate;
SQL> startup nomount;
ããã¯ã¢ããããã¹ã¿ã³ãã€ããŒã¿ããŒã¹ãå±éããŸãã ãããè¡ãã«ã¯ãã¡ã€ã³ãµãŒããŒã«ç§»åããŠ
rmanãå®è¡ããŸãã
å°æ¥ã®ã¹ã¿ã³ãã€ããŒã¿ããŒã¹ã«æ¥ç¶ããè€è£œãå®è¡ããŸãïŒããŒã¿ããã¯ã¢ããããã³å¶åŸ¡ãã¡ã€ã«ã¯ãã¡ã€ã³ãµãŒããŒããã³ã¹ã¿ã³ãã€ãã
/ data / backupãšããŠè¡šç€ºããããã£ã¬ã¯ããªã«ããããšãèŠããŠããŸãïŒã
RMAN> connect auxiliary sys@teststan
RMAN> duplicate target database for standby nofilenamecheck dorecover;
nofilenamecheckãã©ã¡ãŒã¿ãŒãå¿
èŠã§ããããã¯ã
rmanãéè€ãããã¡ã€ã«åã
èªããªãããã«ããããã§ãïŒã¡ã€ã³ãµãŒããŒãšã¹ã¿ã³ãã€ãµãŒããŒã§åããã£ã¬ã¯ããªæ§é ã䜿çšããå ŽåïŒã
ãã¹ãŠãããŸããã£ãå Žåãã·ã¹ãã ãã¹ã¿ã³ãã€ããŒã¹ã®ãã©ã³ã¶ã¯ã·ã§ã³ã®èªåã¢ããªã±ãŒã·ã§ã³ã«ç§»è¡ããŸãã
ãã°ãã¡ã€ã«ãåãæ¿ããŠãã¡ã€ã³ããŒã¿ããŒã¹ã®ã¢ãŒã«ã€ããã°ã®æåŸã®çªå·ã確èªããŸãã
SQL> alter system switch logfile;
System altered.
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
205
次ã«ãã¹ã¿ã³ãã€ãµãŒããŒã«ç§»åããŸãã
ããŒã¿ããŒã¹ã®ã¹ããŒã¿ã¹ã確èªããŸãã
SQL> select name,open_mode,log_mode from v$database;
NAME OPEN_MODE LOG_MODE
--------- ---------- ------------
TEST MOUNTED ARCHIVELOG
SQL> select recovery_mode from v$archive_dest_status;
RECOVERY_MODE
-----------------------
IDLE
IDLE
IDLE
IDLE
IDLE
IDLE
IDLE
IDLE
IDLE
IDLE
IDLE
11 rows selected.
SQL> select max(sequence#) from v$log_history;
MAX(SEQUENCE#)
--------------
202
ã¹ã¿ã³ãã€ã§æåŸã«äœ¿çšããããã°ãã¡ã€ã³ããŒã¹ãããé
ããŠãããARCHããã»ã¹ãæ©èœããŠããªãããšãããããŸãã
ã¹ã¿ã³ãã€REDOãã°ã確èªããŸãã
SQL> select * from v$standby_log;
ããã§ãªãå Žåã¯ãäœæããŸãã
SQL> alter database add standby logfile group 4 '/oradata/test/stnbylog01.log' size 50m;
Database altered.
SQL> alter database add standby logfile group 5 '/oradata/test/stnbylog02.log' size 50m;
Database altered.
SQL> alter database add standby logfile group 6 '/oradata/test/stnbylog03.log' size 50m;
Database altered.
ã¹ã¿ã³ãã€ããŒã¹ããªã¢ã«ã¿ã€ã ã¢ãã©ã€REDOã¢ãŒãã«ç§»è¡ããŸãã
SQL> alter database recover managed standby database using current logfile disconnect;
äœãèµ·ãã£ãã®ãèŠãŠã¿ãŸãããïŒ
SQL> select recovery_mode from v$archive_dest_status;
RECOVERY_MODE
-----------------------
MANAGED REAL TIME APPLY
MANAGED REAL TIME APPLY
MANAGED REAL TIME APPLY
MANAGED REAL TIME APPLY
MANAGED REAL TIME APPLY
MANAGED REAL TIME APPLY
MANAGED REAL TIME APPLY
MANAGED REAL TIME APPLY
MANAGED REAL TIME APPLY
MANAGED REAL TIME APPLY
MANAGED REAL TIME APPLY
11 rows selected.
SQL> select max(sequence#) from v$log_history;
MAX(SEQUENCE#)
--------------
205
ã芧ã®ãšããããã¹ãŠãæ©èœããŸãã
ãªã¢ã«ã¿ã€ã ã¢ãã©ã€REDOã¢ãŒãã䜿çšããããªãããã¡ã€ã³ãµãŒããŒã§ã®æ¬¡ã®ã¢ãŒã«ã€ããã°ã®åœ¢æãå®äºããä¿åããããã©ã³ã¶ã¯ã·ã§ã³ã䜿çšããããã«ã¹ã¿ã³ãã€ã«è»¢éããããŸã§åŸ
æ©ããå Žåãã³ãã³ãã§ã¹ã¿ã³ãã€ããŒã¹ãREDOã¢ãã©ã€ã¢ãŒãã«ããå¿
èŠããããŸãïŒ
SQL> alter database recover managed standby database disconnect;
åé¡ãçºçããå ŽåããŸãåé¡ã解決ããã«ã¯ããŸããã°ã®ãããŒãªã³ã°ãã忢ããå¿
èŠããããŸãã
SQL> alter database recover managed standby database cancel;
è€è£œäžã«ãã¹ãŠã®ã¢ãŒã«ã€ããã°ãã¹ã¿ã³ãã€ãµãŒããŒã«è»¢éãããªãã£ãå¯èœæ§ããããŸãã æ¬¡ã«ãæåã§ãããŒã«ãããããã«ãã¹ã¿ã³ãã€ãµãŒããŒïŒãã®å Žåã/ oradata / test / archiveãã£ã¬ã¯ããªïŒã«æåã§ã³ããŒããå¿
èŠããããŸãã
SQL> recover standby database;
ãã®åŸãReal-time apply redoãå床å®è¡ããŸãã
SQL> alter database recover managed standby database using current logfile disconnect;
ã€ã³ã¹ã¿ã³ã¹éã§ããŒã«ãåãæ¿ããããã»ã¹ïŒã¹ã€ãããªãŒããŒïŒãšã¡ã€ã³ããŒã¿ããŒã¹ã«é害ãçºçããå Žåã«ã¹ã¿ã³ãã€ããŒã¿ããŒã¹ããã©ã€ããªã¢ãŒãã«ããããã»ã¹ïŒãã§ãŒã«ãªãŒããŒïŒã«ã¯ãå€ãã®èœãšã穎ããããããããã¯å¥ã®èšäºã®ãããã¯ã§ãã