본문 바로가기

테이블 행수(row,레코드)와 빈공간 없애는 방법 사용중인 테이블들에 들어가 있는 데이터의 행수(레코드)를 알고 싶은 경우가 있습니다. 데이터가 많은 테이블을 특별 관리하고 싶기때문이죠. select table_name, num_rows from user_tables; 로그인한 계정이 소유한 테이블들의 레코드수를 확인할 수 있습니다. sysadm 권한으로 로그인한 경우 테이블스페이스 파일별 위치와 사이즈(크기) 등 다양한 상태정보를 알수 있습니다. select * from dba_data_files; - 실행 결과 입니다. 파일 위치와 이름, 파일 크기, 자동증가 상태 등을 자세히 알 수 있습니다. 간혹 파일 경로를 옮겨야 할때도 있고, 경로를 알고 싶을때 사용하시면 됩니다. - 이중에 사용하지 않는 테이블 스페이스 파일(datafiles)을 포함해서 .. 더보기
테이블스페이스 및 테이블 관리(소유한 태이블과 스페이스 그리고 컬럼명) 로그인한 계정별로 사용하는 테이블 스페이스와 테이블과의 관계를 조회하는 방법입니다. 갑자기 데이터를 저장하는데 테이블 스페이스의 공간이 부족하다는 경고가 뜨면서 데이터 저장이 안될때, 타켓(저장) 테이블의 테이블 스페이스(tablespace)를 알아야 사이즈를 늘릴수 있다. 이때 현황을 확인하는 방법입니다. select table_name, tablespace_name, partitioned from tabs; 테이블 스페이스는 sysdba 권한이 있어야 가능합니다. ^^ 알고 계시죠. 어떤 테이블스페이스인지 확인하셨다면, 이제 공간을 늘리셔야죠! 그럼 어떤 테이블 스페이를 늘려야 하는지 해당 DB 파일을 찾아 봅니다. select tablespace_name, file_name, bytes, statu.. 더보기
DB OWNER가 소유한 테이블 조회하기 DB 관리자가 여러명이다보면, 이 사람, 저 사람이 마구 테이블을 생성하는 경우가 있습니다. USER별로 소유하고 있는 테이블을 조회하는 방법입니다. 물론 도구를 사용하면 바로 확인 가능하게죠 ^^ 로그인한 사용자 계정의 권한에 따라 normal 사용자 계정이라면 자기가 만든 테이블만 확인할 수 있습니다. SELECT * FROM USER_TABLES; SYSDBA 계정 소유자는 모든 테이블에 대한 정보를 확인할 수 있습니다. 로그인한 사용자가 소유한 테이블명만 보기 SELECT object_name FROM USER_OBJECTS WHERE object_type='TABLE'; 더보기