Oracle]Materialized View Intro / Syntax

2017. 9. 27. 21:41·과거자료/Oracle - Objects
반응형

 사실 저는 DBA가 아닙니다. 시작부터 지금까지 쭉 ORACLE DB 엔지니어로 지내고 있습니다. 물론 엔지니어라고해서 Objects에 대해서 몰라도 되는 것은 절대적으로 아닙니다. 하지만 엔지니어에게 Object는 사실 처음부터 접하기는 힘든 것이 사실이긴합니다. 이번 경우에도 as-is 서버와 to-be 서버로 특정 Table의 동기화를 특정 Product 없이, 예를 들면 OGG(Oracle Golden Gate)나 쉐어플렉스를 사용하지 않고 동기화할 필요가 생겼습니다.

 그래서 사용하려는 방법이 Materialized View를 통해 Table 실시간 동기화를 하려고합니다. 앞으로 몇일간은 Materialized View와 Scheduler Job을 통한 동기화에 대한 내용을 다루도록 하겠습니다.



 Intro

  •  Create materialized view 구문을 사용해 Mview를 만듭니다. Master Table이나 Master Database의 Table을 한 Table로 저장하며, 만들어진 그 Table을 조회하도록 합니다.
  •  하나의 데이터베이스에서 또 다른 데이터베이스로의 데이터 복제를 위함입니다.
  •  DW 환경에 사용되는 빈도가 높고 비용이 많이 드는  Query의 수행속도를 향상 시키기 위함입니다.


 Materialized View의 특징

  •  MView를 만들어두면 QUERY의 수행속도 증가
  •  SQL 응용프로그램에서 MView 사용시 DBA는 프로그램에 영향을 끼치지 않고 언제든지 생성 및 제거 가능
  •  MView는 실행의 결과 행과 뷰 정의 모두 저장이 되고, 실행 결과 행으로 만들어진 테이블은 일정 공간을 차지
  •  MView관련 기초 테이블을 변경하면, MView로 생성된 Summary 테이블도 변경


  Materialized View와 일반 View의 차이점

  •  가장 큰 차이점은 MView의 결과값은 물리적으로 존재한다는 것이며, 일반 View의 결과값은 물리적으로 존재하지 않습니다. 즉, dba_segments dictionary view에서 조회 시 MView는 나오지만 일반 View는 나오지 않습니다.
  •  MView는 MView를 생성할때의 Query로 물리적으로 이미 데이타가 생성되어 있기 때문에 조회 속도가 빠릅니다. 하지만 View는 단지 쿼리정보가 딕셔너리에 저장되어 있고 사용될 때 그 SQL이 다시 실행되는 것이기 때문에 MView보다 상대적으로 느립니다. MView로 생성된 결과값이 일반 View로 조회하는 Data의 결과값 보다 훨씬 적은 Row를 조회하게 된다는 것이죠.

 Additional Topics



 Prerequisites


    • 자신 소유의 schema에 materialized view를 생성할 경우 :

 create materialized view, create table or create any table 권한이 부여되야 함.

 또한 소유가 아닌 다른 Master table에 access할 경우 그 object에 대한 select나 select any table 권한이 필요.


  • 자신 소유가 아닌  Schema에 materialized view를 생성할 경우 :

  create any materialized view 권한 필요.
  create table 권한, select, select any table 권한 필요.




 Syntax

create_materialized_view::=



Create materialized view Syntax ⓒ docs.oracle.com

 Optional

· BUILD clause

 immediate : 기본값으로 생성과 함께 소스테이블의 데이터도 생성

 deferred : mview는 생성이되지만 데이터는 추후 refresh 시에 생성


· REFRESH clause : + 시기 + 방식

· 시기

 on commit : 소스테이블에 commit이 생길때마다 refresh

 on demand : dbms_mview 패키지를 사용할 때 refresh

· 방식

 complet : 전체 refresh

 fast : 변경분에 대한 refresh

 force : fast 가능 여부 판단 후 만족하지 않을 경우 complet 적용(Default)

 never : refresh하지 않음


 REFRENCE

http://www.gurubee.net/lecture/1857

https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6002.htm#i2162987



반응형

'과거자료 > Oracle - Objects' 카테고리의 다른 글

Oracle]MView / DB link를 사용한 테이블 동기화  (0) 2017.09.28
'과거자료/Oracle - Objects' 카테고리의 다른 글
  • Oracle]MView / DB link를 사용한 테이블 동기화
라이의 부자로 가는길
라이의 부자로 가는길
< 돈 / 건강 / 재테크 / AI > 관심이 많은 라이
    반응형
  • 라이의 부자로 가는길
    돈이 Money
    라이의 부자로 가는길
  • 전체
    오늘
    어제
    • 분류 전체보기 (103)
      • 블로그가 Money (3)
        • WordPress (0)
        • Tistory (18)
      • 유튜브가 Money (2)
        • 유용한 사이트 (2)
      • AI가 Money (2)
        • [AI] - ChatGPT (1)
        • [AI] - 이미지 (1)
        • [AI] - 사운드 (0)
      • 돈이 Money (3)
        • 경제 한스푼 (2)
        • 재테크 (0)
        • 돈되는 정보 (1)
      • 건강이 Money (2)
        • 건강 클리닉 (2)
        • 운동 & 다이어트 (0)
      • Blah Blah (1)
        • 라이의 Blah Blah (1)
        • 찬반 Blah Blah (0)
      • 과거자료 (72)
        • OS - Linux (7)
        • OS - Windows (2)
        • Oracle - Engine (6)
        • Oracle - Admin (13)
        • Oracle - Objects (2)
        • 지름신 강림 (13)
        • 내 일상... 주절주절 (2)
        • 코인이야기 (1)
        • IT 관련 잡지식 (4)
        • 유용한 앱 & 소프트웨어 (14)
        • 애드센스 집중탐구 (4)
        • 티스토리 초대장 (4)
  • 최근 글

  • 인기 글

  • 최근 댓글

  • 블로그 메뉴

    • 지역로그
    • 태그로그
    • 방명록
  • 링크

  • 공지사항

  • 태그

    oracle
    모모플레이어
    애드센스 수익
    티스토리 홈화면 변경
    별플레이어
    애드센스
    티스토리 초대장 배부
    oracle asm
    중소기업 tv
    oracle 12c install
    티스토리
    테이블동기화
    웨일 브라우저 설치
    WINDOWS ORACLE
    티스토리 초대장
    oracle 12c 설치
    모니터 크기 비교
    오라클동기화
    챗gpt
    linux 7
  • hELLO· Designed By정상우.v4.10.3
라이의 부자로 가는길
Oracle]Materialized View Intro / Syntax
상단으로

티스토리툴바