내 블록 크기 오라클 쿼리
액세스 권한이 없는 경우 Oracle 데이터베이스의 블록 크기를 확인할 수 있는 방법이 있습니까?v$parameter
보기?
감사합니다!
f.
다음과 같이 할 수 있습니다.
select distinct bytes/blocks from user_segments;
오라클에서 블록 크기는 테이블스페이스당 설정됩니다.user_tablespace 또는 dba_tablespace(액세스 권한이 있는 경우)를 쿼리하여 각 테이블스페이스의 블록 크기를 확인할 수 있습니다. 이러한 보기는 일반적으로 즉시 실행됩니다.
또한 dba_tables, user_tables 또는 all_tables 중 하나에 가입하고 블록 수에 블록 크기를 곱하여 테이블의 총 크기를 바이트 단위로 가져올 수 있습니다(MB 등으로 크기를 얻으려면 1024*1024로 나눕니다).
각 테이블스페이스마다 블록 크기가 다르므로 다음 쿼리를 사용하는 것이 좋습니다.
select block_size, tablespace_name from dba_tablespaces;
네, 그럼 큰 문제가 생겼군요.특히 SAP 또는 Infor BAAN을 실행하여 수만 개의 세그먼트를 생성하고 데이터 사전을 단편화하는 경향이 있는 경우 user_segment 쿼리가 매우 느릴 수 있습니다.최상의 방법은 DBA가 v_$ 보기를 통해 어떤 방식으로든 액세스 권한을 부여하도록 설득하는 것입니다.
더 나은 성능의 대안: 세그먼트를 만들 수 있는 경우 테이블스페이스에 액세스할 수 있습니다(세그먼트가 없을 때는 구분이 작동하지 않습니다).이 목록은 일반적으로 더 짧기 때문에 예를 들어 다음을 사용합니다.
user_ts_message에서 바이트/블록 선택
사용자가 할당량이 없을 정도로 제한되어 있는 경우에도 여전히 로컬 DBA에 대한 사회 공학적 문제가 발생합니다. :-)
언급URL : https://stackoverflow.com/questions/4862724/query-my-block-size-oracle
'programing' 카테고리의 다른 글
AES 암호화 데이터를 통한 Mysql/MariaDB 검색 (0) | 2023.06.29 |
---|---|
업데이트 색인 실행 취소 --작업 트리 건너뛰기 (0) | 2023.06.29 |
DataGrip에서 서버 출력을 설정하는 방법 (0) | 2023.06.29 |
파이썬에서 연쇄적인 방법을 끊는 방법은 무엇입니까? (0) | 2023.06.24 |
프로그램을 종료하기 전에 작업 수행 (0) | 2023.06.24 |