
SQL> select tablespace_name, status
from dba_tablespaces;
TABLESPACE STATUS
---------- ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
TS01 ONLINE
TS02 ONLINE
TS03 ONLINE
TS04 ONLINE
TEST_BIG ONLINE
10 행이 선택되었습니다.
SQL> save ts_status.sql
SQL> connect scott/tiger
연결되었습니다.
SQL>
SQL> create table emp778
tablespace ts01
as
select *
from emp;
테이블이 생성되었습니다.
SQL> col table_name for a10
SQL> select table_name, tablespace_name
from user_tables
SQL> connect sys/oracle_4U as sysdba
연결되었습니다.
SQL>
SQL> alter tablespace ts01 offline;
테이블스페이스가 변경되었습니다.
SQL> @ts_status
TABLESPACE STATUS
---------- ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
TS01 OFFLINE
TS02 ONLINE
TS03 ONLINE
TS04 ONLINE
TEST_BIG ONLINE
10 행이 선택되었습니다.
SQL> connect scott/tiger
연결되었습니다.
SQL>
SQL> select * from emp778;
select * from emp778
*
#### 1행에 오류:
ORA-00376: 현재 파일 5를 읽을 수 없습니다 ORA-01110: 5
데이터 파일: '/u01/app/oracle/oradata/ORA19/ts01.dbf'
--> offline 상태라서 select가 안됨
SQL> connect / as sysdba
연결되었습니다.
SQL>
SQL> alter tablespace ts01 online;
테이블스페이스가 변경되었습니다.
SQL> @ts_status
TABLESPACE STATUS
---------- ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
TS01 ONLINE
TS02 ONLINE
TS03 ONLINE
TS04 ONLINE
TEST_BIG ONLINE
10 행이 선택되었습니다.
SQL> alter tablespace system offline;
alter tablespace system offline
*
1행에 오류:
ORA-01541: SYSTEM 테이블스페이스는 오프라인될 수 없습니다. 필요하면
종료하십시오.
SQL> alter tablespace sysaux offline;
alter tablespace sysaux offline
*
1행에 오류:
ORA-13560: SYSAUX 테이블스페이스는 오프라인으로 설정할 수 없습니다. 필요하면
종료하십시오.
💡 offline 되기는 하지만 offline 시키면 안됨!
system 테이블 스페이스의 역할
db를 운영하기 위한 가장 핵심 데이터를 저장하는 공간
↓
data dictionary
data dictionary
sql developer에서
```sql
select *
from dictionary;
💡 empno 라는 컬럼을 갖고있는 테이블이 무엇이 있는지 확인하고 싶으면 해당 딕셔너리를 알아야합니다.
select *
from dictionary
where table_name like '%COLUMNS%';
SELECT *
from dba_tab_columns
where column_name like '%EMPNO%';
다음장에서 12c 설치 후 em 설치예정
SQL> create table emp
2 as
3 select *
4 from scott.emp;
테이블이 생성되었습니다.
SQL> select table_name, tablespace_name
2 from user_tables
3 where table_name='EMP';
TABLE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
EMP
SYSTEM
SQL> DROP table emp;
테이블이 삭제되었습니다.