#ASM 인스턴스 들어가기
$ . oraenv
ORACLE_SID = [slorder1] ? +ASM1
$asmcmd
ASMCMD> ls -al
WARNING:option 'a' is deprecated for 'ls'
please use 'absolutepath'
State Type Rebal Name
MOUNTED EXTERN N ASM_DATA/
MOUNTED NORMAL N ASM_OV/
ASMCMD>
ASMCMD>
ASM 경로 및 데이터 테이블스페이스 추가방법
용량 확인.
서버접속 -> mon -> @asm_diskgroup.sql
데이터파일 추가
alter tablespace TT add datafike '+ASM_DATA' size 10g
alter database datafile '경로' resize 10g
## ASM 이란
- OS가 느려서 oracle 성능이 느려짐을 방지하기 위해 oracle 에서 자체적으로 개발한 스토리지
## ASM 장점
1. 장점
- 디스크 I/O 의 효과적인 분산
: 스토리지를 추가하면 이전 스토리지 안에 있던 자료들이 자동으로 rebalance 되어 자료들이 분산됨.
- VLDB 지원 (Very Large DB)
*Rebalance
- Filesystem 을 사용하게 되면 디스크그룹내에 새 디스크가 추가되거나 제거되면 성능개선을 하기 위해서는
DBA 가 직접 기존 디스크의 내용을 분산하거나, 이동시켜야 함.
- ASM 을 이용하게 되면 이러한 Rebalacnce 작업은 자동으로 ASM 에서 수행하게 되고,
-> DB부하에 따라 Rebalance 에 얼마나 많은 CPU% 을 배정할지 지정 가능.
- Alter digkgroup testdb_dg1 add disk '/dev/sdf1' rebalance power 11;
(1~11 : 1 이 rebalance 되는 속도가 가능 느리며, 11이 가장 빠름.
11 로 올라갈수록 rebalance 하는데 cpu 부하가 커짐.
DEFAULT 11
- Rebalacnce 작업 진행율 확인
Select sofar, est_rate, est_minutes from v$asm_operation;
## ASM Disk Group
- ASM 에서는 디스크를 여러개 묶어서 디스크 그룹으로 관리.
- 1개의 그룹에는 최소 2개의 디스크가 있어야 함.
: 데이터가 들어올 때 AU(Allocation Unit)라는 단위로 나누어서 각 디스크 그룹별로 분산 저장.
*AU(Allocation Unit)
1) COARSE grained 방싱 : 1mb 단위로 기록, 주로 data, archivelog 파일에 사용
2) FINE grained 방식 : 128kb 단위로 기록, 주로 redo, control, flashback log 파일에 사용
11g ASM 부터는 AU 종류가 1/2/4/8/16/32/64 mb 다양하게 지원.
=> 적절히 지정하면 성능 개선 향상.
# ASM 에서의 Restrict 옵션
관리자가 disk group 유지보수를 하기 위해 restrict 옵션을 제공하고, 이 옵션으로 디스크 그룹을 mount 할 경우 일반 사용자는 접속할수 없게 됨. -> 유지관리성능을 더 향상시킬 수 있음.
alter diskgroup data mount restrict;
-> 유지보수 종료 후 => alter diskgroup data dismount; => alter diskgroup data mount;
## ASM PROCESS 구조
DATABASE INSTANCE
┃
┃
ASMB
┃
┃
ASM INSTNACE : 디스크 구룹에 대한 정보를 수집하여 Database Instance 에 제공, ASMB가 교두보역활
┃ ORACLE_SID = +ASM 으로 해당 인스턴스에 접속해서 MOUNT, SHUTDOWN 할 수 있음
┃
RBAL : RBAL process : 디스크 추가 및 삭제 디스크그룹에 대한 Rebalance 담당, ASM Instance 의
┃ ┃ 요청이 있을 경우 디스크를 열고 닫는 프로세스
ARBn ARBn : RBAL 의 명령을 받아 실질적으로 작업을 수행하는 process
┃
DISKGROUP1
# 주의 사항
- ASM도 하나의 프로그램이므로, RAM 에 mount 되어야 DB 가 운영 됨.
DB open 시 : ASM MOUNT => DB OPEN
환전히 끌 경우 : DB shutdown -> ASM shutdown
# ASM Instnace 의 시작옵션 및 종료 옵션.
export ORACLE_SID = +ASM 이후 SQLPLUS 접속하면 ASM Instnace 에 접속하는 것
a) START 옵션
FORCE : 이전 인스턴스를 SHUTDOWN ABORT 하고 다시 시작.
MOUNT, OPEN : ASM Instance 를 시작시킨 후, 디스크그룹을 마운트 (startup 하면 자동으로 이 옵션 적용)
NOMOUNT : ASM Instance를 시작하지만, 디스크그룹은 마운트하지 않음 (Diskgroup 이 장애가 있을 경우 사용)
b) shutdown 옵션
NOMAL, IMMEDIATE, TRANSATIONAL, ABORT : DB instance 와 동일
(-ABORT(shutdown abort) 사용시 db가 open 되어있어도 강제로 ASM instance 가 종료되어 버리므로, 자동으로 DB도 강제종료 됨)