oracle-11g-DataguardÏêϸÅäÖÃÊÖ²á ÏÂÔر¾ÎÄ

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2024/5/4 2:54:54ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcl2)' LOG_ARCHIVE_DEST_1= 'LOCATION=/u01/app/archive DB_UNIQUE_NAME=orcl'

LOG_ARCHIVE_DEST_2= 'SERVICE=orcl2 LGWR ASYNC DB_UNIQUE_NAME=orcl2'

LOG_ARCHIVE_DEST_STATE_1=ENABLE LOG_ARCHIVE_DEST_STATE_2=ENABLE LOG_ARCHIVE_FORMAT=%t_%s_%r.arc FAL_SERVER=orcl2 FAL_CLIENT=orcl STANDBY_

°ÑÐ޸ĺóµÄpfile Ò²¿½±´µ½±¸¿âÉÏ£º

scp ¨Crp /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora lin-2:/u01/app/oracle/product/11.2.0/db_1/dbs/

×¢Ò⣺¸ù¾Ýʵ¼ÊÇé¿ö¸ü¸ÄÓû§µÄ»·¾³±äÁ¿

VALID_FOR=(ALL_LOG) VALID_FOR=(ONLINE_LOG)

Áù.ÐÞ¸ÄÖ÷¿âÔËÐÐÔڹ鵵ģʽÏÂ

SQL> archive log list;

Database log mode No Archive Mode Automatic archival Disabled

Archive destination USE_DB_RECOVERY_ Oldest online log sequence 4 Current log sequence 6

SQL> alter system set LOG_ARCHIVE_DEST_1= 'LOCATION=/u01/app/archive';

System altered.

SQL> shutdown immediate; Database closed.

Database dismounted.

ORACLE instance shut down. SQL> startup mount; ORACLE instance started.

Total System Global Area 1570009088 bytes Fixed Size 2213696 bytes Variable Size 922749120 bytes Database Buffers 637534208 bytes Redo Buffers 7512064 bytes

Database mounted.

SQL> alter database archivelog;

Database altered.

SQL> alter database open; Database altered. SQL>

Æß. ´´½¨±¸·Ý¿âÐèÒªµÄ¿ØÖÆÎļþ

ÔÚÖ÷¿â´´½¨±¸¿â¿ØÖÆÎļþ ×¢£ºÒÔϲÙ×÷ÔÚÖ÷¿âÉϽøÐÐ SQL>Shutdown immediate; SQL>STARTUP MOUNT;

SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/orcl.ctl'; SQL>ALTER DATABASE OPEN;

´´½¨Ö÷¿âspfile

SQL>Shutdown immediate

SQL>startup pfile= '/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora' sql> create sp pfile=

'/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora';

¹Ø±ÕÊý¾Ý¿â

sql> shutdown immediate;

°Ë. ±¸·ÝÉú²úÊý¾Ý¿â²¢°ÑÊý¾Ý¸´ÖƵ½¶Ô¶Ë

˵Ã÷£ºÕâÀï²ÉÓùرÕÖ÷¿âÊý¾Ý¿â£¬½øÐÐÀ䱸·ÝµÄ·½·¨½øÐб¸·Ý£¬Êý¾Ý¿âµÄ¿ØÖÆÎļþºÍÊý¾ÝÎļþÈ«²¿Î»ÓÚ/u01/app/oracle/oradata/orcl/Ŀ¼

