본문 바로가기

oracle11R2/Workshop I

05장. Configuring the Oracle Network Environment

Oracle Database 11g:Ch.05 Configuring the Oracle Network.pptx

 

5. ASM 인스턴스 관리

 

학습 목표

 

이번 장을 완료하면 다음과 같은 작업을 수행 할 수 있다.

l ASM 사용의 장점을 설명한다.

l ASM 인스턴스를 관리한다.

l ASM 디스크 그룹을 생성 및 삭제한다.

l ASM 디스크 그룹을 확장한다.

l 다양한 유틸리티를 이용하여 ASM 메타 데이터를 검색한다.

 

ASM을 사용함으로서 관리자가 얻을 수 있는 장점

ASM ASM 저장소를 사용하지 않는 환경에서 수행해야 하는 대부분의 작업들을 더 이상 수행할 필요가 없다.

l I/O 성능 튜닝 : 자동 리밸런싱(rebalancing) 작업이 수반되는 ASM의 스트라이핑 및 미러링 정책은 I/O 성능 튜닝의 목표가

디스크 이용률을 어떻게 배분해야 하는가의 문제로 집중되므로, 디스크의 항스팟을 별도로 제거하는 작업을 수행해야 할 필요가 없다.

l 데이터 파일 이동 및 재구성 : 성능 및 공간 제약을 만족시키도록 데이터 파일의 위치를 변경하는 작업이 불필요하다.

l 파일 이름 관리 : 더 이상 파일 이름 명명 정책을 정의하고 강제 할 필요가 없다.

l 논리적 볼륨, 파일 시스템, 클러스터 파일 시스템, (RAW)-디바이스 관리 : 더 이상 이러한 저장 구조를 필요로 하지 않는다.

 

ASM은 이러한 중요 영역에서 수행해야 할 노력을 경감시키기 때문에 많은 장점을 제공한다.

l ASM은 일반적으로 적은 개수의 대용량 LUN을 필요로 하기 때문에 LUN(Logical Unit Number)의 관리 부담이 감소한다.

l 데이터베이스 관리자와 시스템 관리자 사이에서 자주 발생하는 의존성이 확연히 감소한다. 예를 들어, 새로운 데이터 파일을 추가하거나

하나의 디스크 그룹에서 다른 그룹으로 디스크 자원을 이동 할 때, 시스템 관리자의 개입이 불필요하다.

l 직접적인 유지 관리 작업에서 발생 할 수 있는 오류가 확연히 감소한다. 예를 들어, 고정적인 파일 시스템을 사용하는 경우, 새롭게 생성된

데이터 파일은 파일 명명 규칙을 위반 할 수 있으므로 데이터베이스 백업에서 제외 될 수 있다.

  

ASM 인스턴스

 

 

그림 5-1

ASM 또는 데이터베이스가 매번 실행 될 때마다, SGA라고 부르는 공유 메모리 영역이 할당되고, 오라클 ASM 또는 데이터베이스 백그라운드

프로세스들이 기동된다. 백그라운드 프로세스들과 SGA의 조합을 오라클 ASM 인스턴스 또는 오라클 데이터베이스 인스턴스라고 부르기도 한다.

인스턴스는 ASM 환경을 운용하는 CPU RAM 구성요소로 표현된다.

ASM 인스턴스 내의 SGA는 데이터베이스 인스턴스 내의 SGA와 메모리 할당 및 이용방식이 다르다. ASM 인스턴스 내의 SGA는 다음과 같이 4개의 주요 영역으로 구성된다.

l Shared Pool : 메타 데이터 정보를 위한 사용

l Large Pool : 병렬 작업을 위한 사용

l ASM Cache : 리밸런스 작업이 진행되는동안 블록 인기 및 쓰기에 사용

l Free Memory : 사용 가능한 비할당 메모리

 

ASM 인스턴스의 최소 권장 메모리는 256MB이다. ASM 인스턴스에서는 자동 메모리 관리가 디폴트로 활성화 되고, 개별 SGA 메모리 구성요소들의

크기가 동적으로 튜닝된다. ASM 인스턴스에 필요한 메모리의 크기는 ASM에 의한 관리되는 디스크 공간의 크기에 따라 달라진다.

ASM 인스턴스의 두 번째 부분은 백그라운드 프로세스이다. ASM 인스턴스는 많은 백그라운드 프로세스를 갇지만, 모든 프로세스가 항상 동작하는 것은 아니다.

ASM 기능에 특화된 백그라운드 프로세스는 다음 부분에서 다룬다. 여기에는 필수 백그라운드 프로세스와 옵션 백그라운드 프로세스가 존재한다.

다음은 이 프로세스의 일부다.   

 

l ARCn : archiver processes

l CKPT : checkpoint process

l DBWn : database writer processes

l DIAG : diagnosability process

l Jnnn : job queue processes

l LGWR : log writer process

l PMON : process monitor process

l PSP0 : process spawner process

l QMNn : queue monitor processes

l RECO : recoverer process

l SMON : system monitor process

l VKTM : virtual keeper of time process

l MMAN : memory manager process

 

위 프로세스들이 전체 프로세스 목록은 아니다. ASM 인스턴스의 경우, 이 프로세스들은 데이터베이스 인스턴스에서 수행하던 작업과 동일한 작업을 수행하지는

않는다. 예를 들어, 데이터베이스 인스턴스의 LGWR 프로세스는 SGA의 로그 버퍼 영역내의 변경 벡터를 디스크 상의 온라일 리두 로그에 복사하는 역할을 수행한다.

ASM 인스턴스는 SGA 내부에 로그 버퍼를 포함하지도 않을 뿐더러 온라일 리두 로그를 사용하지도 않는다. ASM 인스턴스 내의 LGWR 프로세스는 로깅 정보를

ASM 디스크 그룹에 복사한다.

만약, ASM이 클러스터화 되어 있으면 클러스터 관리와 관련된 추가 프로세스들이 ASM 인스턴스에서 실행된다. 이러한 프로세스들의 일부는 다음과 같다.

l LMON : global enqueue service monitor process

l LMDn : global enqueue service daemons

l LMSn : global cache service processes

l LCKn : lock processes

  

ASM 구성요소 : ASM 인스턴스 – 주요 프로세스들

 

 

그림 5-2

ASM 인스턴스는 많은 기능을 수행하기 위한 전용 백그라운드 프로세스를 사용한다. RBAL 프로세스는 ASM 인스턴스 내의 디스크 그룹들의 리밸런싱 작업을 조정한다.

이 프로세스는 ASM 디스크들을 전역적으로 오픈한다. ARBn 프로세스들은 ASM 인스턴스 내에서 리밸런스 작업일 실제 데이터 익스텐트 이동을 수행한다. 이 프로세스들은

한 번에 여러 개가 기동 될 수 있으며, 각각 ARB0, ARB1 등으로 명명된다. GMON 프로세스는 ASM 디스크 그룹들의 디스크 멤버쉽을 유지 관리한다. MARK 프로세스는 오프라인

디스크에 대하여 쓰기 실패가 발생한 경우 ASM 할당 단위를 오래된 것(stale)으로 표시한다. Onnn 프로세스는 클라이언트/서버 접속의 서버 측을 나타낸다. 이 프로세스들은

