1. 다음의 오라클 대기 이벤트 중 Call이나 네트워커의 부하와 관련이 없는 이벤트는 무엇인가요? (P 485)

  1) SQL*Net message from client

  2) SQL*Net message to client 

  3) SQL*Net more data to client 

  4) SQL*Net more data from client 


2. 다음의 오라클/SQL Server의 데이터 구조를 설명하는 내용  중 적당하지 않을 것을 모두 고르세요. (Page 476, 477)

  1) 블록은 공간을 할당하는 단위로, 옵티마이저가 최적화를 할때 기준이 되는 값이다.

  2) 블록이나 익스텐트 모두, 오라클에서는 설정을 통해 그 크기가 변경될 수 있지만, SQL Server에서는 고정된 크기를 사용한다. 

  3) 익스텐트내에 블록은 논리적으로 연속된 공간을 할당 받는다. 

  4) SQL Server 의 익스텐트는 균일/혼합 타입이 있는데, 모든 테이블의 처음 공간은 균일 익스텐트로 시작한다. 

  5) 세그먼트는 테이블, 인텍스, undo처럼 각 오프젝트와 1:1 관계를 갖는 단위로 한 세그먼트는 테이블 스페이스 내에 하나의 

    데이터 파일에 저장된다.


3. 다음 오라클 메모리 공간에 대한 설명으로 틀린 것을 모두 고르세요. 

  1) 데이터를 읽고자 할 때는 읽고자 하는 블록을 먼저 버퍼 캐시에서 찾아보고 없을 경우에 Disk로 접근한다. 단 예외는 있다.     

  2) 데이터 변경시에도 버퍼에 적재된 블록에 먼저 기록한 후 주기적으로 DBWR 프로세스를 통한 Disk에 기록된다.

  3) 모든 버퍼는 반드시 세가지- Free, Dirty, Pinned - 중 하나의 상태에 놓여져 있다.

  4) 서버 프로세스가   버퍼 캐시에 변경하기 전에  Undo  버퍼에 기록, 주기적으로 LGWR 프로세스가 데이터 파일에 기록한다. 

  5) 사용자가 수행한  SQL문이나 실행계획, Stored Procedure 등은 공유 풀 중 Dictionary Cache에 저장된다.


4. 다음 중 I/O 시 발생되는 대기 이벤트 중에서 db file scattered read와 관련 있는 항목을 모두 고르세요. 

  1) Index Range scan 

  2) table full scan

  3) random Access 

  4) Index full scan

  5)  Index fast full scan


5. 다음 중 User call 부하 최소화 방법으로 적절하지 않을 항목을 모두 고르세요. 

   1) Loop 구간 내의 반복적인 SQL 호출을 해결할 수 있는 one-SQL을 구현한다.

  2) 한번 SQL 수행으로 여러 레코드를 동시에 처리할 수 있는 Array Proccessing을 전체 과정 중 처리 과정 중 일부라도 먼저 적용한다. 

  3) 부분 범위처리 기법을 활용하여 상황에 필요한 정보만 가져올 수 있도록 구현한다.  

  4) 사용자 정의 함수는 Context Switching을 야기하여 성능 저하에 원인이 되므로, 가급적 사용하지 않아야 한다. 

  5) 효과적인 페이지 처리 방식을 통해 호출 부하를 최소화 한다.

Posted by 꿈을펼쳐라
,