1. SYSTEM tablespace
- 데이터 딕셔러리들이 저장, 데이터 딕셔러리란 오라클 서버의 모든 정보를 저장하고 있는 아주 중요한 테이블이나 뷰들. 조회만 가능
- 데이터 딕셔리는 크게 base table과 Data dictionary view로 나눔
- base table
- 데이터베이스를 생성할 때(dbca, create database 등) 생성, 원본 데이터가 들어 있는 중요한 곳이라 DBA 접근 할 수 없음, 그래서 조회 할 수 있도록 추가적으로 Data Dictionary View를 제공
- Data Dictionary View
- dbca를 사용해서 데이터베이스를 생성 할 경우 자동 생성되지만 Create Database 명령러로 수동 생성할 경우에는 자동으로 생성되지 않음. 그래서 반드시 Create Database를 수행 한 후 catalog.sql 스크립트를 추가로 실행
- 크게 Static Dictionary와 Dynamic Dictionary로 나눔. Static Dictionary는 딕셔너리에 저장된 정보들이 자동으로 변경되지 않음
Static Dictionary를 analyzed(해당 테이블 전체 스캔 하므로 사용 시 주의) 사용하여 수동으로 정보 update
SQL> conn scott/tiger
SQL> show user;
USER is "SCOTT"
SQL> create table stest (no number);
Table created.
SQL> begin
2 for i in 1..100 loop
3 insert into stest values(i);
4 end loop;
5 commit;
6 end;
7 /
PL/SQL procedure successfully completed.
SQL> select count(*) from stest;
COUNT(*)
----------
100
SQL> select table_name,num_rows from user_tables
2 where table_name='STEST';
TABLE_NAME NUM_ROWS
------------------------------ ----------
STEST
SQL> analyze table stest compute statistics;
Table analyzed.
SQL> select table_name,num_rows from user_tables where table_name='STEST';
TABLE_NAME NUM_ROWS
------------------------------ ----------
STEST 100
딕셔너리의 주요 내용
1.데이터베이스의 논리적인 구조와 물리적인 구조 정보들
2. 객체의 정의와 공간 사용 정보들
3. 제약조건에 관련된 정보들
4. 사용자에 관련된 정보들
5. Role, Privilege 등에 관련된 정보들
6. 감사 및 보안등에 관련된 정보들
딕셔너리 카테고리(Static Dictionary)
- USER_XXX
해당 사용자가 생성한 내용만 볼 수 있는 딕셔너리 ex)user_tables, user_indexes - ALL_XXX
해당 사용자가 생성한 것과 생성하지 않아도 접근이 가능한 내용을 볼 수 있는 딕셔너리 ex)all_tables, all_indexes - DBA_XXX
데이터베이스에 생성되어 있는 모든 내용을 다 볼 수 있는 딕셔너리. DBA라는 권한을 가지고 있는 사용자만 조회 가능 ex)dba_tables, dba_indexes
SQL> select count(*) from dictionary;
COUNT(*)
----------
2553
2. SYSAUX tablespace
- 오라클 10g 부터 등장
- 주로 오라클 서버의 성능 튜닝을 위한 데이터들이 저장
3. 일반 tablespace
- 가장 일반적으로 많이 사용되는 tablespace로 관리자가 필요에 의해 만드는 tablespace
- DBA의 뜻대로 만들고 삭제 가능
SQL> create tablespace haksa datafile '/app/oracle/oradata/testdb/haksa01.dbf' size 1M;
Tablespace created.
SQL> !cat tablespacequery.sql
select tablespace_name, status, contents, extent_management, segment_space_management from dba_tablespaces;
SQL> @tablespacequery
TABLESPACE_NAME STATUS CONTENTS EXTENT_MAN SEGMEN
------------------------------ -------- --------- ---------- ------
SYSTEM ONLINE PERMANENT LOCAL MANUAL
SYSAUX ONLINE PERMANENT LOCAL AUTO
UNDOTBS1 ONLINE UNDO LOCAL MANUAL
TEMP ONLINE TEMPORARY LOCAL MANUAL
USERS ONLINE PERMANENT LOCAL AUTO
EXAMPLE ONLINE PERMANENT LOCAL AUTO
HAKSA ONLINE PERMANENT LOCAL AUTO
SQL> !cat tablespacesize.sql
set line 200
col tablespace_name for a15
col MB for 9999
col file_name for a50
select tablespace_name, bytes/1024/1024 MB, file_name from dba_data_files;
SQL> @tablespacesize
TABLESPACE_NAME MB FILE_NAME
--------------- ----- --------------------------------------------------
USERS 5 /app/oracle/oradata/testdb/users01.dbf
UNDOTBS1 85 /app/oracle/oradata/testdb/undotbs01.dbf
SYSAUX 490 /app/oracle/oradata/testdb/sysaux01.dbf
SYSTEM 680 /app/oracle/oradata/testdb/system01.dbf
EXAMPLE 100 /app/oracle/oradata/testdb/example01.dbf
HAKSA 1 /app/oracle/oradata/testdb/haksa01.dbf
SQL> !cat datafileuse.sql
set line 200
col file# for 999
col ts_name for a10
col total_blocks for 9999999
col used_blocks for 9999999
col pct_used for a10
select distinct d.file_id file#, d.tablespace_name ts_name, d.bytes/1024/1024 MB, d.bytes/8192 total_blocks, sum(e.blocks) used_blocks, to_char( nvl(round(sum(e.blocks)/(d.bytes/8192), 4),0) *100, '09.99') || '%' pct_used
from dba_extents e, dba_data_files d
where d.file_id = e.file_id(+)
group by d.file_id, d.tablespace_name, d.bytes
order by 1,2;
SQL> @datafileuse
FILE# TS_NAME MB TOTAL_BLOCKS USED_BLOCKS PCT_USED
----- ---------- ----- ------------ ----------- ----------
1 SYSTEM 680 87040 86024 98.83%
2 SYSAUX 490 62720 59272 94.50%
3 UNDOTBS1 85 10880 2088 19.19%
4 USERS 5 640 400 62.50%
5 EXAMPLE 100 12800 9952 77.75%
6 HAKSA 1 128 00.00%
'IT > oracle' 카테고리의 다른 글
Extent와 Segment (0) | 2015.01.30 |
---|---|
Temporary tablespace (0) | 2015.01.30 |
Undo Tablespace와 관리 (0) | 2015.01.30 |
Tablespace 관리 (0) | 2015.01.30 |
Tablespace File 이동 (0) | 2015.01.30 |
Redo Log File 관리 하기 (0) | 2015.01.29 |
Redo Log의 생성 원리 (0) | 2015.01.28 |
Glossary (0) | 2015.01.28 |
Control File 다중화(Multiplexing)하기 (0) | 2015.01.28 |
profile 설정 (0) | 2015.01.28 |