인스턴스가 기동 될 때 등장하며, 이 후에는 사라진이다. 이 프로세스들은 메시지 교환을 위한 ASM 인스턴스로의 커넥션 풀을 형성하며 필요 할 때만 등장한다. PZ9n 프로세스들은

ASM이 하나 이상의 머신에서 클러스터 구조로 실행 중일 때 데이터 일출에 사용되는 하나 이상의 병렬 슬레이브 프로세스들을 나타낸다.   

ASM 인스턴스 초기화 파라미터

 

 

그림 5-3

ASM 인스턴스는 일반 데이터베이스 인스턴스와 동일한 방식으로 파라미터 파일에 의해 제어된다. 일반적으로 설정하는 파라미터들은 다음과 같다.

l INSTANCE_TYPE ASM 인스턴스의 경우, 반드시 ASM으로 설정하여야 한다. 이 파라미터가 유일한 필수 파라미터이다. 데이터베이스 인스턴스의 경우, RDBMS로 설정하여야 한다.

l ASM_POWER_LIMIT는 리밸런싱 작업의 속도를 제어한다. 1에서 11까지 지정 가능하며 11이 가장 빠르다. 생략하면 디폴트 값은 1이다.

l ASM_DISKSTRING은 검색 대상이 되는 디스크 집합들을 제한하기 위한 ASM에 의해 사용되는 운영 체제 의존 값이다. 디폴트 값은 NULL이며, 대부분의 경우 이 설정으로 충분하다.

위에서 보여준 제한된 값은 ASM이 검색을 수행하는데 필요로 하는 시간을 감소시켜 줄 수 있으므로 디스크 그룹 마운트 시간을 향상 시킬 수 있다.

l ASM_DISKGROUPS ASM 인스턴스를 기동하거나 ALTER DISKGROUP ALL MOUNT 명령을 사용하는 경우에 마운트 될 디스크 그룹의 목록이다. Oracle Restart ASM_DISKGROUPS

파라미터에 디스크 그룹이 지정되어 있지 않더라도, 할당 디스크 그룹이 다른 구성요소와 의존성을 가지고 있으면 마운트 할 수 있다. 이 파라미터는 디폴트 값이 존재하지 않는다.

l ASM_PREFERRED_READ_FAILURE_GROUPS는 선호 인기 디스크를 포함하는 실패 그룹을 지정한다. 이것은 확장된 클러스터 데이터베이스가 여러 벌의 미러링 된 복사본을 가지고 있으며,

그 중 하나의 복사본이 서버에 근접해 있을 경우, 유용하다.

l DIAGNOSTIC_DEST ADR(Automatic Diagnostic Repository) 홈의 위치를 지정한다. 트레이스 파일, 경보 로그, 코어 파일, 장애 파일을 이 디렉터리에서 찾을 수 있다. 이 파라미터의

디폴트 값은 ORACLE_BASE 값으로부터 결정된다.

l LARGE_POOL_SIZE large pool 할당 힙의 크기를 바이트로 지정한다. large pool 할당 힙은 공유 서버 시스템에서 세션 메모리, 메시지 버퍼를 위한 병렬 실행, 디스크 I/O

  

 

퍼를 위한 백업 프로세스에 의해 사용된다. ASM 인스턴스는 자동 메모리 관리를 사용하며, 이 파라미터는 large pool이 축소 될 수 있는 최소 크기로서 사용된다.

l REMOTE_LOGIN_PASSWORDFILE은 오라클 소프트웨어가 패스워드 파일을 확인 할 것인지를 지정한다. 디폴트 값은 EXCLUSIVE이다.

 

위의 8개 파라미터는 ASM 인스턴스를 위한 생성한 디폴트 파라미터가 아닌 파라미터를 나열한 것이다. ASM 인스턴스는 모든 데이터베이스 파라미터가 ASM 인스턴스에 유효하지 않다는

점에서 차이가 있다. 344개의 전체 데이터베이스 인스턴스 파라미터 중에서 약 74개가 ASM 인스턴스에 의해서 사용 될 수 있다. 위 그림에서 나열되지 않은 파라미터들은 필요에 따라

지정 될 수 있지만, 대부분의 경우 디폴트 값으로 충분하다.

참고 : 자동 메모리 관리는 MEMORY_TARGET 파라미터를 명시적으로 설정하지 않더라도 ASM 인스턴스에서 디폴트로 활성화된다. 이 파라미터가 완전한 ASM 메모리 관리 설정에 필요한

유일한 파라미터이다. 오라클은 ASM에 대하여 자동 메모리 관리를 사용하도록 권장한다.

 

데이터베이스 인스턴스와 ASM 간의 상호 작용

 

 

그림 5-4

파일 생성 과정은 데이터베이스 인스턴스와 ASM 간에 발생하는 상호 작용을 명확히 설명해준다. 파일 생성 과정은 다음 순서대로 발생한다.

1. 데이터베이스가 파일 생성을 요청한다.

2. ASM 포그라운드 프로세스가 COD(Continuing Operation Directory) 엔트리를 생성하고

  

디스크 그룹에 새로운 파일을 위한 공간을 할당한다.

3. ASMB 데이터베이스 프로세스가 새로운 파일을 위한 익스텐트 맵을 수신한다.

4. 할당 파일이 오픈되고 데이터베이스 프로세스는 직접 파일을 초기화한다.

5. 초기화 후, 데이터베이스 프로세스는 할당 파일의 생성이 완료되었음을 나타내는 커밋을 요청한다. 그 결과, ASM 포그라운드 프로세스는 COD 엔트리를 비우고, 할당 파일이 생성되었음을 표시한다.

6. 할당 파일의 커밋 인정은 암묵적으로 할당 파일을 닫는다. 데이터베이스는 인스턴스는 다음번 I/O를 위한 할당 파일을 다시 오픈 할 필요가 있다.

 

이 예제는 ASM 아키텍처의 중요한 2가지 포인트를 강조한다.

l 데이터베이스 인스턴스와 ASM 인스턴스는 서로 협조하여 동작한다. 데이터베이스 인스턴스는 데이터베이스 파일들을 ASM 익스텐트에 맵핑하기 위한 ASM과 상호 협조하여야 한다.

또한, 데이터베이스 인스턴스는 ASM 익스텐트의 잠금 또는 이동이 발생 할 수도 있는 ASM 작업(예를 들어, 디스크 그룹 리밸런싱)과 관련하여 메시지의 고정 스트림을 수신하기도 한다.

l 데이터베이스 I/O ASM 인스턴스를 경유하여 발생하지 않는다. 사실, 그림의 4단계에서 설명한 것처럼 데이터베이스는 ASM 파일에 대하여 직접 I/O 작업을 수행한다.

 

ASM 인스턴스 : 동적 성능 뷰

 

 

그림 5-5

인스턴스의 주요 기능 중 하나는 메모리 기반 메타 데이터 테이블의 저장 장소이다. 이 테이블들은 접두사 X$로 시작하며 일반적으로 문서화되어 있지 않다. 접두사 V$로 시작하는 일련의

동적 성능 뷰들은 X$ 메모리 테이블에 포함된 데이터를 커스터마이징하여 표현하기 위해 사용된다. 할당 정보는 관리자 권한을 가진 사용자들에게만 읽기 전용으로 제공된다. 해당 정보는

