Oracle·Tibero 테이블 검색 이렇게 하면 1초 컷!

데이터베이스를 사용하다 보면, 특정 테이블의 정확한 이름이나 위치(스키마)를 바로 찾기 어려울 때가 있습니다. Oracle과 Tibero는 데이터 사전 뷰(Data Dictionary View)를 제공해 테이블을 빠르게 검색할 수 있습니다. 이 글에서는 실무에서 자주 쓰이는 테이블 검색 SQL 예제와 팁을 정리했습니다.

Oracle 예제 쿼리

현재 계정의 테이블 찾기

SELECT table_name
FROM user_tables
WHERE table_name LIKE '%ITEM_TABLE%';
SQL
  • USER_TABLES : 현재 접속 계정이 소유한 테이블 목록
  • LIKE '%ITEM_TABLE%' : ITEM_TABLE 문자열이 포함된 테이블명 검색

다른 계정(스키마)의 테이블 찾기

SELECT owner, table_name
FROM all_tables
WHERE table_name LIKE '%ITEM_TABLE%';
SQL
  • ALL_TABLES : 현재 계정이 접근 가능한 모든 테이블 목록
  • OWNER 컬럼을 통해 소유자 스키마 확인 가능

전체 DB 내 테이블 찾기 (DBA 권한 필요)

SELECT owner, table_name
FROM dba_tables
WHERE table_name LIKE '%ITEM_TABLE%';
SQL
  • DBA_TABLES : 모든 스키마의 테이블 목록

Tibero 예제 쿼리

🚩 Tibero는 Oracle과 거의 동일한 문법을 사용합니다.

-- 현재 계정
SELECT table_name
FROM user_tables
WHERE table_name LIKE '%ITEM_TABLE%';

-- 다른 계정(접근 권한 있는 테이블)
SELECT owner, table_name
FROM all_tables
WHERE table_name LIKE '%ITEM_TABLE%';

-- 전체 DB (DBA 권한 필요)
SELECT owner, table_name
FROM dba_tables
WHERE table_name LIKE '%ITEM_TABLE%';
SQL

실무 활용 팁

  • 컬럼까지 검색하려면 USER_TAB_COLUMNS, ALL_TAB_COLUMNS 사용
  • 대소문자 구분 문제 방지하려면 검색어를 UPPER()로 감싸고 비교
WHERE UPPER(table_name) LIKE UPPER('%ITEM_TABLE%')
SQL
  • 스키마명이 확실하면 OWNER = '스키마명' 조건을 함께 사용해 검색 속도 향상
  • Tibero에서 대량 검색 시 PARALLEL 옵션을 활용하면 속도 개선 가능

마무리

Oracle과 Tibero에서 테이블을 찾는 방법은 거의 동일합니다.
USER_TABLES, ALL_TABLES, DBA_TABLES 3가지를 상황에 맞게 사용하면
내 계정, 다른 계정, 전체 DB까지 빠르게 검색할 수 있습니다.

테이블처럼 컬럼을 찾는 방법도 있습니다. 👉 컬럼 찾기 포스팅 보러 가기

관련 포스팅들

위로 스크롤