오라클에서 스키마에 들어있는 테이블 중 데이터가 많이 들어있는 테이블을 찾아보려다 보니 위와 같은 쿼리를 만들게 되었는데 사용법은 A.OWNER = 'SCOTT' 부분의 SCOTT만 스키마명으로 바꿔주면 해당 스키마에 들어있는 전체 테이블을 행 수를 기준으로 역정렬해서 보여준다 스크린샷에 사용한 쿼리는 아래 쿼리를 그대로 복사 붙여넣기 해서 스키마만 바꿔주면 된다
DB내에서 모든 테이블을 조회하기 전체 테이블 조회
소유자(OWNER) 조회 SELECT * FROM ALL_TABLES WHERE OWNER LIKE '%OWNER명%'; 테이블명 포함 된 조회 SELECT * FROM USER_TABLES WHERE TABLE_NAME LIKE '%테이블명%'; 테이블스페이스 이름으로 조회 SELECT * FROM USER_TABLES WHERE TABLESPACE_NAME LIKE '%테이블스페이스명%'; ================================================== ※. 아래는 부가 설명이 있음 ================================================== 전체 테이블 조회 방법 3가지
ALL_TABLES 테이블 구조 USER_TABLES 테이블 구조 TAB 테이블 구조 관리자 계정일 경우 - 모든 계정의 DB를 다 보여줌 ALL_TABLES (추천) ex) SELECT * FROM ALL_TABLES; 관리자 계정이 아닐 경우 (방법 3가지) ALL_TABLES VS USER_TABLE (추천) = TAB 1. ALL_TABLES - 현재 계정과 관리자 DB만 보여짐 ex) SELECT * FROM ALL_TABLES; 2. USER_TABLE - 현재 계정이 가지고 있는 DB만 보여짐 ex) SELECT * FROM USER_TABLES; 3. TAB -현재 계정이 가지고 있는 DB만 보여짐 ※주의 : TNAME, TABTYPE 컬럼만 있음 ex) SELECT * FROM TAB; |