SQL 언어를 이용하여 ASM으로부터 잃혀진다. 위 그림은 ASM 관련 메타 데이터를 포함하는 가장 일반적인 동적 성능 뷰를 보여준다. 여기에는 수 백개의 추가 동적 성능 뷰가 있지만,

대부분의 뷰는 비어 있는데 그 이유는 데이터베이스 인스턴스가 데이터베이스 컨트롤 파일을 마운트해야하기 때문이다. ASM 인스턴스는 데이터베이스 컨트롤 파일들을 마운트하지 않는다  

 

ASM 시스템 권한

 

 

그림 5-6

ASM 인스턴스는 데이터 딕셔너리를 갖지 않으므로 ASM 인스턴스에 접속하는 유일한 방법은 SYSASM, SYSDBA, SYSOPER 3가지 시스템 권한 중 하나를 사용하는 것이다. 다음은 ASM

시스템 권한에 대한 설명이다.

l SYSASM : 이 권한은 ASM 인스턴스에 대한 전체 관리 권한을 제공한다.

l SYSDBA : 이 권한은 ASM에 저장된 데이터에 액세스 할 수 있으며, 현재 버전에서는 SYSASM 관리 권한이 부여되어 있다.

l SYSOPER : 이 권한은 ALTER DISKGROUP 명령과 같은 비파괴적인 명령을 수행하거나 ASM 인스턴스를 시작 및 종료 할 수 있다. 그러나, CREATE DISKGROUP과 같은 명령은 사용 할 수 없다.

 

ASM이 설치되면, 운영 체제 그룹들이 SYSASM, SYSDBA, SYSOPER 권한을 일증하는데 사용된다. 이 그룹들은 OUI에 의해서 각각 OSASM, OSDBA, OSOPER로 참조되며, OSASM 그룹은

SYSASM 권한이 부여된 운영체제 그룹이다. OSASM, OSDBA, OSOPER 그룹에 대한 권장 이름은 각각 asmadmin, asmdba, asmoper이다. 그러므로, 데이터베이스에서 SYSASM이 사용되며,

OSASM OUI 유틸리티에서 사용되고, asmadmin은 운영 체제에 의해서 사용된다. 모든 그룹들은 동일한 그룹의 사용자들을 나타낸다. ASM 인스턴스가 최초로 생성되면, sys asmsnmp

정의된 유일한 ASM 사용자들이다.

 

ASM 사용자 관리를 위해 EM 사용

 

 

그림 5-7

EM은 원격 접속(패스워드 파일 일증 사용)을 통하여 ASM 인스턴스에 접근하는 사용자들을 관리 할 수 있도록 해준다. 이 사용자들은 ASM 인스턴스를 위한 독점적으로 예약되어 있다.

이 기능은 SYSASM 사용자로 접속할 경우에만 사용 할 수 있다. 만약, SYSDBA 또는 SYSOPER 사용자로 접속하면 이 기능은 보이지 않는다.

l Create 버튼을 클릭하면, Create User 페이지가 표시된다.

l Edit 버튼을 클릭하면, Edit User 페이지가 표시된다.

l Delete 버튼을 클릭하면, 생성된 사용자를 삭제 할 수 있다.

 

참고 : SYSASM 롤을 이용하여 ASM에 로그인하려면 페이지 최상단의 Preferences 링크를 클릭하고 Preferred Credentials 링크를 선택한다. 대상 유형의 목록에서 ASM을 확인 할 수 있다.

SYSASM 권한을 부여할 계정과 암호를 정의하기 위한 ASM 대상 유형 옆의 Set Credentials를 클릭한다. 데이터베이스 컨트롤을 로그아웃 해야 할 수도 있으며 변경 사항이 반영되기 전에

로그일 할 수도 있다  

 

SQL*Plus를 사용하여 ASM 인스턴스 기동 및 종료

 

 

그림 5-8

SQL*Plus에서 오라클 데이터베이스 인스턴스를 기동하는 것과 유사하게 STARTUP 명령을 사용하여 ASM 인스턴스를 시작한다. ASM 인스턴스가 시작되면 다음 사항을 주의하여야 한다.

l SQL*Plus ASM 인스턴스에 접속하려면 ORACLE_SID 환경 변수를 ASM SID로 설정하여야 한다. 단일 인스턴스 데이터베이스의 경우, 디폴트 ASM SID +ASM이며, Oracle RAC

노드의 경우, ASM의 디폴트 SID +ASMnode_number이다. 여기서, node_number는 노드의 번호이다. oraenv 스크립트는 ORACLE_BASE, ORACLE_SID, ORACLE_HOME, PATH 변수를 설정한다.

l 초기화 파라미터 파일은 다음 엔트리를 포함하고 있어야 한다.

 

INSTANCE_TYPE = ASM

이 파라미터는 시작하려는 것이 데이터베이스 인스턴스가 아닌 ASM 인스턴스라는 것을 지정한다.

l 데이터베이스를 마운트 및 오픈하는 대신 STARTUP 명령을 실행하면, 이 명령은 초기화 파라미터 ASM_DISKGROUPS에 지정된 디스크 그룹을 마운트하려고 시도한다. 만약, ASM_DISGROUPS

값을 입력하지 않았다면, ALTER DISKGROUP MOUNT 명령으로 디스크 그룹을 나중에 마운트 할 수 있다.

 

다음은 ASM과 관련된 STARTUP 명령 파라미터를 설명한 것이다.

l FORCE : ASM 인스턴스에 대하여 SHUTDOWN ABORT를 실행하고, ASM 인스턴스를 재시작한다.

l MOUNT 또는 OPEN : ASM_DISKGROUPS에 지정된 디스크 그룹을 마운트한다. 만약 어떠한 파라미터도 지정되지 않으면 이 값이 디폴트이다.

  

l NOMOUNT : 디스크 그룹을 마운트하지 않고 ASM 인스턴스를 시작한다.

l RESTRICT : 인스턴스를 제한된 모드로 기동한다. RESTRICT 구문은 MOUNT, NOMOUNT, OPEN 구문과 조합하여 사용 될 수 있다. 제한된 모드에서 데이터베이스 인스턴스는 디스크 그룹을

사용 할 수 없다. , 데이터베이스는 디스크 그룹에서 파일을 오픈 할 수 없다. 또한, 디스크 그룹이 인스턴스에 의해 제한된 모드로 마운트되었다면, 클러스터 내의 어떠한 인스턴스에 의해서도

할당 디스크 그룹은 마운트 될 수 없다. 제한된 모드는 클라이언트의 간섭 없이 디스크 그룹에 유지 관리 작업을 수행 할 수 있도록 해준다. 디스크 그룹이 제한된 모드에 있는 동안 발생하는

리밸런싱 작업은 클러스터 환경 내의 ASM 인스턴스들 간에 발생하는 잠금 및 해제 익스텐트 맵 메시지를 제거한다. 그 결과 전체 리밸런싱 처리량은 향상된다. 유지 관리 작업이 종료되는

시점에서 디스크 그룹을 명시적으로 마운트 해제하고 정상 모드로 다시 마운트해주어야 한다.

 

