0. 개요
- ASM 은 Oracle DB 10g 이상에서 사용할 수 있는 Oracle 사의 Cluster File System 이지만, 사실상 (raw device 를 선호하는 국내 여건 상) Exadata 환경에서 보편적으로 사용되고 있습니다.
- Exadata 초기설정 시, DATA, FRA, ACFS, DBFS 등의 DG(DIsk Group)를 생성해 줍니다.
- DB 에서는 Tablespace 를 기본적으로 +DATA DG 에 생성합니다.
- 고객사 정책에 따라, 별도로 남긴 Disk(혹은 추가 Disk)를 이용해서, 아래 처럼 USRDATA1 라는 추가 DG 를 생성할 수는 있으나, Oracle 에서 권고하지는 않습니다. 또 이렇게 사용하는 고객사들도 거의 없습니다.
SQL> CREATE DISKGROUP USRDATA1 EXTERNAL REDUNDANCY DISK '/dev/d1','/dev/d2','/dev/d3','/dev/d4' ; |
혹은
SQL> CREATE DISKGROUP USRDATA1 EXTERNAL REDUNDANCY DISK '/dev/d*' ; |
이렇게 생성합니다.
-- 이하, 하드웨어 기반의 미러링이 구성되지 않은 경우, ASM에서 “fail group” 을 지정해 디스크그룹을 생성 가능
SQL> CREATE DISKGROUP USRDATA1 NORMAL REDUNDANCY FAILGROUP failgrp1 DISK '/dev/d1', '/dev/d2', FAILGROUP failgrp2 DISK '/dev/d3', '/dev/d4' ; |
1. Tablespace 생성
A. DATA DG 에 USERS 이름의 업무용 Tablespace 생성
-- 기본적으로 File System 에 생성하는 것과 동일합니다만, Oracle 에서 OMF (Oracle Managed Files) 로 관리하기 때문에,, Location 만 지정하고 (이것도 Default 로 잡히는 +DATA 에 생성 시 생략 가능) 수행하면 됩니다.
SQL> CREATE TABLESPACE USERS DATAFILE SIZE 1024m ; |
-- 동일하게 dba_data_files 에서 tablespace 와 datafile 정보를 볼 수 있습니다.
SQL> select tablespace_name, file_name, bytes/1024/1024/1024 Gb from dba_data_files order by tablespace_name, file_name ; |
-- 물론,, 이름을 직정 지정해주고 싶은 경우, 아래 처럼도 가능합니다. 다만, Oracle 에서 권장하는 방법은 아니고, Data Guard 등으로 연계된 경우 등에서 이슈발생 가능성이 있읍니다.
SQL> CREATE TABLESPACE USERS DATAFILE '+DATA1/users_data_01.dbf' SIZE 1024m ; |
-- Exadata 에서는 여러개의 datafile 을 생성하는 것 보다는, 단일 datafile 의 size 를 크게 가져가는 것을 권고 합니다.
-- 사례) 대형 고객사에서는 1개 Datafile 의 size 를 30Gb 크기로도 생성 합니다.
-- 추가로, Oracle DB 에서는 (10g, 11gR2 까지는 그렇습니다. 12c 는 확인을 못 했습니다.) 1개 Tablespace 당 Datafile 을 1022개 까지인가? 추가할 수 있고, 일반 datafile 의 Max Size 는 약 31.9Gb 입니다.
B. USERS Tablespace 에 Datafile 추가 시 * << Oracle 권장방법 >>
SQL> alter tablespace USERS add datafile size 1g ; |
C. DATA DG 에 Redo Log 를 생성하는 경우
-- Online Redo Log File 도 DATA DG 에 생성 가능 합니다. 하기 SQL 은 Sample Query 입니다.
SQL> alter database add logfile GROUP 1 ('+DATA1/redo/group_1.258.3','+DATA2/redo/group_1.258.3') SIZE 8g ; |
2. ASM 관련된 DG 관리
A. Location 확인 : data 파일 생성 기본위치
SQL> show parameter db_create_file_dest ; |
SQL> select group_number, name, state, type, total_mb, free_mb from v$asm_diskgroup; SQL> select b.name group_number, a.name disk_name, a.header_status, a.state, a.free_mb from v$asm_disk a, v$asm_diskgroup b where a.group_number = b.group_number ; |
-- 아래 처럼, 기본 위치를 변경 가능
SQL> alter system set db_create_file_dest='+DATA1' ; |
3. 추가로.. ASM 사용량 보기 셈풀Query 입니다. ==> Tablespace Freespace 관리 시, OS File System Free 는 먼저 살펴봐야 합니다.
-- Query : 아쉽게.. 실행 결과 화면은 없습니다.
SET LINESIZE 350 SET PAGESIZE 1000 col name format a10 col USABLE_FILE_GB format 999,999.00 col TOTAL_GB format 999,999.00 col FREE_GB format 999,999.00 col USABLE_CALC_GB format 999,999.00 select name , USABLE_FILE_MB/1024 USABLE_FILE_GB , total_mb/1024 TOTAL_GB, free_mb/1024 FREE_GB , 100-round(free_mb/total_mb*100) "usgae(%)" , ((FREE_MB - REQUIRED_MIRROR_FREE_MB))/1024 USABLE_CALC_GB , state , type , group_number from v$asm_diskgroup order by name ; |
'IT-Tech > Appliance' 카테고리의 다른 글
[Exadata] HCC Compress 중 Table 단위 QUERY HIGH 가 많이 사용됨 (0) | 2016.08.09 |
---|