
[이론1] 테이블 스페이스 생성시 고려사항 2가지
1. extent 관리 방법
① dictionary 관리 방식 : 데이터를 입력할 때 비어있는 공간에 대한 정보를
SYSTEM 테이블 스페이스에 있는 data dictionary 에서
관리하는 방식
② local 관리 방식 : 로컬 테이블 스페이스에 데이터를 입력할 때
비어있는 공간에 대한 정보를 내가 가지고 있는 관리 방식
2. 저장되는 data의 성격
① permanent
② temporary
③ undo
[실습1] 현재 테이블 스페이스의 extent 관리 방식이 어떻게 되어있는지 확인하시오
SELECT tablespace_name, extent_management
from dba_tablespaces;
[실습2] dictionary 관리방식 테이블스페이스와 local 관리방식 테이블스페이스를 생성하는 문법을 써서 2개 테이블 스페이스를 생성하시오
select tablespace_name, file_name
from dba_data_files;
create tablespace ts07
datafile '/u01/app/oracle/oradata/ORA19/ts07.dbf' size 10m
extent management local;
create tablespace ts08
datafile '/u01/app/oracle/oradata/ORA19/ts08.dbf' size 10m
extent management dictionary;
create table emp07
tablespace ts07
as
select *
from scott.emp;
select * from emp07;
insert into emp07(empno, ename, sal)
values(1111,'aaa', 3000);
SELECT tablespace_name, extent_management
from dba_tablespaces;
문제1. (데이터 이행 프로젝트1) oltp에는 있는데 dw 쪽에는 없는 테이블 스페이스를 dw 쪽에 위치에 맞춰서 이름을 동일하게 해서 생성하시오
1. 먼저 윈도우 클라이언트 tnsnames.ora 에 dw 로 접속하기위한 tns정보를 넣습니다.
kbm_dw =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.69)(PORT =21533 ))
(CONNECT_DATA =
(SERVER = dedicated)
(SERVICE_NAME = ora19dw)
)
)
2. dw쪽에서 oltp 쪽으로 디비링크를 생성합니다.
create database link oltp_link
connect to system
identified by oracle_4U
using '192.168.13.69:21533/ORA19';
select tablespace_name from dba_tablespaces@oltp_link;
3. oltp 쪽 테이블 스페이스와 dw 쪽 테이블 스페이스의 차이가 있는지 확인하시오
select tablespace_name from dba_tablespaces@oltp_link
minus
select tablespace_name from dba_tablespaces;
select tablespace_name from dba_tablespaces
minus
select tablespace_name from dba_tablespaces@oltp_link;
4. 차이가 있는 테이블 스페이스의 크기도 같이 확인하시오
select tablespace_name, sum(bytes/1024/1024)
from dba_data_files@oltp_link
where tablespace_name in (
select tablespace_name from dba_data_files@oltp_link
minus
select tablespace_name from dba_data_files )
group by tablespace_name;
5. 차이가 나는 테이블 스페이스를 생성합니다.
create tablespace ts02
datafile '/u01/app/oracle/oradata/ORA19DW/ts02.dbf' size 40m;
create tablespace test_big
datafile '/u01/app/oracle/oradata/ORA19DW/test_big01.dbf' size 20m;
create tablespace ts03
datafile '/u01/app/oracle/oradata/ORA19DW/ts03.dbf' size 20m;
create tablespace ts04
datafile '/u01/app/oracle/oradata/ORA19DW/ts04.dbf' size 30m;
create tablespace ts07
datafile '/u01/app/oracle/oradata/ORA19DW/ts07.dbf' size 1024m;