scp -rp /u01/app/oracle/oradata/orcl/* lin-2:/u01/app/oracle/oradata/orcl/

¾Å.Ð޸ı¸¿âpfile

[oracle@lin-2 dbs]$ cat initorcl.ora orcl.__db_cache_size=637534208 orcl.__java_pool_size=16777216

orcl.__large_pool_size=16777216

orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment orcl.__pga_aggregate_target=637534208 orcl.__sga_target=939524096 orcl.__shared_io_pool_size=0

orcl.__shared_pool_size=251658240 orcl.__streams_pool_size=0

*.audit_'/u01/app/oracle/admin/orcl/adump' *.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl' *.db_block_size=8192 *.db_domain='' *.db_name='orcl'

*.db_recovery_'/u01/app/oracle/flash_recovery_area' *.db_recovery_

*.diagnostic_dest='/u01/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' *.memory_target=1562378240 *.open_cursors=300 *.processes=150

*.remote_login_passwordfile='EXCLUSIVE' *.undo_tablespace='UNDOTBS1' *.DB_UNIQUE_NAME=orcl2

*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcl2)' *.LOG_ARCHIVE_DEST_1= 'LOCATION=/u01/app/archive VALID_FOR=(ALL_LOG) DB_UNIQUE_NAME=orcl2'

*.LOG_ARCHIVE_DEST_2= 'SERVICE=orcl LGWR ASYNC VALID_FOR=(ONLINE_LOG) DB_UNIQUE_NAME=orcl'

*.LOG_ARCHIVE_DEST_STATE_1=ENABLE *.LOG_ARCHIVE_DEST_STATE_2=ENABLE *.LOG_ARCHIVE_FORMAT=%t_%s_%r.arc *.FAL_SERVER=orcl *.FAL_CLIENT=orcl2 *.STANDBY_

Ê®¡¢½«¿ØÖÆÎļþ´«Êäµ½¶Ô¶Ë

ÏÂÃæÃüÁîÔÚÖ÷¿âÉÏÖ´ÐУº

scp -rp /tmp/orcl.ctl lin-2:/u01/app/oracle/oradata/orcl/

´«Êäµ½¶Ô¶Ëºó£¬²¢¸ü¸Ä¿ØÖÆÎļþµÄÃû³Æ

ÔÚ±¸¿âÉÏÐÞ¸ÄÃû³ÆΪcontrol01.ct

[oracle@lin-2 orcl]$ mv orcl.ctl control01.ctl [oracle@lin-2 orcl]$ ls

control01.ctl redo02.log sysaux01.dbf temp01.dbf users01.dbf redo01.log redo03.log system01.dbf undotbs01.dbf

ʮһ¡¢ÔÚ±¸¿âÉÏ´´½¨¿ÚÁîÎļþ

orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle entries=5

Ê®¶þ¡¢ÔÚ±¸¿âÉÏ´´½¨spfile

ÔÚ±¸¿âÉÏ£¬¸ù¾ÝµÚ¾ÅÕ´´½¨µÄpfile Éú³Éspfile

SQL>Shutdown immediate

SQL>startup pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora' SQL>CREATE SPFILE FROM PFILE;

Ê®Èý¡¢Æô¶¯ÎïÀí±¸ÓÃÊý¾Ý¿â

SQL>STARTUP MOUNT;

Ê®ËÄ¡¢ÅäÖÃStandby Redo Log

ÔÚÁ½±ß¶¼ÅäÖÃstandby redo log

ÔÚÖ÷¿â²é¿´ÈÕÖ¾×éµÄÊýÁ¿ºÍÿ¸öÈÕÖ¾ÎļþµÄ´óС SQL> SELECT GROUP#, BYTES FROM V$LOG;

ÔÚ±¸¿â¿â²é¿´ÈÕÖ¾×éµÄÊýÁ¿ºÍÿ¸öÈÕÖ¾ÎļþµÄ´óС SQL> SELECT GROUP#, BYTES FROM V$STANDBY_LOG;

ÔÚÖ÷±¸¿âÉÏ´´½¨ÈÕÖ¾×éºÍredo logÎļþ SQL>ALTER DATABASE ADD STANDBY LOG 4('/u01/app/oracle/oradata/orcl/stdby_redo04.log') SIZE 50M; SQL>ALTER DATABASE ADD STANDBY LOG 5('/u01/app/oracle/oradata/orcl/stdby_redo05.log') SIZE 50M; SQL>ALTER DATABASE ADD STANDBY LOG 6('/u01/app/oracle/oradata/orcl/stdby_redo06.log') SIZE 50M;

Ê®Îå¡¢ÅäÖÃÉÁ»ØÊý¾Ý¿â

˵Ã÷£ºÕâÒ»²½Îª¿ÉÑ¡²Ù×÷£¬µ«Ç¿ÁÒ½¨Ò鿪ÆôÊý¾Ý¿âÉÁ»Ø¹¦ÄÜ¡£ÉÁ»ØÔÊÐíÄ㽫Êý¾Ý¿â»¹Ô­µ½ÒÔÇ°µÄijһʱ¼äµã¡£µ±·¢Éú¹ÊÕÏתÒÆʱ£¬Õâ¸ö¹¦Äܷdz£ÓÐÓã¬ËüÄÜÈÃÄ㽫ÀϵÄÖ÷¿âÉÁ»Øµ½¹ÊÕÏÇ°£¬È»ºó½«Æäת»»Îª±¸¿â¡£Èç¹ûûÓÐÆôÓÃÉÁ»Ø¹¦ÄÜ£¬Äã¾Í±ØÐëÖؽ¨±¸¿â£¬Òâζ×ÅÒªÔÙ¸´ÖÆÒ»´ÎÊý¾ÝÎļþ¡£³ýÁËÕâ¸öºÃ´¦£¬ÉÁ»Ø»¹ÄÜÔÚijЩÇé¿öÏÂÈÃÄã±ÜÃâ´Ó±¸·Ý»Ö¸´Êý¾Ý¡£

(1)¿ìËÙ»Ö¸´Çø(Flash/Fast Recovery Area)£¬Ä¬ÈÏÊÇÅäÖõÄ,µ«ÊÇÐèҪȷÈÏÕâ¸öÇøÓòµÄ´ÅÅ̹»´ó£¬ÖÁÉÙ50GÒÔÉÏ£¨Ä¬ÈÏ3G£© sql>show parameter db_recovery_ ¿ÉÒÔÐÞ¸ÄλÖãº

sql>alter system set db_recovery_'з¾¶'; ¸ü¸Ä´óС£º

sql>alter system set db_recovery_G; (2)²é¿´ÊÇ·ñÆôÓã¬Ä¬ÈÏÊDz»¿ªÆôµÄ

sql>select flashback_on from v$database; ¿ªÆôÉÁ»Ø£º

sql>alter database flashback on;

Èç¹ûÄãÅöµ½ ORA-01153 ±¨´í£¬ÄÇÒ»¶¨ÊÇÔÚ±¸¿â½øÐд˲Ù×÷¡£ÄãÐèÒªÏÈÈ¡ÏûÖØ×öÈÕÖ¾Ó¦Óã¬ÆôÓÃÉÁ»ØÈÕÖ¾£¬È»ºóÖØÐÂÆôÓÃÈÕÖ¾Ó¦Óá£

ÔÚÖ÷¿âÆôÓÃÉÁ»ØÈÕÖ¾£¬²»»áͬ²½±¸¿âÒ²ÆôÓá£Äã±ØÐëÊÖ¶¯ÔÚÖ÷¿âºÍ±¸¿âÉϾùÆôÓÃÉÁ»ØÈÕÖ¾¡£ Èç¹û²»ÆôÓÃÉÁ»ØÈÕÖ¾£¬µ±³öÏÖ¹ÊÕÏתÒÆʱ£¬Ä㽫ÐèÒªÍêÈ«ÖØпªÊ¼´´½¨Ò»¸ö±¸¿â¡£

Ê®Áù¡¢ Start Redo Apply

ÔÚ±¸¿âÉÏÖ´ÐУº

sql>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOG FROM SESSION;

²é¿´ÄÄЩ¹éµµÈÕÖ¾±»APPLYÁË ÔÚ±¸¿âÉÏÖ´ÐУº

sql>SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

ÔÚÖ÷¿âÇ¿ÖÆÈÕÖ¾Çл»µ½µ±Ç°µÄonline redo log file. sql>ALTER SYSTEM ARCHIVE LOG CURRENT; ÔÚ±¸¿â²é¿´Ðµı»¹éµµµÄredo data