제가 알고 있기로는 스냅샷 로그가 반드시 필요한 것은 아닙니다.
다만 스냅샷 로그라는 것이 마스터 테이블에 대한 변경사항 만을 로그로 모아둔 것
이기 때문에 이것을 만들어 두면 스냅샷의 갱신시 이 로그를 참조하기 때문에 보다
좋은 성능을 얻을 수 있다는 것이지요.
>>윤동만 님께서 쓰시길<<
::
:: >>firebird 님께서 쓰시길<<
::
:: :: 스냅샷 로그가 원본 디비에 존재하면 리플리케이션 성능이 좋아집니다.
:: :: 15초 간격이면 아마 로그를 쓰셔야 만족할 만한 성능을 내실 수 있을 겁니다.
:: :: 우선 로컬 디비 init<SID>.ora에 job_queue_processes 파라미터와 job_queue_interval
:: :: 파라미터가 설정되어 있는지 확인하세요.
:: ::
:: :: 그리고 원본 디비에 있는 대상 테이블에 create shapshot log 문으로 스냅샷 로그를
:: :: 만들어 주세요.
:: :: 복사될 로컬 디비에서는 먼저 tnsnames.ora에 원본 디비에 접속할 수 있는 엔트리가
:: :: 있는지 확인하시고 없으면 만드세요.
:: :: 그런다음 create database link 문으로 데이타베이스 링크를 만드시고.
:: :: create snapshot 문으로 스냅샷을 만드시면 됩니다.
:: ::
:: :: refresh 절에서 next 부분에서 인터벌을 정하시면 됩니다. 뭐 15초 간격이면 sysdate + 15/(24*60*6
:: 0)
:: :: 정도 되겠군요.
:: ::
:: :: 그리고 snapshot과 materialized view는 같은 말입니다. 오라클 레퍼런스에 있는
:: :: 해당 부분 문법을 참고하세요.
:: ::
:: :: 그리고 snapshot과 snapshot log는 기본적으로 테이블 스페이스에 있는 일정공간을
:: :: 차지하는 테이블과 같은 객체입니다. 따라서 storage를 적절하게 정의해 주시는 것도
:: :: 필요합니다.
:: ::
:: :: oracle replication manager를 사용하는 것도 고려해 보시구요...
:: ::
:: :: >>윤동만 님께서 쓰시길<<
:: ::
:: :: :: 현재 local에 있는 db-server는 nt에 오라클8i 버젼이 있습니다...
:: :: :: 그리고 remote 에 db-server는 unix에 오라클7.3 버젼이 있습니다...
:: :: :: 그런데 이 remote에 있는 table 을 주기적인 시간을 두고 계속 update 하려고
:: :: :: 하는데 (예를 들어 15초 간격으로) 알아본바에 의하면 snapshot 을 사용하면
:: :: :: 된다고 하던데 자료를 보면 remote 에서 일단 snapshot log를 만들고 local에서
:: :: :: snapshot 을 걸면 된다고 하던데 정확히 개념이 안잡힙니다..
:: :: :: 어떻게 하면 15초 간격으로 갱신될까요?
:: :: :: snapshot 을 하려면 remote 와 local 반드시 둘다 셋팅이 되어야 하는지 좀 자세한
:: :: :: 답변을 바랍니다...
:: :: :: 좋은 주말 되세요...
:: 답변감사합니다...
:: 근데 위의말씀대로라면 반드시 remote 에 반드시 log를 잡을필요는 없다는 말씀이신지....?
:: 아님 반드시 remote 에 log 를 잡아야 한다는 말씀이신지 잘 모르겠습니다...
:: 혹시 시간 되실때 답변 부탁드립니다...
:: 좋은 나날이 되세요...
::
|