ASM 종료 과정은 SQL*Plus에서 SHUTDOWN 명령을 실행하면 시작된다. 이 명령을 실행하기 전에 ASM 인스턴스에 접속 할 수 있도록 ORACLE_SID ORACLE_HOME 환경 변수를 확인하여야 한다.

오라클은 ASM 인스턴스를 종료하기 전에 ASM 인스턴스를 사용하는 모든 데이터베이스 인스턴스를 종료하도록 권장한다.

ASM과 관련된 SHUTDOWN 명령 파라미터에 대한 설명은 다음과 같다.

l NORMAL : ASM은 디스크 그룹을 마운트 해제하고 ASM 인스턴스를 종료하기 전에 현재 진행 중일 모든 SQL이 완료될 때까지 대기한다. 인스턴스가 종료되기 전에 ASM은 현재 접속된 모든

사용자가 인스턴스로부터 접속을 해제 할 때까지 대기한다. 만약, 데이터베이스 인스턴스가 ASM 인스턴스에 접속되어 있을 때, SHUTDOWN 명령을 실행하면 오류가 리턴되며 ASM 인스턴스는

실행 중일 상태로 남아 있게 된다. NORMAL 디폴트 종료 모드이다.

l IMMEDIATE 또는 TRANSACTIONAL : 모든 디스크 그룹의 마운트를 해제하고 ASM 인스턴스를 종료하기 전에 현재 진행 중일 SQL이 완료 될 때까지 대기한다. ASM은 현재 인스턴스에 접속한

사용자가 접속을 해제 할 때까지 대기하지 않는다. 만약, 데이터베이스 인스턴스가 ASM 인스턴스에 접속되어 있을 때, SHUTDOWN 명령을 실행하면 오류가 리턴되며 ASM 인스턴스는 실행 중일

상태로 남아 있게 된다.

l ABORT : ASM 인스턴스가 디스크 그룹을 마운트 해제하지 않고 종료된다. 그 결과, 다음번 ASM 기동시에 복구 작업이 발생하게 된다. 데이터베이스 인스턴스가 ASM 인스턴스에 접속되어 있다면,

데이터베이스 인스턴스는 비정상 종료(abort)된다.

  

참고 : NORMAL, IMMEDIATE, TRANSACTIONAL 형식은 접속된 RDBMS 인스턴스가 존재하는 경우에 사용 할 수 없다. 다음과 같은 오류가 발생한다

ORA-15097 : cannot SHUTDOWN ASM instance with connect RDBMS instance

 

svrctl을 사용하여 ASM 인스턴스 시작 및 종료

 

 

그림 5-9

서버 컨트롤 유틸리티(srvctl) Grid Infrastructure에 의해 관리되는 다른 자원들과 함께 ASM 인스턴스를 시작 및 종료 할 수 있다. srvctl 유틸리티는 Grid Infrastructure를 위한 ORACLE_HOME/ bin

데이터베이스 설치에 따른 ORACLE_HOME/bin 모두에 저장되어 있다. ASM, 리스너, Oracle Restart를 관리 할 때는 Grid Infrastructure ORACLE_HOME에 저장되어 있는 srvctl 유틸리티를 사용하여야

한다. srvctl 유틸리티는 다음과 같은 방식으로 ASM을 제어하는데 사용 될 수 있다.

l ASM 인스턴스를 시작

 

srvctl start asm [-o <start_option>]

<start_option>은 유효한 인스턴스 기동 옵션(FORCE, MOUNT, OPEN, NOMOUNT, RESTRICT) 중의 하나이다(옵션).

l ASM 인스턴스 종료

 

srvctl stop asm [-o <stop_option>] –f

<stop_option>은 유효한 인스턴스 종료 옵션(NORMAL, IMMEDIATE, TRANSACTIONAL, ABORT) 중의 하나이며(옵션), -f FORCE이다.

l ASM 인스턴스의 상태 보고

 

srvctl status asm   

asmcmd를 이용하여 ASM 인스턴스 시작 및 종료

 

 

그림 5-10

관리자를 위한 ASM 메타데이터는 ASM 인스턴스 내에 포함된 동적 성능 뷰에서 발견 될 수 있다. 이러한 뷰들은 SQL 언어를 이용하여 ASM 유틸리티에 의해 보통 액세스된다. 그러므로, SQL 언어를 모르는

경우 ASM을 관리하기가 어려워진다. 그러나, 시스템 관리자 또는 저장소 관리자 역할을 수행하기 위한 굳이 SQL 언어를 학습 할 필요는 없다. asmcmd 유틸리티는 일반적인 ASM 관리 작업을 위한 UNIX

형식의 구문을 사용하여 가상 쉘과 같은 환경을 제공한다. asmcmd 유틸리티는 오라클 ASM 인스턴스, 디스크 그룹, 디스크 그룹에 대한 파일 접근 제어, 디스크 그룹 내의 파일과 디렉터리, 디스크 그룹

템플릿, 볼륨들을 관리하는데 사용될 수 있다.

ASM 인스턴스를 시작 및 종료하기 위한 asmcmd 유틸리티를 사용 할 수 있다. 지원되는 시작 옵션은 다음과 같다.

-- nomount (디스크 그룹을 마운트하지 않고 ASM 인스턴스를 시작)

-- restrict (ASM 인스턴스를 시작하고 데이터베이스 사용을 제한)

-- pfile <pfile.ora> (사용자 pfile ASM 인스턴스 시작)

지원 되는 종료 옵션은 다음과 같다.

-- immediate (즉시 종료를 수행)

