oracle11g dataguard ÍêÈ«ÊÖ²á
Ò»¡¢Ç°ÑÔ£º
ÍøÂçÉϹØÓÚdataguardµÄÅäÖÃÎÄÕºܶ࣬µ«ÊǺܶà´ò×Åoracle11gµÄÎÄÕÂʵ¼Ê¶¼ÊÇÖ»ÄÜÔÚ9 10 ÉÏÔËÐУ¬±ÈÈçFAL_CLIENTÔÚ11gÖÐÒѾ·ÏÆú£¬µ«ÊÇÏÖÔÚÍøÂçÉϵÄÎÄÕ¶¼ÊÇûÓбê×¢ÕâÒ»µã¡£¶øÇÒ¶ÔÓÚ¾ßÌ庬ÒåÓïÑɲ»Ïê¶ÔÓÚÐÂÊÖÖ»ÄÜÖªÆäÈ»¶ø²»ÖªÆäËùÒÔÈ»¡£ÕâÆªÎÄÕÂÎÒ¾ÍÏëÈÃÏñÎÒÕâÑùµÄÈ˶ÔÓÚdataguardÅäÖò»½ö½öÖªµÀÔõôÅäÖ㬻¹ÒªÖªµÀΪʲôÐèÒªÕâÑùÅäÖã¬ÕâÑùµÄЧ¹û²ÅÊÇ×îºÃµÄ¡£
ÕâÆªÎÄÕ²»½ö½öÊǼǼÈçºÎÅäÖ㬻¹½éÉÜÁËΪʲôÊÇÕâÑù£¬ÒÔ¼°×¢ÒâÒªµã£¬ÎÒÏ£ÍûÕâ¸öÎÄÕ¿ÉÒÔ×÷Ϊ½øÐÐdataguardÅäÖõÄÒ»¸ö²Î¿¼Êֲᡣ ¶þ¡¢Ç°Ìá
1.Ö÷¿âÊǹ鵵ģʽ£º
Èç¹ûÎÒÃDz»Çå³þΪʲôÊǹ鵵ģʽ£¬ÄÇÎÒÃǾÍÓ¦¸ÃÒ²²»»áÇå³þdataguardÊÇÓÃÀ´×öʲôµÄ¡£Í¸¹ýºÜ¶àÐÞÊεĹٷ½ÓïÑÔ£¬ÎÒÃÇÐèÒªÃ÷È·DG£¨dataguard¼ò³Æ£¬ºóͬ£©Êµ¼ÊÉϵÄ×÷ÓþÍÊÇÓÃÀ´¸ß¿ÉÓ᣶øÊµÏÖÔÀí¾ÍÊÇ´ÓÖ÷¿â»ñÈ¡Êý¾Ýµ½´Ó¿â£¬ÔÚÖ÷¿â·¢ÉúÒì³£µÄʱºò£¬´Ó¿â½Ó¹ÜÖ÷¿â£¬Íê³ÉÉí·ÝµÄ±ä»¯¡£¿ÉÒÔÒ»¸öÖ÷¿â£¬×î¶à9¸ö´Ó¿â¡£Í¬Ê±·ÖΪÂß¼standbyºÍÎïÀístandbyÕâÀïÎÒÃÇÌÖÂÛµÄÊÇÎïÀístandby.
Ò»µ©´´½¨²¢ÅäÖÃ³É standby ºó£¬dg ¸ºÔð´«Êä primaryÊý¾Ý¿â redo data µ½ standby Êý¾Ý¿â£¬standby Êý¾Ý¿âͨ¹ýÓ¦ÓýÓÊÕµ½µÄ redo data ±£³ÖÓë primary Êý¾Ý¿âµÄÊÂÎñÒ»Ö¡£
ÕâÏÂÇå³þÁ˰ɣ¬ÐèÒª±£Ö¤Ö÷´Ó¿âÒ»Ö£¬ÐèÒª´«Êäarchive logºÍredo logµ½´Ó¿â£¬Èç¹û²»Êǹ鵵ģʽÎÞ·¨±£Ö¤Ö÷´Ó¿âµÄÊý¾ÝÒ»Ö¡£
2.´Ó¿âÖ»ÐèÒª°²×°Êý¾Ý¿âÈí¼þ£¬Êý¾Ý´ÓÖ÷¿â´«ÊäºóÍê³É¡£
3.ºÜ¶àÈË˵11gÓÐÁËactive dataguard(ADG)£¬Âß¼standby ʵ¼ÊÉÏÒѾûʲôÓô¦ÁË¡£ 4.Ö÷´Ó¿âÓ²¼þ×îºÃÒ»Ö¡£oracleÊý¾Ý¿â°æ±¾ÐèÒªÒ»Ö¡£ (1)ÄÚ´æ¼ì²éÏ
# grep MemTotal /proc/meminfo
½»»»·ÖÇø¼ì²éÏÈç¹ûÄÚ´æÔÚ1-2G,swapÊÇ1.5±¶£»2-16G,1±¶£»³¬¹ý16G£¬ÉèÖÃΪ16G¼´¿É¡£
# grep SwapTotal /proc/meminfo ²é¿´¹²ÏíÄÚ´æ´óС£º # df -h /dev/shm
(2)²é¿´ÏµÍ³´¦ÀíÆ÷¼Ü¹¹£¬Óëoracle°²×°°üÒ»Ö # uname -m
(3)¿Õ¼ä¿Õ¼ä /tmp±ØÐë´óÓÚ1G # df -h /tmp
5.ÅäÖû·¾³Êý¾Ý¿âÓû§±ØÐëÓÐsysdbaȨÏÞ
6.ºóÃæµÄ»·¾³£ºÖ÷¿â 192.168.215.101 Êý¾Ý¿âʵÀýÃû£ºorcl db_unique_name:orcl ´Ó¿â 192.168.215.102 Êý¾Ý¿âʵÀýÃû£ºorcl db_unique_name:orcldg Èý¡¢ÅäÖÃ
1.ÅжÏDGÊÇ·ñÒѾ°²×°£º
select * from v$option where parameter = 'Oracle Data Guard'; Èç¹ûÊÇtrue±íʾÒѾ°²×°¿ÉÒÔÅäÖ㬷ñÔòÐèÒª°²×°ÏàÓ¦×é¼þ¡£ 2.ÉèÖÃÖ÷¿âÎªÇ¿ÖÆ¼Ç¼ÈÕÖ¾¡£
ĬÈÏÇé¿öÏÂÊý¾Ý¿â²Ù×÷»á¼Ç¼redo log£¬µ«ÊÇÔÚÒ»Ð©ÌØ¶¨µÄÇé¿öÏ¿ÉÒÔʹÓÃnologgingÀ´²»Éú³ÉredoÐÅÏ¢
(1)±íµÄÅúÁ¿INSERT£¨Í¨¹ý/*+APPEND */ÌáʾʹÓá°Ö±½Ó·¾¶²åÈë¡°¡£»ò²ÉÓÃSQL*LoaderÖ±½Ó·¾¶¼ÓÔØ£©¡£±íÊý¾Ý²»Éú³Éredo£¬µ«ÊÇ
ËùÓÐË÷ÒýÐ޸ĻáÉú³Éredo£¬µ«ÊÇËùÓÐË÷ÒýÐ޸ĻáÉú³Éredo£¨¾¡¹Ü±í²»Éú³ÉÈÕÖ¾£¬µ«Õâ¸ö±íÉϵÄË÷ÒýÈ´»áÉú³Éredo£¡£©¡£
(2)LOB²Ù×÷£¨¶Ô´ó¶ÔÏóµÄ¸üв»±ØÉú³ÉÈÕÖ¾£©¡£ (3)ͨ¹ýCREATE TABLE AS SELECT´´½¨±í (4)¸÷ÖÖALTER TABLE²Ù×÷£¬ÈçMOVEºÍSPLIT
(5)ÔÚһЩ±íÇ¨ÒÆºÍ±í¿Õ¼äÇ¨ÒÆÖУ¬¿ÉÒÔʹÓÃalter table a nologging;»òÕßalter tablespace snk nologging;ÔÚ²Ù×÷Íê³ÉºóÔÙÐ޸ĻØlogging״̬¡£
ÕâÀïÐèÒª¶à˵һ¾ä£¬Èç¹ûÄãʹÓÃnologgingµ¼Èë´óÅúÁ¿Êý¾Ý£¬ÒÔºó¶ÔÕâЩÊý¾ÝµÄÐ޸ĻáÔÚredo»òÕßarchive logÖУ¬µ«ÊÇ»ù×¼µÄÊý¾ÝÊÇûÓеģ¬ËùÒÔÒ»µ©½éÖÊËð»µÊÇÎÞ·¨ÍêÈ«»Ö¸´µÄ£¬±ØÐëÔÚʹÓÃnologgingÍê³ÉÇл»»Øloggingºó£¬×öÒ»´ÎÈ«±¸»òÕß0¼¶±¸·Ý¡£ (1)Ç¿ÖÆ¼Ç¼ÈÕÖ¾£ºsql>alter database force logging;
(2)¼ì²é״̬(YEsÎªÇ¿ÖÆ)£ºsql>select name,force_logging from v$database;
(3)Èç¹ûÐèÒªÔÚÖ÷¿âÌí¼Ó»òÕßɾ³ýÊý¾ÝÎļþʱ£¬ÕâЩÎļþÒ²»áÔÚ±¸·ÝÌí¼Ó»òɾ³ý£¬Ê¹ÓÃÈçÏ£º sql>alter system set standy_file_management='AUTO'; ĬÈϴ˲ÎÊýÊÇmanualÊÖ¹¤·½Ê½ sql>show parameter standby
3.´´½¨standby log files(±¸ÓÃÈÕÖ¾Îļþ£©
´Ó¿âʹÓÃstandby log filesÀ´±£´æ´ÓÖ÷¿â½ÓÊÕµ½µÄÖØ×öÈÕÖ¾¡£¼ÈÈ»Ö÷ÒªÊÇ´Ó¿âÔÚʹÓã¬ÄÇΪʲôÐèÒªÔÚÖ÷¿âÉÏÒ²½¨Á¢
standby log files?ÔÒòÖ÷ÒªÓÉÁ½¸ö£ºÒ»ÊÇÖ÷¿â¿ÉÄÜת»»Îª±¸¿â£¬¶ø±¸¿âÊÇÐèÒªÓÐstandby log filesµÄ¶þÊÇÈç¹ûÖ÷¿â
½¨Á¢ÁËstandby log filesÄDZ¸¿â»á×Ô¶¯½¨Á¢¡£ ½¨Á¢standbyÈçҪעÒâÒÔϼ¸µã£º
<1>standby log filesµÄ´óСºÍredo log filesÒ»Ñù¡£
²éѯredo log filesÎļþ´óС£¨Ä¬ÈÏ50M,3¸ö£©£ºselect group#,bytes/1024/1024 as M from v$log
<2>Ò»°ã¶øÑÔ£¬ standbyredo ÈÕÖ¾Îļþ×éÊýÒª±È primary Êý¾Ý¿âµÄ online redo ÈÕÖ¾Îļþ×éÊýÖÁÉÙ¶àÒ»¸ö¡£
ÍÆ¼ö standbyredo ÈÕÖ¾×éÊýÁ¿»ùÓÚ primary Êý¾Ý¿âµÄÏß³ÌÊý(ÕâÀïµÄÏß³ÌÊý¿ÉÒÔÀí½âΪ rac ½á¹¹ÖÐµÄ rac ½ÚµãÊý)¡£
ÓÐÒ»¸öÍÆ¼öµÄ¹«Ê½¿ÉÒÔ×ö²Î¿¼£º(ÿÏ̵߳ÄÈÕÖ¾×éÊý+1)*×î´óÏß³ÌÊý ¼ÙÉèÏÖÔÚ½ÚµãÊÇ1¸ö£¬Ôò=(3+1)*1=4 Èç¹ûÊÇË«½Úµã Ôò=(3+1)*2=8 ÕâÀïÎÒÃÇ´´½¨4¸östandby logfile:
Áí£º²»½¨Òé×éºÅgroup#½ô°¤×Åredo£¬ÒòΪºóÐøredoÓпÉÄܵ÷Õû£¬ÕâÀïÎÒÃÇ´Ó½¨Á¢´Ó11µ½
14µÄstandby logfile # cd $ORACLE_BASE/oradata/orcl/ # mkdir dg 1 # chown oracle:dba dg 2 sql> alter database add standby 3 logfile group 11 '/opt/oracle/oradata/orcl/dg/standby11.log' 4 sql> alter database add standby 5 logfile group 12 '/opt/oracle/oradata/orcl/dg/standby12.log' 6 sql> alter database add standby 7 logfile group 13 '/opt/oracle/oradata/orcl/dg/standby13.log' 8 sql> alter database add standby logfile group 14 '/opt/oracle/oradata/orcl/dg/standby14.log' 4.ÃÜÂëÎļþºÍ¿ØÖÆÎļþµÄ´´½¨´«Êä (1)Ò»°ãÊý¾Ý¿âĬÈϾÍÓÐÃÜÂëÎļþ£¬´æ·ÅÔÚ$ORACLE_HOME/dbs/orapwSID ÕâÀïΪorapworcl Èç¹ûûÓÐsql>orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle (2)¼ì²éREMOTE_LOGIN_PASSWORDFILEÖµÊÇ·ñΪ EXCLUSIVE sql>show parameter REMOTE_LOGIN_PASSWORDFILE Èç¹ûÖµ²»ÊÇEXCLUSIVE£¬Ôò£ºalter system set remote_login_passwordfile=exclusive scope=spfile; (3)ÃÜÂëÎļþÐèÒªscpµ½´Ó¿â # scp orapworcl oracle@192.168.215.102:/opt/oracle/11.2/dbs ÌáʾÊäÈëyes (4)¿ØÖÆÎļþ£º size 50M; size 50M; size 50M; size 50M; 11gµÄ¿ØÖÆÎļþÒ»¹²Á½·Ý£¬ÄÚÈÝÒ»Ñù£¬Ò»·ÝÔÚ$ORACLE_BASE/oradata/orcl/control01.ctl Ò»·ÝÔÚ/opt/oracle/flash_recovery_area/orcl/control02.ctl Éú³Éstandby¿ØÖÆÎļþ£º 1 sql>shutdown immediate 2 sql>startup mount 3 sql>alter database create standby controlfile as '/tmp/standby_control01.ctl';4 sql>startup open; È»ºóÔÚ±¸¿â½¨Á¢¶ÔÓ¦µÄĿ¼,²¢ÊÚȨ mkdir orcl--- chown oracle:oinstall(»òdba) orcl scp control01.ctl oracle@192.168.215.102:/opt/oracle/oradata/orcl scp control02.ctl oracle@192.168.215.102:/opt/oracle/flash_recovery_area/orcl/
5.db_nameºÍdb_unique_name