
Oracle 데이터베이스는 방대한 양의 메타데이터를 다양한 시스템 뷰를 통해 제공합니다. 그중 ALL_ALL_TABLES 뷰는 현재 사용자(User)가 접근 가능한 모든 테이블의 정보를 확인할 수 있는 매우 유용한 데이터 딕셔너리 뷰입니다.
1. ALL_ALL_TABLES란?
ALL_ALL_TABLES는 오라클에서 제공하는 데이터 딕셔너리 뷰 중 하나로, 사용자가 직접 소유하거나, 권한이 부여된 테이블들의 구조 및 속성 정보를 제공합니다. 즉, 단순히 사용자 소유의 테이블만 보여주는 USER_ALL_TABLES와 달리, 이 뷰는 권한을 통해 접근할 수 있는 타 사용자의 테이블도 함께 보여줍니다.
2. 주요 컬럼 설명
ALL_ALL_TABLES 뷰는 수십 개의 컬럼을 제공하지만, 실무에서 자주 사용하는 주요 컬럼은 다음과 같습니다.
| 컬럼명 | 설명 |
|---|---|
| OWNER | 테이블 소유자 |
| TABLE_NAME | 테이블 이름 |
| TABLESPACE_NAME | 테이블이 속한 테이블스페이스 |
| CLUSTER_NAME | 클러스터 테이블인 경우 클러스터 이름 |
| IOT_TYPE | 인덱스 조직 테이블인지 여부 |
| NESTED | 중첩 테이블 여부 |
| TEMPORARY | 임시 테이블 여부 |
| DURATION | 임시 테이블 유지 시간 |
3. 실무에서의 활용 사례
3.1 사용자 접근 가능한 모든 테이블 조회
SELECT OWNER, TABLE_NAME FROM ALL_ALL_TABLES;
이 쿼리는 현재 접속한 사용자가 접근 가능한 모든 테이블의 소유자와 이름을 나열합니다.
3.2 특정 테이블의 저장 위치 파악
SELECT TABLE_NAME, TABLESPACE_NAME
FROM ALL_ALL_TABLES
WHERE TABLE_NAME = 'EMP';
테이블이 저장된 테이블스페이스를 파악해 성능 튜닝이나 디스크 공간 분석에 활용할 수 있습니다.
3.3 인덱스 조직 테이블 확인
SELECT TABLE_NAME, IOT_TYPE
FROM ALL_ALL_TABLES
WHERE IOT_TYPE IS NOT NULL;
특정 테이블이 인덱스 조직 방식인지 확인하여 데이터 정렬이나 조회 최적화를 검토할 수 있습니다.
4. 관련 뷰와의 비교
ALL_ALL_TABLES는 다양한 유사 뷰들과 비교해 실무에서 어떤 점이 다른지 이해하는 것이 중요합니다.
| 뷰 이름 | 포함 대상 | 접근 권한 | 용도 |
|---|---|---|---|
| USER_ALL_TABLES | 자신이 소유한 테이블 | 본인만 | 사용자 전용 정보 조회 |
| ALL_ALL_TABLES | 자신이 접근 가능한 모든 테이블 | 권한 기반 | 권한 기반 전체 조회 |
| DBA_ALL_TABLES | 모든 사용자 테이블 | DBA만 | 전체 DB 모니터링 |
5. 주의사항 및 성능 팁
- ALL_ALL_TABLES는 권한이 없는 테이블은 보여주지 않기 때문에, 누락된 테이블이 있다면 권한을 재확인해야 합니다.
- 대규모 DB에서는 뷰 조회 시
WHERE조건을 명확히 지정하지 않으면 성능 이슈가 발생할 수 있습니다. - 테이블 이름은 대소문자를 구분하므로 검색 시 UPPER 또는 LIKE 연산자를 적절히 활용하세요.
6. 결론
ALL_ALL_TABLES는 Oracle DB에서 권한 기반으로 테이블 구조를 종합적으로 분석할 수 있는 중요한 뷰입니다. 특히 개발자나 DBA 입장에서, 이 뷰를 통해 복잡한 권한 체계 아래에서도 원하는 테이블 정보를 효과적으로 검색하고 분석할 수 있습니다. 실무에서 자주 쓰이는 SQL 스크립트와 함께 정확한 컬럼 이해를 바탕으로 활용도를 높이는 것이 중요합니다.
7. 출처
- Oracle 공식 문서: https://docs.oracle.com/en/database/
- Oracle Database Reference 21c: Data Dictionary Views
- 실제 DBA 경험 기반 분석 및 스크립트 테스트 결과
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] ALL_ASSOCIATIONS 뷰 완전 해설 및 실무 활용 전략 (0) | 2025.06.18 |
|---|---|
| [ORACLE] ALL_ARGUMENTS 뷰 완전 분석과 실무 활용법 (0) | 2025.06.17 |
| [ORACLE] ALL_ERRORS 뷰 완벽 가이드와 실무 활용법 (0) | 2025.06.16 |
| [ORACLE] ALL_DEPENDENCIES 뷰 완전 분석 및 활용 전략 (0) | 2025.06.16 |
| [ORACLE] ALL_TAB_COLUMNS 뷰 완벽 해설과 실무 활용법 (0) | 2025.06.16 |