테이블스페이스 관리

2012. 6. 18. 09:24

* 세션정보

    select * from v$session;

* 사용자권한정보

    SELECT * FROM USER_ROLE_PRIVS ;

* 테이블스페이스별 사용량 확인

    SELECT A.TABLESPACE_NAME AS "TABLESPACE", A.FILE_NAME AS "DATA FILE", 

           A.AVAIL AS "SIZE", NVL(B.FREE,0) AS "FREE",

           (100-NVL(ROUND(((FREE/AVAIL)*100),2),0))||'%' "USED %"

    FROM (SELECT TABLESPACE_NAME, FILE_ID,FILE_NAME, ROUND(SUM(BYTES/(1024*1024)),3) AVAIL

          FROM DBA_DATA_FILES

         GROUP BY TABLESPACE_NAME, FILE_ID, FILE_NAME) A,

         (SELECT TABLESPACE_NAME, FILE_ID, ROUND(SUM(BYTES/(1024*1024)),3) FREE

          FROM DBA_FREE_SPACE

          GROUP BY TABLESPACE_NAME, FILE_ID) B

    WHERE A.FILE_ID=B.FILE_ID

    ORDER BY 1,2;

* 테이블스페이스를 사용하는 계정들 (ex : SYSTEM)

    select owner,table_name from dba_tables 

    where tablespace_name='SYSTEM' 

    and owner not in('SYS','SYSTEM')

*테이블 스페이스 생성

    create tablespace 테이블스페이스명

    datafile 'C:\oraclexe\oradata\XE\파일명.dbf'

    size 100m;

*테이블스페이스 삭제

    drop user 테이블스페이스명 cascade;

*테이블 스페이스 용량 변경

    ALTER DATABASE DATAFILE '파일경로' RESIZE 용량M;

*사용자 계정 생성

    create user 계정명

    identified by 비번

    default tablespace 테이블스페이스명

    temporary tablespace 임시테이블스페이스명;

*사용자 계정 삭제

    DROP USER tmsuser CASCADE;

-수정

    alter user 계정명 default tablespace 테이블스페이스명;

    alter user 계정명 temporaryt tablespace 임시테이블스페이스명;

*사용자 권한 설정

    grant connect, resource to 계정명;

*사용자 DBA 권한 부여

    GRANT dba to 계정명;

*사용자 DBA 권한 회수

    revoke dba from 계정명;

밥짓는아이 테크노트/DBMS