"오라클 ASM"의 두 판 사이의 차이
DB CAFE
(→ASM Disk 그룹 조회) |
(→테이블 스페이스 정보 조회) |
||
59번째 줄: | 59번째 줄: | ||
</source> | </source> | ||
− | == 테이블 스페이스 정보 조회 == | + | == 테이블 스페이스 정보 조회 SQL == |
<source lang=sql> | <source lang=sql> | ||
-- 그룹별 사용량 | -- 그룹별 사용량 |
2019년 12월 4일 (수) 15:01 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
1 ASM 이란?[편집]
https://docs.oracle.com/cd/E11882_01/server.112/e18951/asm_util001.htm#OSTMG01620
1.1 ASM Disk 그룹 조회[편집]
SELECT GROUP_NUMBER,NAME,STATE,TOTAL_MB,FREE_MB
FROM V$ASM_DISKGROUP;
1.2 ASM Disk 조회[편집]
SELECT GROUP_NUMBER
, DISK_NUMBER
, NAME
, MOUNT_STATUS
, PATH
, TOTAL_MB
FROM GV$ASM_DISK;
1.3 ASM File 조회[편집]
SELECT GROUP_NUMBER
, FILE_NUMBER
, ROUND ((BYTES / 1024 / 1024), 1) MB
, REDUNDANCY
, TYPE
FROM V$ASM_FILE;
1.4 Disk 그룹/패스 조회[편집]
/* Formatted on 2019-12-04 오후 3:25:31 (QP5 v5.336) */
SELECT G.NAME DG_NAME
, D.PATH PATH
, D.TOTAL_MB DISK_SIZE_MB
, G.DATABASE_COMPATIBILITY DB_COMPATIBILITY
, G.COMPATIBILITY ASM_COMPATIBILITY
FROM V$ASM_DISK D
, V$ASM_DISKGROUP G
WHERE G.GROUP_NUMBER = D.GROUP_NUMBER;
1.5 (빅파일) 테이블 스페이스생성[편집]
https://docs.oracle.com/cd/E11882_01/server.112/e18951/asmdiskgrps.htm#OSTMG10205
CREATE BIGFILE TABLESPACE TS_XXX_D01 DATAFILE
SIZE 1G AUTOEXTEND ON NEXT 50M MAXSIZE 30G
LOGGING
DEFAULT
NO INMEMORY
ONLINE
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
1.6 테이블 스페이스 정보 조회 SQL[편집]
-- 그룹별 사용량
SELECT GROUP_NUMBER
, NAME
, TOTAL_MB
, FREE_MB
FROM V$ASM_DISK_STAT;
-- 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 GROUP_NUMBER "Group#"
, NAME
, TOTAL_MB / 1024 TOTAL_GB
, ROUND ((TOTAL_MB - USABLE_FILE_MB) / 1024, 2) USED_GB
, USABLE_FILE_MB / 1024 USABLE_FILE_GB
, FREE_MB / 1024 FREE_GB
, 100 - ROUND (FREE_MB / TOTAL_MB * 100) "usgae(%)"
, ((FREE_MB - REQUIRED_MIRROR_FREE_MB)) / 1024 USABLE_CALC_GB
, TYPE
, STATE
FROM V$ASM_DISKGROUP;
SELECT G.NAME "GROUP_NAME"
-- F.GROUP_NUMBER
-- , G.TOTAL_MB
, ROUND (G.FREE_MB / 1024, 1) "GROUP_FREE(GB)"
-- , F.FILE_NUMBER
, ROUND (SPACE / 1024 / 1024 / 1024, 1) "REAL_SIZE(GB)"
, ROUND (BYTES / 1024 / 1024 / 1024, 1) "USABLE_SIZE(GB)"
-- , A.ALIAS_DIRECTORY
, MAX (A.NAME) "FILE_NAME"
FROM V$ASM_FILE F, V$ASM_ALIAS A, V$ASM_DISKGROUP G
WHERE F.GROUP_NUMBER = A.GROUP_NUMBER
AND F.FILE_NUMBER = A.FILE_NUMBER
AND A.GROUP_NUMBER = G.GROUP_NUMBER
AND SYSTEM_CREATED = 'Y'
GROUP BY (G.NAME
, ROUND (G.FREE_MB / 1024, 1)
, ROUND (SPACE / 1024 / 1024 / 1024, 1)
, ROUND (BYTES / 1024 / 1024 / 1024, 1))
ORDER BY G.NAME, MAX (A.NAME);