--undo tablespace
select name, value
from v$parameter
where name in ('undo_management', 'undo_tablespace');
--undo segments
select owner, segment_name, tablespace_name
from dba_rollback_segs
order by 3;
-- undo관련 parameter
SELECT NAME, VALUE, DESCRIPTION
FROM V$PARAMETER
WHERE NAME LIKE '%undo%';
--undo guarantee 확인
select tablespace_name, retention
from dba_tablespaces
where tablespace_name = 'UNDOTBS1';
--undo guarantee mode 변경
--alter tablespace undotbs1 retention guarantee;
--alter tablespace undotbs1 retention guarantee;
--undo 관련 상태 정보
select *
from V$UNDOSTAT;
-- 아래는 초당 생성되는 undo block수를 알 수 있는 공식입니다.
-- 생성되는 전체 block의 수를 계산하여 모니터되는 시간(초)으로 나눕니다.
SELECT (SUM(undoblks)/SUM (((end_time-begin_time)*86400)))
FROM V$UNDOSTAT;
-- END_TIME 과 BEGIN_TIME 은 DATE형이기 때문에 뺄셈을 수행하면
-- 결과가 날짜로 표시됩니다. 그러므로 날짜를 초로 변환하려면
-- 하루를 초로 계산한 86400을 곱합니다.
-- 완성된 SQL문장
SELECT ROUND(((UR * (UPS * DBS)) + (DBS * 24)) / 1000000000, 2) AS "GB"
FROM (
SELECT value AS UR
FROM V$PARAMETER
WHERE name = 'undo_retention'),
(
SELECT (SUM(undoblks)/SUM(((end_time-begin_time)*86400))) AS UPS
FROM V$UNDOSTAT),
(
SELECT value AS DBS
FROM V$PARAMETER
WHERE name = 'db_block_size');
'Database > Oracle' 카테고리의 다른 글
그룹바이로 다중 로우를 단일 로우로 출력하기(WMSYS.WM_CONCAT 이용) (0) | 2013.01.28 |
---|---|
[펌]Oracle DESC Index에 대한 Colunm 이름 찾는 방법 (0) | 2012.07.13 |
[펌]윈도우7에서 오라클10g 설치하기 (0) | 2012.04.18 |
[펌] Oracle Tablespace 추가/변경 (0) | 2012.03.19 |
[펌] SQL 바인딩 변수와 리터럴 상수 테스트 (0) | 2012.03.18 |