본문 바로가기
OraclE

RAC 원하는 노드에서 mview refresh 수행

by 타마마임팩트_쫀 2016. 4. 11.


분 단위로 수행되는 MVIEW가 서비스 되는 노드와는 반대의 노드에서 수행 하면서

GCS 가 대량으로 발생했고, 이로 인하여 active 세션마저 증가 하였다.

물론 refresh 완료 되고 스스로 풀리기는 했지만 이런 장애 상황을 방지 해 보자


-- 변경 전 JOB 확인

sql> col what for a60

sql> select job, log_user, what, instance

from dba_jobs

order by log_user, job;


       JOB LOG_USER                       WHAT                                                           INSTANCE

---------- ------------------------------ ------------------------------------------------------------ ----------

         2 AAAAAAAA                       dbms_refresh.refresh('"AAAAAAAA"."MST_PROD_INFO_VW"');                0

        21 AAAAAAAA                       dbms_refresh.refresh('"AAAAAAAA"."MST_PROD_VW"');                     0

         3 BBBBBBB                        dbms_refresh.refresh('"BBBBBBB"."PO2_GNR_SONG_CNT_VW"');              0



AAAAAAAA 는 node2 에서 서비스 하고, BBBBBBB 는 node1 에서 서비스 한다.


-- 해당 유저로 로그인

sql> conn AAAAAAAA/AAAAAAAA

Connected.


-- 인스턴스 변경

sql> exec dbms_job.instance(job=>2, instance=>2) ;


PL/SQL procedure successfully completed.


sql> exec dbms_job.instance(job=>21, instance=>2) ;


PL/SQL procedure successfully completed.


sql> commit;


Commit complete.


sql> conn BBBBBBB/BBBBBBB

Connected.


sql> exec dbms_job.instance(job=>3, instance=>1) ;


PL/SQL procedure successfully completed.


-- 변경 후 JOB 확인

sql> select job, log_user, what, instance

from dba_jobs

order by log_user, job;


       JOB LOG_USER                       WHAT                                                           INSTANCE

---------- ------------------------------ ------------------------------------------------------------ ----------

         2 AAAAAAAA                       dbms_refresh.refresh('"AAAAAAAA"."MST_PROD_INFO_VW"');                2

        21 AAAAAAAA                       dbms_refresh.refresh('"AAAAAAAA"."MST_PROD_VW"');                     2

         3 BBBBBBB                        dbms_refresh.refresh('"BBBBBBB"."PO2_GNR_SONG_CNT_VW"');              1


instance 가 '0' 이면 상대적으로 리소스 여유가 있는 node 에서 수행, '0'이 아니면 해당 노드에서 수행 된다.

'OraclE' 카테고리의 다른 글

DATAPUMP 암호화  (0) 2017.01.19
ORACLE 12c UNIFIED AUDIT 사용  (0) 2016.07.13
Auditing Enhancements (aud$ 테이블 관리)  (0) 2016.04.11
dbms_scheduler 변경  (2) 2016.01.04
flashback  (0) 2015.04.27