-- abort (모든 기존 작업을 취소  

 

디스크 그룹 개요

 

 

그림 5-11

디스크 그룹은 ASM이 관리하는 하나 이상의 디스크들의 논리적 그룹이다. 각 디스크 그룹은 자신과 관련된 메타 데이터를 포함하고 있다. 개념적으로 ASM 디스크 그룹을 일반적인 SAN(Storage Area Network)

내의 논리적 볼륨과 유사하다고 생각 할 수 있다.

파일들은 디스크 그룹 내의 빈 공간에 할당된다. 디스크 그룹 내에 저장된 파일의 내용은 디스크 그룹 내의 디스크들에 균등하게 분산 또는 스트라이핑되며, 그 결과, 항스팟은 제거되고 디스크들간에 균등한 성능을

제공하게 된다. ASM 파일은 완전히 단일 디스크 그룹 내에 포함된다. 그러나, 디스크 그룹은 여러 데이터베이스들에 소속된 파일들을 포함 할 수 있고, 단일 데이터베이스는 여러 디스크 그룹의 서로 다른 파일들을 사용 할 수 있다.

디스크 그룹의 주요 속성은 리던던시(redundancy) 설정이다. 여기에는 3가지의 가능한 디스크 그룹 리던던시 설정이 존재한다.

l External redundancy : ASM은 어떠한 미러링도 제공하지 않으며, 할당 디스크들이 높은 신뢰성을 가지고 있다고 가정한다.

l Normal redundancy : 기본적으로 2-way 미러링을 지원하며, 낮은 데이터 무결성을 가정한다.

l High redundancy : 기본적으로 3-way 미러링을 지원하며, 높은 데이터 무결성을 가정한다.

  

ASM은 최대 63개의 디스크를 생성 할 수 있지만, 대부분의 경우에는 단지 수 개로 충분한다.

 

ASM 디스크

ASM 디스크 그룹들은 하나 이상의 ASM 디스크들을 포함한다.

ASM 디스크들은 클러스터 내의 모든 노드에서 ASM 소유자에 의해 인기 및 쓰기가 가능하여야 한다.

ASM 디스크는 디스크 상의 일부분을 사용 할 수 있지만, 오라클은 ASM에 의해 사용되는 물리적 디스크를 다른 애플리케이션과 공유하지 않도록 권장한다. 그 이유는 디스크 그룹 내에서 ASM 디스크들의 I/O 성능이

서로 유사하여야 하며, 최적으로 실행되기 위해서는 ASM 스트라이핑 및 미러 정책에 대하여 일관성이 있어야 하기 때문이다.

클러스터 내의 각 노드에서 ASM 디스크들의 O/S 디바이스 이름은 동일할 필요가 없다. ASM ASM 디스크의 헤더를 인어서 디스크 그룹의 구성원을 식별한다.

일반적으로, ASM 디스크들은 ASM을 나타내는 스토리지 어레이(storage array)의 로(raw) LUN이다. 또한, ASM 디스크들은 원격 NFS 파일의 파일이 될 수도 있다.

 

할당 단위(Allocation Units)

ASM 디스크 내에서 저장 공간은 AU(allocation units)로 분할된다. 디폴트 AU 용량은 1 메가바이트이며, 핫스팟이 되지 않을 정도로 작지만, 효율적인 순차 액세스(sequential access)를 충분히 제공할 수 있을 정도로

크다. 디스크 그룹을 생성 할 때, AU의 크기를 설정 할 수 있다. 그러나, 디스크 그룹의 AU 크기를 변경 할 수는 없다. AU의 크기가 크면 대용량 데이터베이스(VLDB) 시나리오 또는 특별한 저장소 하드웨어를 사용하는

경우에 유용 할 수도 있다. 만약, AU가 고정적으로 액세스된다면 데이터베이스 커널은 좀 더 효율적인 액세스를 위한 할당 AU를 캐시한다.

 

ASM 파일

 

 

그림 5-12

ASM ASM 클라이언트들이 사용 할 수 있도록 파일들의 집합을 노출한다. ASM 파일은 할당 단위의 집합으로 구성되며 데이터베이스 커널에게 일반 파일로 표시된다.   

ASM 파일은 시스템에 의해 부여되는 고유한 이름을 갖는다. 위 그림에서는 표준 형식의 ASM 파일 이름(fully-qualified ASM file name)을 보여준다. 이 형식의 ASM 파일 이름은 디스크 그룹 이름에 (+) 기호를

접두사로 결합하여 계층적으로 표현한다. 디스크 그룹명 다음에는 데이터베이스 이름과 파일 타입이다. 마지막 구성 요소는 태그명, 파일명, 인카네이션(incarnation) 번호로 구성된다. 관리자가 ASM 파일을 좀더

친숙하게 사용하기 위한 별칭을 사용 할 수도 있다.

파일들은 SAME(stripe and mirror everything) 정책을 사용하여 디스크 그룹 내의 ASM 디스크 상에 균등하게 분산된다.

ASM은 데이터 파일, 로그 파일, 컨트롤 파일, RMAN 백업본, 등과 같은 대부분의 데이터베이스 관련 파일들의 유형을 지원한다. Oracle Database 11g Release 2 이전에 ASM은 오라클 데이터베이스 관련 파일들만

지원하였고 ASCII 트레이스 파일 및 경보 로그, 오라클 이진 파일, OCR(Oracle Cluster Registry), 클러스터 보팅 디스크(cluster-voting disk)를 저장 및 관리하는데 사용될 수 없었다. Oracle Database 11g Release 2

ASM 상에서 일반적인 목적의 파일 시스템을 실행하기 위한 수단을 제공하여 이러한 제한을 제거한다.

 

익스텐트 맵

 

 

그림 5-13

ASM은 익스텐트 맵이라고 부르는 메타데이터를 이용하여 파일의 레이아웃을 추적한다. 익스텐트 맵은 파일 내의 데이터 익스텐트를 디스크 상의 할당 단위에 맵핑하는 테이블이다.   

파일 익스텐트와 할당 단위 간의 관계는 다음과 같다. 하나의 익스텐트는 다음 항목을 포함한다.

l 최초 20,000개의 익스텐트(0-19999) 1 AU

l 다음 20,000개의 익스텐트(20000-39999) 4 AU

l 40,000 번째 이상의 익스텐트는 16 AU

 

대용량 ASM 파일을 수용하려면 대용량 할당 단위와 함께 가변 길이 익스텐트를 사용 할 수도 있다.

 

스트라이핑 단위(granularity)

 

 

그림 5-14

ASM 내에서 스트라이핑은 두 가지 주요한 목적을 갖는다.

l 디스크 그룹 내의 모든 디스크들에 I/O 부하 분산

l I/O 지연 감소

 

coarse-grain 스트라이핑은 할당 단위들을 디스크 그룹 내의 디스크들에 분산한다. 이 방식은 디스크 그룹들의 로드 밸런싱을 제공한다. 파일이 할당되면, ASM은 할당 단위를 모든

디스크에 균등하게 분산시킨다. 때때로 이러한 분산은 완벽한 균등 분포를 나타내지 않지만, 시간이 어느 정도 지나면 거의 균등하게 분산되는 경향이 있다. 위 그림은 전체 8개의

디스크들을 포함하는 외부 리던던시 디스크 그룹에 5개의 할당 단위를 갖는 파일이 5개의 디스크에 스트라이핑 된 것을 보여준다.

최초의 20,000개 익스텐트의 경우, 익스텐트의 크기는 AU의 크기와 동일하다. 이 후, 20,000번째부터 40,000번째 익스텐트의 경우, 익스텐트의 집합은 한 번에 8개씩 할당되고,

익스텐트의 크기는 4*AU 크기이다. 만약, AU 크기가 1MB라면, ASM 파일은 한번에 32MB씩 증가하게 된다(8 * 4 * 1MB). 만약, 할당 파일이 coarse-grained 스트라이핑 된다면,

1AU의 스트라이핑 폭을 갖는 8개의 익스텐트 집합이 스트라이핑된다. 스트라이핑은 언제나 AU 단위로 수행되며 익스텐트 단위로 수행되지 않는다. 그러므로, coarse-grained

파일의 모든 AU는 할당 파일의 용량이 얼마가 되던지 간에 이전 AU와는 다른 디스크에 저장된다. 40,000번째 익스텐트 이후에는 할당 익스텐트들이 한  

번에 8개씩 할당되지만 익스텐트 크기는 16*AU 크기와 동일하다.

 

Fine-Grained 스트라이핑

 

 

그림 5-15

Fine-grain 스트라이핑은 데이터 익스텐트를 128KB의 청크(chunk)로 분할하여, 각 익스텐트의 부하를 디스크 수만큼 분산시킴으로서 특정 타입의 파일에 대해 지연(latency)

향상시키기 위한 사용한다. Fine-grain 스트라이핑은 기본적으로 컨트롤 파일과 온라일 리두 로그 파일에 사용된다.

위 그림은 fine-grain 스트라이핑이 어떻게 동작하는지 보여준다. 예제에서 신규 파일의 최초 1MB 익스텐트는 128KB 8개 할당 단위가 디스크 그룹 내의 8개 디스크에 분산되어

저장된다. 결과적으로 1MB 인기 또는 쓰기는 하나의 디스크가 아닌 8개의 디스크에 분산된다.

 

 

그림 5-16

그 다음, 1MB의 익스텐트 공간은 각각의 동일한 할당 단위의 두 번째 128KB에 할당된다. 이 패턴은 첫 번째 할당 단위 집합을 채울 때까지 진행되고, 이 후에 그 다음 집합이 할당된다  

 

ASM 실패 그룹(Failure group)

 

 

그림 5-17

디스크 그룹 내에서 디스크들은 실패 그룹으로 그룹화된다. 실패 그룹은 저장소 또는 데이터베이스 관리자가 ASM 미러링이 동작하는 하드웨어 경계를 지정하는 방식이다.

예를 들어, 단일 디스크 컨트롤러에 연결된 모든 디스크들은 공통된 실패 그룹으로 지정 될 수 있다. 그 결과, 별도의 컨트롤러에 연결된 디스크들에 파일 익스텐트들이 미러링된다.

또한, 관리자는 ASM이 디폴트 실패 그룹 정책을 선택하도록 구성 할 수 있다. 디폴트 정책은 각 개별 디스크가 자신이 소유하는 실패 그룹에 위치한다.

디스크들은 사용자가 요구하는 조건에 따라 실패 그룹으로 그룹화 될 수 있다. 실패 그룹은 개별 디스크, 디스크 컨트롤러, I/O 네트워크 구성요소, 전체 저장소 시스템의 장애를 방지하기

위한 사용 될 수 있다. 일반적으로 관리자는 자신의 저장소 환경을 분석하고 특정 실패 시나리오를 방지하기 위한 실패 그룹을 구성한다.

최상의 실패 그룹 구성은 데이터베이스 또는 저장소 관리자의 결정에 따라 달라진이다  

 

스트라이핑 및 미러링 예제

 

 

그림 5-18

위 그림은 일반 리던던시 디스크 그룹에서 스트라이핑 및 미러링을 보여준다. 적색 블록들은 디스크 그룹 내 8개의 디스크 중에 5개 디스크에 5개의 익스텐트가 스트라이핑된 파일을

나타낸다. 청색 블록들은 할당 파일의 익스텐트에 대한 미러링 된 복사본을 나타낸다. 여러 디스크들과 실패 그룹들에 대하여 분산된 익스텐트는 배치 방식과 상관 없이 각 실패

그룹에 정확히 하나의 복사본을 포함하고 있다. 파일이 할당되면, 1차 익스텐트는 성능을 고려해서 할당되고, 2차 복사본은 무결성을 위한 할당된다. 이런 이유로 모든 데이터베이스

인기는 기본적으로 1차 익스텐트를 대상으로 수행된다.

 

장애 예제

 

 

그림 5-19

이전 예제를 확장하여 디스크 H에 장애가 발생하여 할당 디스크에 포함된 데이터에 더 이상 액  

세스 할 수 없다고 상상해본다. 이러한 장애가 발생하는 경우에 실패된 디스크의 모든 익스텐트들은 다른 디스크로 복구되고 복사되어야 한다.

3번 및 5번 익스텐트는 장애에서 생존한 복사본으로부터 동일한 실패 그룹 내 다른 디스크의 빈공간에 복사된다. 예를 들어, 5번 익스텐트는 디스크 B에서 디스크 F로 복사되고

3번 익스텐트는 디스크 C에서 디스크 G로 복사된다. 디스크 장애 이후, 마지막 처리 단계는 ASM이 디스크 그룹에서 실패 디스크를 제거하는 것이다.

디스크 제거는 동일한 처리 작업을 유발시킨다. 이 작업은 제거 할 디스크의 익스텐트들이 사용 가능한 대체 위치에 복사된다는 측면에서 동일하다.

 

디스크 그룹 관리

 

 

그림 5-20

ASM 인스턴스의 주요 용도는 디스크 그룹을 관리하고 데이터를 보호하는 것이다. 또한, ASM 인스턴스는 데이터베이스 인스턴스와 파일 배치를 통신하기도 한다. 이런 방식으로

데이터베이스 인스턴스는 디스크 그룹에 저장된 파일들에 직접 액세스 할 수 있다.

여러 개의 디스크 그룹 관리 명령이 있다. 이 명령들은 모두 SYSASM 또는 SYSDBA 권한이 필요하며, 반드시 ASM 인스턴스에서 실행하여야 한다.

새로운 디스크 그룹을 추가 할 수 있다. 또한, 기존 디스크 그룹들을 수정하여 새로운 디스크 추가, 기존 디스크 제거, 그 외의 많은 작업을 수행 할 수 있다. 기존 디스크 그룹을 제거 할 수도 있다.

 

SQL*Plus를 사용하여 디스크 그룹 생성 및 제거

 

 

그림 5-21

ASM 디스크 탐색이 /dev 디렉터리 내의 디스크 : A1, A2, B1, B2로 설정되어 있다고 가정한다. 또한, 디스크 A1, A2와 디스크 B1, B2는 서로 다른 디스크 컨트롤러에 연결되어 있다고 가정한다.

첫 번째 예제는 두 개의 실패 그룹 : CONTROLLER1 CONTROLLER2을 갖는 디스크 그룹 DGROUPA를 구성하는 방법을 설명한다.

또한, 예제는 디스크 그룹에 대한 디폴트 리던던시 속성일 NORMAL REDUNDANCY를 사용한다. 할당 디스크에 대하여 디스크 이름과 크기를 지정 할 수도 있다. 만약, 이 정보를 제공하지 않으면,

ASM은 디폴트 이름을 생성하고 디스크의 크기를 결정하고자 시도한다. 만약, 크기를 결정할 수 없으면, 오류가 리턴된다. FORCE는 할당 디스크가 ASM 디스크 그룹의 구성원으로 이미

포맷되었더라도 지정된 디스크 그룹에 반드시 추가되어야 함을 의미한다. ASM 디스크 그룹의 구성원으로 포맷되지 않은 디스크에 대하여 FORCE 옵션을 사용하면 오류가 리턴된다.

예제의 두 번째 문장은 디스크 그룹과 할당 파일들을 삭제한다. 디스크 그룹에 여전히 파일들과 내부 ASM 메타 데이터를 포함하고 있다면 INCLUDING CONTENTS 옵션을 반드시 설정하여야 한다.

디스크 그룹이 삭제되려면 할당 디스크 그룹이 반드시 마운트 되어 있어야 한다. 어떠한 디스크 그룹의 파일들도 오픈되어 있지 않다는 것이 확인되면, 할당 디스크 그룹과 할당 디스크 그룹의 모든

디스크가 제거된다. ASM 포맷팅 정보를 제거하기 위한 각 디스크의 헤더가 덮어 쓰여진이다.   

디스크 그룹에 디스크 추가

 

그림 5-22

위 예제는 디스크 그룹에 디스크를 추가하는 방법을 보여준다. 디스크를 추가하려면 ALTER DISKGROUP ADD DISK 명령을 실행한다.

첫 번째 문장은 DGROUPA 디스크 그룹에 4개의 새로운 디스크를 추가한다.

두 번째 문장은 탐색 문자열을 이용하는 방법을 보여준다. 다음과 같은 구성을 가정한다.

/devices/A1 DGROUPA 디스크 그룹의 구성원이다.

/devices/A2 DGROUPA 디스크 그룹의 구성원이다.

/devices/A3 DGROUPA 디스크 그룹의 구성원이다.

/devices/A4는 후보 디스크이다.

두 번째 명령은 DGROUPA 디스크 그룹에 A4를 추가한다. 다른 디스크들은 탐색 문자열과 일치하더라도 무시된다. 그 이유는 할당 디스크들이 이미 DGROUPA 디스크 그룹의 일부이기

때문이다. 위 그림은 디스크 그룹에 디스크를 추가하는 경우, ASM 인스턴스가 할당 디스크를 관리 및 사용 할 수 있는지를 확인하는 과정을 보여준다. 이 후, 할당 디스크는 포맷되고

리밸런싱 된다. 리밸런싱 과정은 모든 파일의 익스텐트들을 새로운 디스크로 이동하기 때문에 시간이 많이 소요된다.

참고 : 리밸런싱은 어떠한 데이터베이스 작업도 블록킹하지 않는다. 리밸런싱이 같는 주요한 영향은 시스템에 대한 I/O 부담이다. 리밸런싱 작업의 부담이 높을수록 시스템에 대한 I/O

부담도 증가한다. 그러므로, 데이터베이스 I/O는 적은 I/O 밴드폭을 사용할 수 밖에 없다  

 

그 외의 ALTER 명령

 

 

그림 5-23

그림의 첫 번째 문장은 DGROUPA 디스크 그룹에서 하나의 디스크를 제거하는 방법을 보여준다. 두 번째 문장은 하나의 명령으로 디스크를 추가 및 삭제하는 방법을 보여준다.

이 경우에서 가장 큰 장점은 리밸런싱 작업이 할당 명령을 완료 될 때까지는 시작되지 않는다는 것이다. 세 번째 문장은 디스크 삭제 작업을 취소하는 방법을 보여준다. UNDROP 명령은

디스크들의 삭제가 지연될 때만 동작한다. 이미 제거가 완료된 경우에는 아무런 영향을 미치지 않는다.

다음 문장은 DGROUPB 디스크 그룹에 리밸런싱 작업을 수행한다.

ALTER DISKGROUP dgroupB REBALANCE POWER 5;

디스크가 추가되면 리밸런싱 작업이 자동으로 수행되므로 보통 이 명령은 필요하지 않다. 그러나, 초기화 파라미터 ASM_POWER_LIMIT에 정의된 디폴트 속도를 무시하기 위한 POWER

구문을 사용하는 것도 유용하다. 할당 명령을 실행하여 진행 중일 리밸런싱 작업의 파워 수준을 변경 할 수도 있다. 파워 수준이 0이면 할당 명령이 암묵적 또는 명시적으로 재실행되기

전까지는 리밸런싱 작업이 중지된다. 다음 문장은 DGROUPA를 마운트 해제한다.

ALTER DISKGROUP dgroupA DISMOUNT;

MOUNT DISMOUNT 옵션은 하나 이상의 디스크 그룹들을 사용 가능 또는 불가능으로 설정한다. 직접 마운트 해제 또는 마운트하는 것은 단일 인스턴스를 지원하는 클러스터링 된

ASM 환경에서 할당 인스턴스에 장애가 발생하여 다른 노드로 패일오버(fail over)하는 경우에 유용하다  

 

EM을 이용한 ASM 관리

 

 

그림 5-24

EM은 데이터베이스, 미들웨어, 애플리케이션, 네트워크, IT 인프라 등을 아우르는 관리 도구 패밀리이다. EM은 브라우저 기반 환경을 제공하여 간단히 마우스

클릭으로 일반 ASM 관리 작업을 대체 할 수 있다.

 

ASM 디스크 그룹 호환성

 

 

그림 5-25

ASM 디스크 그룹에서 사용 가능한 호환성에는 3가지 종류가 있다. 3가지 호환성은 디스크 그룹을 표현하는 영구 데이터 구조를 다루는 기능, 클라이언트(디스크 그룹의 소비자)의 기능,

디스크 그룹내 볼륨을 포함하는 기능이다. 이러한 것들을 각각 ASM 호환성, RDBMS 호환성, ADVM 호환성이라고 부른다. 각 디스크 그룹의 호환성은 각각 독립적으로 제어 가능하다.

Oracle Database 10g Oracle Database 11g의 디스크 그룹을 사용하는 경우에는 혼합 환경을 활성해야 할 필요가 있다. 이러한 3가지 호환성 설정은 각각의 ASM 디스크 그룹 속성들이다.   

 

l RDBMS 호환성은 디스크 그룹을 마운트 할 수 있는 RDBMS 인스턴스의 최소 호환 버전을 참조한다. 이 호환성은 ASM과 데이터베이스(RDBMS) 인스턴스 간에 교환되는 메시지 형식을

지정한다. ASM 인스턴스는 서로 다른 호환성 설정값으로 실행되는 RDBMS 클라이언트를 지원하기 위한 기능을 포함하고 있다. 각 인스턴스의 데이터베이스 호환 버전 설정은 할당

데이터베이스에서 사용되는 모든 디스크 그룹의 RDBMS 호환성보다 같거나 큰 값이어야 한다. 일반적으로 데이터베이스 인스턴스는 ASM 인스턴스와는 달리 서로 다른 오라클 홈에서

실행된다. 이것이 의미하는 것은 데이터베이스 인스턴스가 ASM 인스턴스와는 상관 없이 서로 다른 소프트웨어 버전에서 실행 될 수 있다는 것을 의미한다. 데이터베이스 인스턴스가

ASM 인스턴스에 최초로 접속하면 두 인스턴스는 지원 가능한 가장 높은 버전을 협상하게 된다. 데이터베이스 호환성 파라미터 설정값, 데이터베이스 소프트웨어 버전, 디스크 그룹의

RDBMS 호환성 설정값은 데이터베이스 인스턴스가 주어진 디스크 그룹을 마운트 할 수 있는지 여부를 결정한다.

l ASM 호환성은 디스크의 ASM 메타 데이터에 대한 데이터 구조의 형식을 제어하는 영구적인 호환성 설정 값을 참조한다. 디스크 그룹의 ASM 호환성 수준은 동일한 디스크 그룹의

RDBMS 호환성 수준보다 같거나 높아야 한다. ASM 호환성은 ASM 메타 데이터의 형식에만 관련되어 있다. 파일 내용의 형식은 데이터베이스 인스턴스에 따라 달라진이다. 예를 들어,

디스크 그룹의 RDBMS 호환성이 10.1로 설정된다면, ASM 호환성이 11.0으로 설정 될 수 있다. 이것이 의미하는 바는 할당 디스크 그룹이 11.0 이상의 소프트웨어 버전을 갖는 ASM

소프트웨어에 의해 관리되며, 할당 디스크 그룹을 사용하는 데이터베이스 클라이언트의 소프트웨어 버전은 10.1 이상이면 된다는 것이다.

l ADVM 호환성은 디스크 그룹이 디스크 그룹 내에 오라클 ASM 볼륨을 포함할 수 있는지 여부를 결정한다. 이 값은 11.2 이상이어야 한다. 이 속성을 설정하기 전에 COMPATIBLE.ASM

값은 반드시 11.2 이상이어야 한다. 또한, ADVM 볼륨 드라이버는 반드시 로딩되어야 한다.

 

디스크 그룹의 호환성은 영구 디스크 구조 또는 프로토콜 메시지에 변화가 있는 경우에만 상향시킬 필요가 있다. , 디스크 그룹의 호환성을 높이면 다시 되돌릴 수는 없다.

CREATE DISKGROUP 또는 ALTER DISKGROUP 명령을 사용하여 디스크 그룹 호환성을 설정 할 수 있다.

참고 : 디스크 그룹 호환성에 추가하여 compatible 파라미터(데이터베이스 호환성 버전)는 활성화 할 수 있는 기능을 결정한다. 이 파라미터는 instance_type 파라미터에 따라 데이터베이스

또는 ASM 인스턴스에 반영된다. 예를 들어, 이 파라미터를 10.1로 설정하면 Oracle Database 11g에서 소개되는 기능들을 사용 할 수 없도록 만든다(디스크 온라인/오프라인, 가변 익스텐트 등).   

 

ASM 디스크 그룹 속성

 

 

그림 5-26

ASM 디스크 그룹을 생성하거나 변경할 때마다 CREATE DISKGROUP ALTER DISKGROUP 명령의 새로운 ATTRIBUTE 구문을 사용하여 다양한 속성을 변경 할 수 있다.

이러한 속성들은 위 표에서 간단하게 요약되어 있다.

l ASM은 디스크 그룹을 생성 할 때, 서로 다른 크기의 할당 단위(AU)를 사용 할 수 있다. AU 1, 2, 4, 8, 16, 32 64MB의 크기를 가질 수 있다.

l RDBMS 호환성 : “ASM 디스크 그룹 호환성” 부분을 참조한다.

l ASM 호한성 : “ASM 디스크 그룹 호환성” 부분을 참조한다.

l DISK_REPAIR_TIME을 분(M), 시간(H), (D) 단위로 지정 할 수 있다. 만약, 단위를 생략하면 디폴트는 H이다. 만약, 이 속성을 생략하면 디폴트는 3.6H이다.

이 속성은 ALTER DISKGROUP DISK OFFLINE 문장으로 변경 할 수 있다.

l 지정된 템플릿의 리던던시 속성을 지정 할 수 있다.

l 지정된 템플릿의 스트라이핑 속성을 지정 할 수 있다.

 

참고 : 각각의 정의된 디스크 그룹에 대하여 V$ASM_ATTRIBUTE 고정 뷰를 통해 모든 사전에 정의된 속성을 살펴 볼 수 있다  

 

디스크 그룹 속성을 편집하기 위해 EM 사용

 

 

그림 5-27

EM은 디스크 그룹과 관련된 정보를 저장하고 인을 수 있는 간단한 방법을 제공한다. 호환성 속성은 Create Disk Group 페이지와 Edit Disk Group Advanced Attributes 페이지에서

설정 할 수 있다. 디스크 그룹의 Advanced Attributes 속성 페이지에 disk_repair_time 속성이 추가되었다.

참고 : 11g 이전의 ASM 인스턴스의 경우, 디폴트 ASM 호환성과 클라이언트 호환성은 모두 10.1이었다. 11g ASM 인스턴스의 경우, 디폴트 ASM 호환성은 11.2이고 데이터베이스 호환성은 10.1이다  

 

ASM 메타데이터 읽어오기

 

 

그림 5-28

ASM 인스턴스는 동적 성능 뷰로 표현하는 메모리 기반 메타 데이터를 호스팅한다. 이 데이터는 SQL*Plus, asmcmd, EM을 이용하여 인어 올 수 있다.

SQL*Plus를 사용하려면 SQL 언어에 대한 지식이 필요하고 관련 정보를 인어 오기 위한 다수의 동적 성능 뷰들을 조인해야 할 필요가 있다. 위 그림의 첫 번째 예제는

데이터베이스의 데이터 파일과 관련된 메타 데이터를 표시하기 위한 v$asm_file v$asm_alias를 조일하는 것을 보여준다. 만약, 이 쿼리가 ASM 인스턴스를 대상으로

수행된다면 구문에서 지정한 대로 여러 데이터베이스의 데이터 파일을 인어 올 수도 있다. 출력을 단일 데이터베이스로 한정하려면 추가적인 필터 조건을 사용해야

할 필요가 있다.

asmcmd 유틸리티는 ASM 인스턴스에 접속하여 SQL 언어를 모르더라도 메타 데이터를 인어 올 수 있다. 이 유틸리티는 UNIX와 유사한 형식을 사용한다. 두 번째 예는

asmcmd를 사용하여 SQL 예제가 했던 것처럼 동일한 메타 데이터를 인어 온다. 이 예제의 또 다른 장점은 지정된 경로에 데이터베이스 이름일 orcl이 포함되어 있어서,

출력이 단일 데이터베이스의 데이터 파일로 제한된다는 것이다. 그러므로, asmcmd에서 디렉터리로서 나타나는 것들은 동일한 결과를 얻기 위한 WHERE 구문을 사용하는

SQL 필터 조건을 필요로 할 수도 있다.

참고 : EM의 데이터베이스 컨트롤은 다양한 ASM 웹 페이지들을 검색하여 대부분의 ASM 메타 데이터를 표시 할 수 있다  

 

ASM Fast Mirror Resync 개요

 

그림 5-29

ASM fast mirror resync는 디스크의 일시적인 장애로 일하여 수행되는 재동기화에 요구되는 시간을 상당히 감소 시켜 준다. 디스크가 일시적인 장애로 일하여 오프라인

상태라면, ASM은 장애가 진행되는동안에 변경된 익스텐트를 추적한다. 일시적 장애가 해소되면, ASM은 장애로 일하여 영향을 받은 ASM 디스크 익스텐트들만 신속하게 재동기화한다.

이 기능은 장애가 발생한 ASM 디스크들의 내용이 망가지거나 변경되지 않았다는 것을 가정으로 한다.

ASM 디스크 경로에 장애가 발생했을 때, 할당 디스크 그룹에 대하여 DISK_REPAIR_TIME 속성을 설정하였다면 ASM 디스크는 오프라인되지만 제거되지는 않는다.

이 속성의 설정값은 장애가 복구된 후, ASM이 재동기화를 수행 할 수 있을 때, ASM이 견딜 수 있는 시간을 결정한다.

참고 : 추적 메커니즘은 각각의 변경된 할당 단위에 대하여 1비트를 사용한다. 이것은 추적 메커니즘이 매우 효율적으로 동작한다는 것을 확인 할 수 있다.

 

퀴즈

ASM 인스턴스의 필수 파라미터는?

1. INSTANCE_TYPE

2. ASM_DISKGROUPS   

3. LARGE_POOL_SIZE

4. 없음

 

퀴즈

기본적으로 Fine-grain 스트라이핑은 __________________________에 사용된다.

1. 데이터 파일

2. 컨트롤 파일

3. 임시 파일

4. 온라일 리두 로그

5. SPFILE