top oracle dba rac
숙련 된 전문가를위한 고급 주제에 대한 Oracle DBA, RAC 및 성능 조정 관련 주요 질문 :
이전 기사에 이어 오라클 인터뷰 질문 ,이 기사에는 데이터베이스 아키텍처, 데이터베이스 백업 / 복구 및 성능 튜닝과 같은 일부 고급 Oracle 개념을 다루는 일련의 인터뷰 질문이 포함되어 있습니다.
Oracle Advanced Interview 질문에서 다루는 주제 :
- Oracle DBA 인터뷰 질문
- Oracle RAC 인터뷰 질문
- Oracle Performance Tuning 인터뷰 질문
여기에서 우리는 중간 수준의 후보자뿐만 아니라 구직자라도 면접을 성공적으로 완료하는 데 도움이 될 일련의 질문을 모았습니다.
Oracle DBA, RAC 및 성능 조정 관련 주요 질문
Enlisted는 답변과 함께 고급 주제에 대한 가장 중요한 Oracle 인터뷰 질문입니다.
시작하자!!!
Q # 1) 테이블이나 뷰 대신 구체화 된 뷰를 사용하는 이유는 무엇입니까?
대답: 구체화 된 뷰는 쿼리 결과를 보유하는 데이터베이스 객체입니다. 복잡한 쿼리 실행에서 테이블이나 뷰 대신 구체화 된 뷰를 사용하는 경우 반복되는 쿼리에 대해 재실행이 필요하지 않으므로 성능이 향상됩니다.
Q # 2) 클러스터형 인덱스는 비 클러스터형 인덱스와 어떻게 다릅니 까?
대답: 인덱스는 테이블 내에서 데이터를 효율적으로 검색 할 수있는 스키마 개체입니다.
인덱스는 클러스터링되거나 클러스터되지 않을 수 있습니다. 차이점은 다음과 같습니다.
- 클러스터형 인덱스에서 테이블 레코드는 물리적으로 정렬되고 특정 순서로 저장됩니다. 따라서 테이블에는 단일 클러스터형 인덱스 만있을 수 있습니다. 비 클러스터형 인덱스에있는 동안 레코드의 물리적 순서와 일치하지 않는 논리적 정렬이 발생합니다.
- 클러스터형 인덱스의 리프 노드는 데이터 페이지를 보유하고 비 클러스터형 인덱스는 인덱스 행을 보유합니다.
Q # 3) DBA의 다른 책임은 무엇입니까?
대답: DBA는 모든 관리 작업을 수행하는 데이터베이스 관리자입니다.
관리 작업에는 다음이 포함됩니다.
- 사용자 수준 관리, 즉 사용자 생성, 기존 사용자 제거 또는 사용자 권한 수정.
- 데이터베이스 보안을 유지합니다.
- 데이터베이스 저장소 및 개체를 관리합니다.
- 데이터베이스의 성능을 조정합니다.
- 백업 및 복구 작업을 수행합니다.
Q # 4) 데이터베이스 정규화 란 무엇을 의미하며 왜 중요한가요?
대답: 정규화 기술은 데이터 중복 및 종속성을 방지하기 위해 관계형 데이터베이스를 구성하는 데 사용되는 일련의 규칙입니다. 초기 데이터베이스 개체가 식별되면 정규화는 스키마 개체 간의 관계를 식별하는 데 도움이됩니다.
다른 정규화 형식은 다음과 같습니다.
- 첫 번째 정규형 (1NF)
- 두 번째 정규형 (2NF)
- 세 번째 정규형 (3NF)
- 보이스-코드 정규형 (BCNF)
- 네 번째 정규형 (4NF)
- 다섯 번째 정규형 (5NF)
Q # 5) 물리적 및 논리적 데이터베이스 구조의 다양한 구성 요소를 나열 할 수 있습니까?
답변 : 다음은 다양한 구성 요소 목록입니다.
물리적 구조에는 다음이 포함됩니다.
- 테이블, 뷰, 인덱스 등과 같은 모든 DB 개체를 보유하는 데이터 파일
- 사용자 트랜잭션의 결과로 데이터베이스 변경 기록을 유지하는 리두 로그 파일.
- 데이터베이스 상태 및 물리적 구조를 유지하는 제어 파일.
논리적 구조에는 다음이 포함됩니다.
- 데이터베이스 개체가있는 논리적 저장 장치 인 테이블 스페이스입니다.
- 세그먼트는 논리적 저장 단위 일뿐 테이블 스페이스 내에 있습니다.
- 범위는 다양한 연속 데이터 블록과 범위가 함께 세그먼트를 형성하는 논리 단위입니다.
- 데이터 블록은 데이터베이스에서 가장 작은 논리적 저장 단위입니다.
Q # 6) SYSTEM 테이블 스페이스 란 무엇이며 왜 필요합니까?
대답: 시스템 테이블 스페이스는 데이터베이스 생성시 생성됩니다. 이 테이블 스페이스는 모든 데이터 딕셔너리 테이블을 보유하므로 다양한 데이터베이스 객체를 생성하는 데 사용됩니다. 데이터베이스가 원활하게 작동하려면 시스템 테이블 스페이스가 온라인 상태 여야합니다.
Q # 7) SGA 란 무엇을 의미하며 PGA와 어떻게 다른가요?
대답: SGA는 시스템 전역 영역이 인스턴스 시작 중에 Oracle에서 정의한 메모리 영역임을 의미합니다. 이 영역은 시스템 수준 프로세스에서 공유 할 수 있으므로 공유 전역 영역이라고도합니다.
PGA는 Program Global Area는 프로세스 또는 세션에 특정한 메모리입니다. Oracle 프로세스가 시작될 때 생성되며 각 프로세스에는 전용 PGA가 있습니다.
Q # 8) 데이터베이스의 비밀번호 파일은 무엇이며 데이터 사전 테이블을 사용하여 사용자를 인증 할 수 있는데 왜 필요합니까?
대답: 데이터베이스 사용자는 사용자 이름과 암호를 저장할 때 데이터 사전 테이블을 사용하여 인증 할 수 있습니다. 사용자가 제공 한 암호가 데이터베이스에 저장된 암호와 일치하면 사용자가 로그인 할 수 있습니다. 그러나 이는 데이터베이스가 열려있는 경우에만 발생할 수 있습니다.
데이터베이스가 종료 모드에있는 경우 이러한 테이블에 액세스 할 수 없으므로 데이터베이스 관리자가 데이터베이스에 로그인하고 열 때 암호 파일을 사용합니다.
Q # 9) Oracle에서 사용할 수있는 백업 유형에는 어떤 것이 있습니까?
대답: 더 높은 수준에서 Oracle에서 사용할 수있는 물리적 및 논리적 백업 유형은 두 가지입니다.
물리적 백업 중에 물리적 데이터베이스 파일 (예 : 데이터 파일, 제어 파일, 리두 로그 및 기타 실행 파일)의 복사본이 생성되어 향후 저장됩니다. 이는 운영 체제 유틸리티 또는 RMAN을 사용하여 수행 할 수 있습니다.
반대로 논리적 백업은 Oracle에서 제공하는 Export / Import 유틸리티를 통해 테이블, 뷰, 인덱스, 저장 프로 시저 등과 같은 데이터베이스 개체를 개별적으로 백업 할 수 있습니다.
Q # 10) 핫 백업과 콜드 백업의 의미는 무엇이며 어떻게 다릅니 까?
대답: 핫 백업은 데이터베이스가 실행 모드에있는 동안 데이터베이스 백업을 수행하는 프로세스입니다. 따라서 온라인 백업이라고도합니다. 콜드 백업은 데이터베이스가 종료 모드 일 때만 수행 할 수 있으므로 오프라인 백업이라고도합니다.
24 시간 운영되는 은행 및 거래 웹 사이트와 같은 웹 사이트는 거의 없기 때문에 데이터베이스 다운을 지원할 수 없습니다. 따라서 DBA는 온라인 모드에서만 백업을 수행하면됩니다.
Q # 11) 데이터베이스 복원과 데이터베이스 복구의 차이점은 무엇입니까?
대답: 복원 프로세스 중에 백업 파일이 하드 디스크, 미디어 또는 테이프에서 복원 위치로 복사되고 나중에 데이터베이스가 작동하도록합니다. 복구에는 백업되지 않은 변경 사항을 복구하기 위해 리두 로그를 적용하여 이러한 데이터 파일을 업데이트하는 추가 단계가 있습니다.
시나리오의 도움으로 이것을 이해합시다.
- 금요일 오후 11시에 데이터베이스 전체 백업이 수행됩니다.
- 토요일 오전 7시에 데이터베이스 충돌이 발생했습니다.
복원 인 오후 11시 전체 백업을 사용하여 손실 된 파일을 복원 할 수 있습니다. 그러나 데이터는 토요일 오전 7 시가 아니라 금요일 오후 11 시까 지 복원됩니다. 동일한 작업을 수행하기 위해 데이터베이스를 실패 지점으로 가져 오는 리두 로그를 적용 할 수 있습니다.
Q # 12) Redo Log 파일 미러링으로 무엇을 이해하고 있습니까?
대답: 리두 로그는 데이터 파일로 이동하기 전에 데이터베이스 내의 모든 트랜잭션을 기록하는 데이터베이스 아키텍처의 가장 중요한 구성 요소입니다.
따라서 이러한 파일의 미러링은 파일을 보호하기 위해 수행됩니다. 리두 로그 파일 미러링을 사용하면 리두 로그를 다른 디스크에 동시에 복사 할 수 있습니다. 그리고 이것은 Data Guard 및 기타 유틸리티를 사용하여 달성 할 수 있습니다.
Q # 13) 증분 백업은 차등 백업과 어떻게 다릅니 까?
대답: 증분 백업은 전체 또는 증분 일 수있는 마지막 백업 이후 변경된 데이터 파일 만 백업하는 것으로 알려져 있습니다. 예를 들어, 증분 / 전체 백업은 금요일 오전 10시에 수행되고 다음 백업은 토요일 오전 10시에 수행됩니다. 두 번째 증분 백업에서는 금요일 오전 10시에 트랜잭션이 발생했습니다.
차등 백업은 마지막 전체 백업 중에 변경된 파일을 백업합니다.
금요일 오전 10시에 전체 백업을 수행 한 다음 토요일 오전 10시에 차등 백업을 수행하면 금요일 오전 10시 이후에 변경된 파일의 백업이 수행됩니다. 또한 차등 백업이 일요일 오전 10시에 수행되는 경우 금요일 오전 10시 이후에 변경된 파일의 백업이 수행됩니다.
Q # 14) Flashback Query 란 무엇이며 언제 사용해야합니까?
대답: 오라클은 데이터베이스 객체의 과거 상태를 복구하기 위해 플래시백 기술을 도입했습니다. 커밋 된 우발적 인 변경 사항도 복구 할 수 있습니다. 복구는 UNDO_RETENTION 매개 변수의 지정된 값에 따라 다릅니다.
예를 들어, UNDO_RETENTION 매개 변수는 2 시간으로 설정되며 사용자가 커밋이 수행 된 오전 11시에 실수로 데이터를 삭제 한 경우입니다. 그런 다음 FLASHBACK QUERY를 사용하여 오후 1 시까지만 이러한 행을 검색 할 수 있습니다.
Q # 15) RMAN이 사용자 관리 백업 복구 프로세스보다 더 나은 점은 무엇입니까?
대답: RMAN (Recovery Manager)은 데이터베이스 백업 및 복구 프로세스를 자동화하고 백업 전략도 관리 할 수있는 Oracle 기본 제공 유틸리티입니다. 사용자 관리 백업에서는 사용자가 수동으로 백업을 수행해야합니다.
RMAN은 중앙 저장소의 모든 메타 데이터를 유지하고 동일한 메타 데이터를 신속하게 검색 할 수 있으므로 사용자 관리 백업에 비해 RMAN 백업 시간이 더 짧습니다.
RMAN은 사용자 관리 백업에 의해 수행되는 전체 파일 백업을 수행하는 대신 증분 백업을 수행하므로 시간이 다시 절약됩니다.
RMAN은 재사용 및 예약이 가능하며 수동 개입이 필요하지 않은 백업 및 복구 스크립트를 생성합니다.
RMAN은 백업 프로세스 중에 손상된 데이터 블록을 자동으로 감지하고 복구 할 수 있지만 사용자 관리 백업에서는 발생하지 않습니다.
Q # 16) 복구 카탈로그 란 무엇입니까?
대답: 복구 카탈로그는 RMAN이 복원 및 복구 프로세스에 사용하는 메타 데이터를 보유하는 데이터베이스 스키마입니다.
기본적으로 정보를 저장합니다.
- 데이터 파일 및 백업 파일.
- 아카이브 된 리두 로그 및 백업 세트.
- 저장된 스크립트
- 강생
- 백업 기록
RMAN이 백업을 수행하거나 리두 로그를 전환하거나 데이터 파일을 변경하면 카탈로그가 업데이트됩니다.
Q # 17) 분실 된 제어 파일은 어떻게 복구합니까?
대답: 제어 파일 중 하나가 손실되거나 손상되면 OS 수준에서 유지 관리되는 제어 파일의 다른 복사본을 사용할 수 있습니다. 제어 파일의 모든 복사본이 손실되거나 사용자가 손실 된 제어 파일의 복사본을 하나만 유지하는 경우 사용자는 다음을 수행 할 수 있습니다.
- 제어 파일을 수동으로 생성합니다.
- 아래 명령을 사용하여 백업 제어 파일에서 복원하십시오.
ALTER DATABASE BACKUP CONTROL FILE TO TRACE;
- 아래 명령을 사용하여 RMAN 백업을 사용하여 복원하십시오.
setdbid XX; restorecontrolfile;
Q # 18) 미디어 복구와 크래시 복구의 차이점은 무엇입니까?
대답: 미디어 복구는 디스크 오류가 발생할 때마다 백업에서 데이터베이스를 복구하는 프로세스입니다. 데이터 파일, 제어 파일 또는 서버 매개 변수 파일과 같은 실제 파일은 매체 복구 중에 복구됩니다. 그러나 데이터베이스 인스턴스 실패가 발생할 때마다 응급 복구가 수행됩니다.
미디어 복구는 DBA가 수행해야하는 반면 응급 복구는 SMON 백그라운드 프로세스를 처리하는 자동화 된 프로세스입니다.
Q # 19) RAC 란 무엇이며 RAC 아키텍처 사용의 다양한 이점은 무엇입니까?
대답: RAC 또는 Real Application Cluster를 사용하면 클러스터를 형성하고 동시에 스토리지 구조를 공유하는 여러 서버에 데이터베이스를 설치할 수 있습니다. 이렇게하면 하나 또는 다른 인스턴스가 다른 인스턴스가 실패하더라도 항상 작동하므로 데이터베이스가 단일 실패 지점에서 발생하는 것을 방지합니다.
RAC를 사용하면
- 시스템의 고 가용성 유지.
- 최소한의 비용으로 워크로드를 관리합니다.
- 확장 성 및 민첩성.
Q # 20) 클러스터와 그리드를 어떻게 구분 하시겠습니까?
대답: 클러스터링은 그리드 인프라의 필수적인 부분이며 특정 목표에 중점을 둡니다.
여러 클러스터로 구성되거나 구성되지 않을 수있는 그리드는 서로 다른 지리적 위치에 걸쳐 스토리지 시스템, 데이터 리소스 및 기타 나머지를 공유 할 수있는 더 넓은 프레임 워크를 보유합니다.
클러스터는 단일 소유권을 갖지만 그리드는 보유하고있는 클러스터 수에 따라 여러 소유권을 가질 수 있습니다.
Q # 21) Cache Fusion에서 무엇을 이해하고 있습니까?
대답: 캐시 융합은 클러스터 내에서 매우 빠른 속도로 한 인스턴스 버퍼 캐시에서 다른 인스턴스 버퍼 캐시로 데이터를 전송하는 프로세스입니다. 느린 프로세스 인 물리적 디스크에서 데이터를 가져 오는 대신 캐시에서 데이터 블록에 액세스 할 수 있습니다.
예를 들어, 인스턴스 A는 인스턴스 B가 소유 한 데이터 블록에 액세스하려고합니다. 인스턴스 B에 액세스 요청을 보내므로 다른 인스턴스 B의 버퍼 캐시를 사용하여 동일한 데이터 블록에 액세스 할 수 있습니다.
Q # 22) 단일 인스턴스 환경을 RAC 환경으로 어떻게 변환 할 수 있으며 어떻게 다릅니 까?
대답: 다음 방법 중 하나를 사용하여 단일 인스턴스를 RAC로 변환 할 수 있습니다.
- 엔터프라이즈 관리자
- DBCA 즉, 데이터베이스 구성 도우미
- RCONFIG 유틸리티
단일 인스턴스 환경 대 RAC 환경
매개 변수 | 단일 인스턴스 환경 | RAC 환경 |
---|---|---|
예 | 예 | 배수 |
기억 | 인스턴스에는 전용 SGA가 있습니다. | 모든 인스턴스에는 별도의 SGA가 있습니다. |
액세스 실제 파일 | 하나의 인스턴스 만 데이터 파일에 액세스합니다. 및 제어 파일. | 데이터 파일 및 제어 파일은 모든 인스턴스. |
플래시 복구 로그 | 단일 인스턴스에서 액세스합니다. | 여러 인스턴스에서 공유합니다. |
리두 로그 | 단일 인스턴스 전용입니다. | 한 번에 하나의 인스턴스 만 쓸 수 있지만 다른 인스턴스는 복구 중에 데이터를 읽을 수 있습니다. 보관 프로세스. |
Q # 23) 데이터베이스의 공간 할당을 어떻게 모니터링 할 수 있습니까?
대답: 아래 데이터 사전 테이블을 사용하여 공간 할당을 모니터링 할 수 있습니다.
- DBA_FREE_SPACE
- DBA_SEGMENTS
- DBA_DATA_FILES
Q # 24)“DB 성능 튜닝”을 통해 무엇을 이해하고 있으며 튜닝을 수행 할 수있는 영역은 무엇입니까?
대답: 사용 가능한 리소스를 최적으로 사용하여 데이터베이스 성능을 향상시키는 프로세스입니다.
아래 영역을 조정하여 성능을 향상시킬 수 있습니다.
- 데이터베이스 디자인.
- 메모리 할당.
- 디스크 I / OS.
- 데이터베이스 경합.
- OS 수준 (CPU).
Q # 25) Oracle에서 성능 모니터링을 지원하기 위해 제공하는 다양한 도구는 무엇입니까?
대답: 다양한 도구는 다음과 같습니다.
- AWR (Automatic Workload Repository)
- ADDM (Automated Database Diagnostics Monitor)
- TKPROF
- STATSPACK
- OEM (Oracle 엔터프라이즈 관리자 )
Q # 26) 데이터베이스를 최적화하는 데 사용되는 다른 최적화 프로그램은 무엇입니까?
대답: 최적화 프로그램에는 두 가지 유형이 있습니다.
- 규칙 기반 최적화 도구 (RBO) : 참조 된 객체가 내부 통계를 유지하지 않는 경우 RBO가 사용됩니다.
- 비용 기반 최적화 도구 (CBO) : 참조 된 개체가 내부 통계를 유지하는 경우 CBO는 가능한 모든 실행 계획을 확인하고 비용이 가장 낮은 계획을 선택합니다.
Q # 27) Explain 플랜이란 무엇이며 SQL 쿼리 최적화에 어떤 도움이됩니까?
대답: 계획 설명은 SELECT, INSERT, UPDATE 및 DELETE 문에 대해 Oracle 최적화 프로그램에서 선택한 실행 계획을 표시하는 문입니다. 이 계획을 살펴보면 올바른 인덱스, 적절한 조인 및 정렬 작업 등의 Oracle 선택을 파악할 수 있습니다.
Q # 28) 다른 데이터베이스 개체의 통계를 어떻게 수집 할 수 있습니까?
대답: ANALYZE 문은 테이블, 인덱스, 파티션, 클러스터 또는 개체 참조와 같은 다양한 데이터베이스 개체의 통계를 수집하는 데 사용할 수 있습니다. 이 문을 사용하여 테이블 또는 클러스터 내에서 마이그레이션 된 행과 연결된 행을 식별 할 수도 있습니다.
Q # 29) 인덱스를 재 구축해야하는 이유는 무엇입니까?
대답: 응용 프로그램의 성능을 향상 시키려면 인덱스를 다시 작성해야합니다. 다양한 INSERT 및 DELETE 작업으로 인해 인덱스가 조각화되고 구조화되지 않아 응용 프로그램이 느려집니다. 이러한 인덱스 내에서 데이터를 재구성하기 위해 재 빌드가 수행됩니다.
Q # 30) TKPROF는 무엇이며 어떻게 사용할 수 있습니까?
최고의 유튜브 비디오 다운로더는 무엇입니까
대답: TKPROF는 SQL 추적 파일을 읽을 수있는 형식으로 변환 할 수있는 Oracle에서 제공하는 튜닝 유틸리티입니다.
SQL Trace Utility를 사용하여 추적 파일이 생성되면 추적 파일에 대해 TKPROF 도구를 실행하고 출력을 읽을 수 있습니다. 또한 SQL 문에 대한 실행 계획을 생성 할 수도 있습니다. TKPROF 용 실행 파일은 ORACLE HOME / bin 디렉토리에 있습니다.
Q # 31) 데이터베이스 성능을 최적화하기 위해 SQL 쿼리를 어떻게 조정할 수 있습니까?
대답: 다음은 SQL 쿼리 작성을위한 몇 가지 모범 사례입니다.
- SELECT 문에서 * 대신 열 이름을 제공해야합니다.
- 하위 쿼리 대신 조인을 사용해야합니다.
- IN 대신 EXISTS를 사용하여 데이터의 존재를 확인해야합니다.
- UNION 대신 UNION ALL을 사용해야합니다.
- HAVING은 SQL 쿼리에서 결과 행을 필터링하는 데만 사용해야합니다.
Q # 32) 조정이 필요한 SHARED_POOL_SIZE 매개 변수를 어떻게 식별합니까?
대답: 다음은 동일한 표시입니다.
- ORA-04031 오류가 발생합니다.
- 다른 모든 매개 변수가 이미 최적화 된 경우에도 성능이 저하됩니다.
- 라이브러리 캐시 / 데이터 사전 적중이 잘못되었습니다.
Q # 33) Row Chaining은 무엇을 이해합니까?
대답: 행이 너무 커서 블록에 들어갈 수없는 경우 결과 블록을 사용하여 행 체인의 개념으로 이어집니다. 스토리지 매개 변수를 적절한 값으로 업데이트하면이를 방지 할 수 있습니다.
Q # 34) 테이블 파티셔닝이란 무엇이며 왜 필요한가요?
대답: 데이터를 쉽고 빠르게 검색 할 수 있도록 테이블을 더 작은 청크로 분할하는 프로세스입니다. 각 부분은 파티션으로 알려져 있으며 별도로 액세스 할 수 있습니다. 테이블과 별도로 인덱스를 분할 할 수도 있습니다.
Q # 35) 세션이 대기중인 리소스를 어떻게 식별 할 수 있습니까?
대답: v $ session_waits 및 v $ system _waits를 사용하여 확인할 수 있습니다.
결론
위의 질문을 통해 Oracle의 고급 개념 중 일부를 잘 이해 하셨기를 바랍니다.
인터뷰에 참석하기 전에 이러한 질문을 검토하면 성공이 귀하의 것입니다.
=> Oracle 인터뷰 질문을 다루는 시리즈를 보려면 여기를 클릭하십시오.
다음 파트 3 읽기: Oracle Forms and Reports 인터뷰 질문
최선을 다하십시오 !!!