본문 바로가기

IT/oracle

테이블스페이스 및 테이블 관리(소유한 태이블과 스페이스 그리고 컬럼명)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

로그인한 계정별로 사용하는 테이블 스페이스와 테이블과의 관계를 조회하는 방법입니다.

갑자기 데이터를 저장하는데 테이블 스페이스의 공간이 부족하다는 경고가 뜨면서

데이터 저장이 안될때, 타켓(저장) 테이블의 테이블 스페이스(tablespace)를 알아야

사이즈를 늘릴수 있다. 이때 현황을 확인하는 방법입니다.

   select table_name, tablespace_name, partitioned from tabs;

   

 

테이블 스페이스는 sysdba 권한이 있어야 가능합니다. ^^ 알고 계시죠.

어떤 테이블스페이스인지 확인하셨다면, 이제 공간을 늘리셔야죠!

그럼 어떤 테이블 스페이를 늘려야 하는지 해당 DB 파일을 찾아 봅니다.

 

select tablespace_name, file_name, bytes, status, autoextensible from dba_data_files;

확인해보니, 자동증가 설정으로 되어 있지 않내요

이런 경우 db 파일이 설정된 파일보다 커지면, 에러가 발생합니다.

물론 할당 받은 하드디스크 공간이 매우 크거나 무제한인경우 자동증가로 설정을 변경하시면 됩니다.

- 자동증가 설정 방법은 다음과 같습니다.

ALTER DATABASE DATAFILE 'C:\ORACLEXE\ORADATA\XE\BKAU.ORA' AUTOEXTEND ON MAXSIZE UNLIMITED; 

자동 증가 옵션이 변경된걸 확인하시고,

COMMIT; 해주시면 됩니다.^^

*테이블스페이스를 추가 하는 방법도 있습니다.^^

 

데이터베이스를 설계하다보면, 같은 컬럼명을 사용하는 테이블이 있는지
확인하고 싶어진다.

동일한 컴럼을 사용하는 경우 데이터 타입이 같아야하고 같은 의미의
데이터가 저장되어야 한다.

그럴때는 다음과 같이 컬럼명으로 조회해 보면됩니다.

- SPECIES 라는 컬럼명을 사용하는 테이블을 조사하는 쿼리

select table_name, data_type, data_length, column_name
from cols
where column_name='SPECIES';


실행 결과 4개의 테이블에서 SPECIES 라는 컬럼명을 사용하고 데이터 타입과 크기가 동일합니다.


- 전체 컬럼명을 조회하는 쿼리
select *  from cols;