728x90
# DYNAMIC PERFORMANCE
- v$fixed_table – v$로 시작하는 dynamic performance view의 사전
- dictionary – data dictionary(user_tables, all_tables, dba_tables) 의 사전
: user_tables : 내가 생성한 테이블
: all_tables : 내가 생성한 테이블 + 다른 유져가 권한준 테이블
: dba_tables : DB에 있는 모든 테이블
- SQL> select * from dictionary
n Dynamic Performance 조회
SQL> select * from v$fixed_table;
SQL> select *
from v$fixed_table
where name like '%CONTROL%';
문제39. 현재 DB에 있는 테이블 스패이스와 데이터파일들을 조회하시오
col tablespace_name for a10
col file_name for a55
SQL> select tablespace_name, file_name
from dba_data_files;
문제41. ts01 이라는 100MB 테이블 스패이스를 생성하고 ts01에 아래의 테이블을 생성하시오
테이블명 : emp50
컬럼명 : empno, ename, sal
SQL> create tablespace ts01
datafile '/u01/app/oracle/oradata/dbdb/ts01.dba'
size 100m;
SQL> create table emp50
(empno number(10),
ename varchar2(10),
sal number(10))
tablespace TS01;
점심시간문제. 테이블 스패이스 사용량을 출력하는 프로시져 생성하시오
exec pro36;
tablespcae 이름 사용량
system 96%
sysaux 89%
CREATE OR REPLACE PROCEDURE tablespace_used
IS
CURSOR table_cursor IS
SELECT u.tablespace_name tablesapce
, sum(nvl(u.bytes,0)) / 1024000 large
, (sum(nvl(u.bytes,0)) - sum(nvl(f.bytes,0))) / 1024000 used
, (sum(nvl(f.bytes,0))) / 1024000 unused
, trunc((sum(nvl(f.bytes,0)) / sum(nvl(u.bytes,0))) * 100,2) unused_percent
, 100 - trunc((sum(nvl(f.bytes,0)) / sum(nvl(u.bytes,0))) * 100,2) used_percent
FROM DBA_DATA_FILES u
, DBA_FREE_SPACE f
WHERE u.file_id = f.file_id(+)
GROUP BY
u.tablespace_name
ORDER BY u.tablespace_name;
BEGIN
dbms_output.put_line('TABLESPACE NAME USED(percent)');
dbms_output.put_line('---------------------------------');
FOR table_record IN table_cursor LOOP
dbms_output.put_line(' '|| table_record.tablesapce || ' ' || table_record.used_percent || '%' );
END LOOP;
END;
/
'빅데이터과정 > WORKSHOP 1 ' 카테고리의 다른 글
#19_140709_WSHOP_SCRIPT 확인 (0) | 2014.07.15 |
---|---|
#19_140709_WSHOP_TABLESPACE (0) | 2014.07.15 |
#19_140709_WSHOP_깔끔하게 출력하는법 (0) | 2014.07.15 |
#19_140709_WSHOP_장애복구 (0) | 2014.07.15 |
#19_140709_WSHOP_SHUTDOWN 옵션 (0) | 2014.07.15 |