Oracle 테이블스페이스 크기를 쿼리하는 방법

zbt
풀어 주다: 2023-08-03 15:58:31
원래의
4752명이 탐색했습니다.

oracle에서 테이블스페이스 크기를 쿼리하는 방법: 1. 테이블스페이스의 이름, 크기, 남은 사용 가능한 공간 등을 포함한 모든 테이블스페이스 정보를 저장하는 DBA_TABLESPACE 뷰를 사용합니다. 2. 저장 프로시저를 사용합니다. Oracle에서 제공하는 DBMS_SPACE.SPACE_USAGE 이 저장 프로시저는 테이블스페이스의 전체 크기, 사용된 크기, 남은 여유 공간 등을 포함한 테이블스페이스의 세부 정보를 반환합니다.

Oracle 테이블스페이스 크기를 쿼리하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 버전 19c, DELL G3 컴퓨터.

Oracle은 테이블 공간의 크기를 쿼리하는 편리한 방법을 제공하는 매우 유명한 관계형 데이터베이스 관리 시스템입니다. Oracle에서 테이블스페이스는 테이블, 인덱스 및 기타 개체를 저장하는 데이터베이스의 논리적 구조입니다.

Oracle에서는 테이블스페이스의 크기를 쿼리하는 방법이 여러 가지가 있습니다. 아래에서는 일반적으로 사용되는 두 가지 방법을 소개하겠습니다.

첫 번째 방법은 DBA_TABLESPACE 뷰를 사용하는 것입니다. 이 뷰는 테이블스페이스 이름, 크기, 남은 여유 공간 등을 포함한 모든 테이블스페이스 정보를 저장합니다.

다음은 테이블스페이스의 크기를 쿼리하는 샘플 SQL문이다.

SELECT tablespace_name,
ROUND(SUM(bytes) / 1024 / 1024, 2) AS "Size(MB)",
ROUND(SUM(bytes - freespace) / 1024 / 1024, 2) AS "Used(MB)",
ROUND(SUM(freespace) / 1024 / 1024, 2) AS "Free(MB)"
FROM (SELECT df.tablespace_name,
df.bytes,
SUM(fs.bytes) AS "freespace"
FROM (SELECT tablespace_name,
ROUND(SUM(bytes) / 1048576) AS bytes
FROM dba_data_files
GROUP BY tablespace_name) df,
(SELECT tablespace_name,
ROUND(SUM(bytes) / 1048576) AS bytes
FROM dba_free_space
GROUP BY tablespace_name) fs
WHERE df.tablespace_name = fs.tablespace_name(+)
GROUP BY df.tablespace_name, df.bytes)
GROUP BY tablespace_name;
로그인 후 복사

위의 쿼리문은 DBA_DATA_FILES 뷰와 DBA_FREE_SPACE 뷰를 연결하여 테이블스페이스의 크기 정보를 얻는다. 바이트 수를 계산하고 이를 메가바이트(MB)로 변환하여 테이블스페이스의 크기를 표시합니다.

또 다른 방법은 Oracle에서 제공하는 저장 프로시저인 DBMS_SPACE.SPACE_USAGE를 사용하는 것입니다. 이 저장 프로시저는 총 테이블스페이스 크기, 사용된 크기, 남은 여유 공간 등을 포함하여 테이블스페이스에 대한 자세한 정보를 반환합니다.

다음은 저장 프로시저를 사용하여 테이블스페이스 크기를 쿼리하는 예입니다.

SET SERVEROUTPUT ON;
DECLARE
total_size NUMBER;
used_size NUMBER;
free_size NUMBER;
BEGIN
DBMS_SPACE.SPACE_USAGE('TABLESPACE_NAME', total_size, used_size, 
free_size);
DBMS_OUTPUT.PUT_LINE('Total Size: ' || ROUND(total_size / 1024 / 1024, 2) || 
' MB');
DBMS_OUTPUT.PUT_LINE('Used Size: ' || ROUND(used_size / 1024 / 1024, 2) || ' 
MB');
DBMS_OUTPUT.PUT_LINE('Free Size: ' || ROUND(free_size / 1024 / 1024, 2) || ' 
MB');
END;
/
로그인 후 복사

위 저장 프로시저는 테이블스페이스 이름을 매개변수로 DBMS_SPACE.SPACE_USAGE에 전달하고 전체 크기, 사용된 크기 및 남은 여유 공간을 반환합니다. 테이블스페이스의 공간입니다. DBMS_OUTPUT.PUT_LINE 문을 사용하여 쿼리 결과를 콘솔에 표시할 수 있습니다.

어떤 방법을 사용하든 이러한 쿼리는 Oracle 데이터베이스의 테이블 공간 크기를 이해하는 데 도움이 될 수 있습니다. 테이블 공간 사용량을 이해하면 데이터베이스의 저장 공간을 더 잘 관리하고 최적화할 수 있습니다.

위 내용은 Oracle 테이블스페이스 크기를 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