오라클 EXADATA

EXADATA Developer - 5

n.han 2017. 2. 13. 16:16
EXADATA Developer - 5
> db instance : memory + bgprocess
> ASM instance : memory + bgprocess
> DB, ASM Instance 확인하는 방법
  1. cat /etc/oratab
  2. ps -ef | grep pmon
> ORACLE_SID (System IDentifier)
> asm 관리툴
  1. asmcmd, 2.asmca, 3.sqlplus, 4.EM
  - asmcmd 사용하는 법
    > . oraenv
    > +ASM1
    > /u01/app/grid
    > /u01/app/12.1.0.2/grid
> sqlplus / as sysdba
  - select name from v$datafile;
    : asm file이 나옴. 파일 이름은 테이블스페이스이름..버전
  - ASMCMD에서
    1. cd data*
    2. ls
    3. cd dbm
    4. ls
    5. cd datafile
권한
> db : oracle
   sys sysdba dba
 sysoper oper
> asm : grid
  sys sysasm asmadmin
 sysdba asmdba
 sysoper asmoper
> srvctl utility to verify the status of the DBM database and the placement of the database instances.
  : srvctl status database -d dbm
> cellcli (cell server status 관리)
  : list cell detail
> EXA 환경의 가장 큰 목표 : cell offload
  - <cell offload 설계 목표>
    1. cell에서 db 서버로 전송되는 data 볼륨 감소
      -> 쿼리가 작동할 때 발생하는 cell offloading 기능을 smart scan이라고 함. => smart sacan 최적화가 가장 중요한 목표.
    2. db 서버의 CPU 사용량 감소
    3. cell단의 disk access 자체를 감소. (cell도 바쁘니)
      -> storage index! (db 단의 index가 아닌, system에서 자동으로 만들어서 cell server에 메모리에 올림)
         : Cell단 I/O 작업할 때, 알아서 필요한 부분을 읽음. (S/W Algorithm적 구현 => 하드웨어는 따라할 수 있어도, S/W Algorith은 따라하기 어려움)
> Smart Scan의 전제조건
  1. object에 대한 full scan이 일어나야함. 또 multi-block I/O로 Full scan해야함. 이런 작업의 예로
    (single-block I/O로 읽는 것의 대표적인 예는 Index Scan)
    : table full scan, index fast full scan, bitmap fash full scan.
    (sorting된 index 순서 상관 없이 한꺼번에 읽음). (db_file_multiblock_read_count가 커지면?)
    (index fash full scan으로 읽을 때 빠른 것이 sql tuning할 때 뭐지?)
  2. direct path read
    : oracle의 메모리 구조는 2가지가 있음. 공유 메모리 영역과, session 메모리. session 메모리로 읽어야 함.
      - 그러면 어떻게 session 메모리로 read할 수 있나?
        1. parallel 작업
        2. _serial_direct_read (파라미터) : single process 작업도 direct path read 방식으로 동작하게끔 유도하는 히든 파라미터.
 
  full scan이 이뤄지면 언젠가 direct path read 방식으로 동작하는 kcbldrget(커널 블럭 다이렉트 리드 겟)라는 서브 함수를 호출. kcbldrget가 호출되면 smart scan이 동작하는 서브 함수로 kcfis_read(커널 파일 인텔리젠스 스토리지 리드)가 호출.
> Block I/O 동작 방식에 대한 이해가 필요.

> 테이블의 Query 속도를 빠르게 하기 위해서, Index를 만드는데, 그럼 Index Scan하게 되면 Smart Scan이 일어나지 않으니, Indexin을 할 필요가 없나?

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

EXADATA Developer - 7  (0) 2017.02.14
EXADATA Developer - 6  (0) 2017.02.14
EXADATA Developer - 4  (0) 2017.02.13
EXADATA Developer - 3  (0) 2017.02.13
EXADATA Developer - 2  (0) 2017.02.13