오라클 EXADATA

EXADATA Developer - 10

n.han 2017. 2. 15. 16:31

EXADATA Developer - 10
> I/O 성능 지표 (Testing Storage Server Performance by Using CALIBRATE
  1. MBPS : 초당 처리되는 데이터의 양 (한번에 얼마나 많은 데이터를 가지고 올 수 있느냐?). 따라서 Analytics의 중요한 성능 지표.
  2. IOPS : 초당 I/O 가능한 횟수, OLTP에 중요한 성능 지표.
> ADR
  - Automatic Diagnostic Repository (11g)
  - DB 정보 구성을 위해서 DB 內 파라미터 有 (show parameter)
  - 11g 전에는 DB 진단을 위한 각종 로그 파일들의 위치를 파라미터로 지정.
  - 11g 이후에는, 이것 외에 diagnostic_dest라는 파라미터가 생기고, 이 파라미터가 가리키고 있는 디렉토리에 있는 우선순위가 높은 로그들이 有
    - 예를 들어, 디스크가 깨지면 예전에는 OS 로그에만 남겼는데, DB에도 incident라는 로그로 남김.
    - 결론적으로, 각종 진단 로그 파일들을 모아둔 곳이다.
    - v$diag_info라는 View로 확인할 수 있음.
  - ADRCI(ADR Command Interpreter)
    - The ADR Command Interpreter (ADRCI) is a command-line tool that you use to manage Oracle Database diagnostic data.
      (source : https://docs.oracle.com/cd/B28359_01/server.111/b28319/adrci.htm#BGBBBGEF)
> Specifying Content Type for a Disk Group
  - Disk는 연속으로 깨지는 경우가 많기 때문에, content type setting을 통해서 P와 S 간의 거리를 최대한 멀리해서
    Double failure가 발생했을 때 살릴 수 있도록 하는 것이 필요.
> Reconfiguring Exadata Storage
  - Reallocating space between DATA and RECO disk groups:
  - Can be performed online (without downtime)
    - 이런 것을 rolling이라고 하는데, 이게 가능한 이유는 mirroring 되어 있기 때문에.
> gv$ : global dynamic performance view (RAC 환경에서 볼 수 있는 View)
  - ASM rebalancing

발표 순서
1. Exadata란?
  1) DB
  2) NW
  3) Storage
2. Exadata의 장단점
3. Exadata의 장점
  1) Smart Scan (Cell Offloading)
  2) Smart Flash Cache (기존 Query 처리 프로세스 설명하면서, Exadata에서는 Flash Cache도 사용한다, 그리고 사용 전후 비교 예시 보여주기)
  3) HCC (Hybrid Columnar Compression)
  4) InfiniBand
  5) Smart Flash Log
4. Oracle DB의 특징
  1) Oracle RAC Architecture
    - ASM (Automatic Storage Management)
    - Oracle Clusterware
    - Cache Fusion
    - node eviction
  2) In-memory Parallel Query
  3) optimizer
    - dynamic sampling
  4) performance data
  5) parallel query

    - automatic parallel query (http://www.oracle.com/technetwork/issue-archive/2010/o40parallel-092275.html)

  6) hint
etc)
  - Column Filtering
  - 변경 중인 테이블을 Select하면?
  - Securefile LOB

  - Database VS Data Warehouse

    (https://www.healthcatalyst.com/database-vs-data-warehouse-a-comparative-review)

 

Q&A
1. 사용자가 DB Server에 Query를 날린다고 하면, RAC에서는 Query가 분산되나? 그렇다고 하면, DB Server와 connection을 맺을 때 특정 DB Server를 지정하는지 아니면 VIP를 사용하는지?
  - tnsnames.ora를 통해서 특정 service에 대해 두 DB Server로 연결 가능. Query는 분산됨. PMON이라는 Background가 Workload를 분산시켜서, TNSListener에게 알려줌.
  - 유저가 Query 날리면 랜덤으로 TNSListener에게 전달되고, PMON을 통해서 알게된 각 DB Server의 Workload를 파악하여 덜 바쁜 친구에게 보내줌.
2. cache fusion을 통해서 Storage 변경점에 대해서 같이 공유. 그러면, Storage의 특정 부분에 대해서 DML 작업을 하여 Lock이 걸린다고 하면 그 정보는 Storage에 저장되는 것인지 아니면 DB Server 간 연결된 네트워크를 통해서 이런 정보들을 공유하는 것인지?
  - 후자임. 근데 만약 네트워크가 끊어지면 데이터 무결성 문제가 발생하잖아?
  - 그래서 항상 서로 살아 있는 지 node끼리 ping을 때림.
   (http://www.aioug.org/OTNYathra2016/OTNYathra2016_AmanSharma_Node%20Evictions-What,%20Why,%20How_OTN2016.pdf)
  - 끊어지는 경우, master-slave 중 master가 살게됨.
  - DB Server의 IP는 VIP로, Node Eviction 되면 floating 되어서 살아 있는 node로 가게 됨. 따라서 유저는 죽은 노드에 대해서 알지 못해도 Query 전송하는 것에는 문제 생기지 않음.

'오라클 EXADATA' 카테고리의 다른 글

EXADATA Developer - 12  (0) 2017.02.16
EXADATA Developer - 11  (0) 2017.02.16
EXADATA Developer - 9  (0) 2017.02.15
EXADATA Developer - 8  (0) 2017.02.14
EXADATA Developer - 7  (0) 2017.02.14