

ㄴ 이런식으로 잘 안함
SYS @ ORA19 > @ts
TS01 /u01/app/oracle/oradata/ORA19/ts01.dbf 10
TS01 /u01/app/oracle/oradata/ORA19/ts01b.dbf 30
SYS @ ORA19 > drop tablespace ts01;
drop tablespace ts01
*
1행에 오류:
ORA-01549: 테이블스페이스가 비어있지 않으므로 INCLUDING CONTENTS 옵션을 사용해
주십시오
SYS @ ORA19 > drop tablespace ts01 including contents;
테이블스페이스가 삭제되었습니다.
SYS @ ORA19 >
[oracle@ora19c ~]$ cd /u01/app/oracle/oradata/ORA19
[oracle@ora19c ORA19]$
[oracle@ora19c ORA19]$ ls
backup redo03.log test_big.dbf ts02b.dbf ts04c.dbf
control01.ctl sysaux01.dbf ts01.dbf ts03.dbf ts07.dbf
redo01.log system01.dbf ts01b.dbf ts04a.dbf undotbs01.dbf
redo02.log temp01.dbf ts02.dbf ts04b.dbf users01.dbf
[oracle@ora19c ORA19]$
[oracle@ora19c ORA19]$ rm ts01.dbf
[oracle@ora19c ORA19]$ rm ts01b.dbf
[oracle@ora19c ORA19]$
SYS @ ORA19 > @ts.sql
TS02 /u01/app/oracle/oradata/ORA19/ts02.dbf 20
TS02 /u01/app/oracle/oradata/ORA19/ts02b.db
SYS @ ORA19 > drop tablespace ts02 including contents and datafiles;
테이블스페이스가 삭제되었습니다.
drop tablespace ts02 including contents and datafiles;
--> rm ts02.dbf까지 같이 된 것
오렌지에서 하기
select 'drop tablespace ' || tablespace_name
|| ' including contents and datafiles cascade constraints;'
from dba_tablespaces
where tablespace_name like 'TS%';
drop tablespace TS03 including contents and datafiles cascade constraints;
drop tablespace TS04 including contents and datafiles cascade constraints;
drop tablespace TS07 including contents and datafiles cascade constraints;
drop tablespace TS400 including contents and datafiles cascade constraints;
drop tablespace TS500 including contents and datafiles cascade constraints;
drop tablespace TS708 including contents and datafiles cascade constraints;
drop tablespace TSBLOCK16 including contents and datafiles cascade constraints;
drop tablespace TSBLOCK32 including contents and datafiles cascade constraints;
drop tablespace INDEX_TS01 including contents and datafiles cascade constraints;
ORA-02449: 외래 키에 의해 참조되는 고유/기본 키가 테이블에 있습니다
위의 경우에는
SYS @ ORA19 >drop tablespace ts07 including contents and datafiles cascade constraints;
이렇게 cascade constraints를 붙여주면 됨
[oracle@ora19c ORA19]$ exp hr/hr owner=hr file=hr.dmp
Export: Release 19.0.0.0.0 - Production on 화 9월 2 15:13:51 2025
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
다음에 접속됨: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
AL32UTF8 문자 설정과 AL16UTF16 NCHAR 문자 설정에서 익스포트가 종료되었습니다
. 스키마 이전 단계의 객체와 작업을 엑스포트합니다\r
. HR 사용자를 위해 외래 함수 라이브러리 이름을 엑스포트합니다
. PUBLIC 유형 동의어 익스포트 중
. 전용 유형 동의어 익스포트 중
. HR 사용자의 객체 유형 정의를 익스포트합니다.
HR의 객체를 익스포트하려고 합니다 ...
. 데이터베이스 링크 익스포트 중
. 순차 번호 익스포트 중
. 클러스터 정의 익스포트 중
. HR의 테이블을 익스포트하려고 합니다 via 규정 경로...
. . COUNTRIES 테이블 익스포트 중 25 행이 엑스포트됨
. . DEPARTMENTS 테이블 익스포트 중 27 행이 엑스포트됨
. . EMPLOYEES 테이블 익스포트 중 107 행이 엑스포트됨
. . JOBS 테이블 익스포트 중 19 행이 엑스포트됨
. . JOB_HISTORY 테이블 익스포트 중 10 행이 엑스포트됨
. . LOCATIONS 테이블 익스포트 중 23 행이 엑스포트됨
. . REGIONS 테이블 익스포트 중 4 행이 엑스포트됨
. 동의어 익스포트 중
. 뷰 익스포트 중
. 저장 프로시저 익스포트 중
. 작업을 엑스포트합니다
. 참조 무결성 제약조건 익스포트 중
. 트리거 익스포트 중
. 인덱스유형을 엑스포팅합니다
. 비트맵, 함수, 기능과 확장 가능한 인덱스들을 엑스포트합니다
. 이후 테이블 처리 익스포트 중
. 구체화된 뷰 익스포트 중
. 스냅샷 로그 익스포트 중
. 작업 대기열 익스포트 중
. 새로고침 그룹과 하위 그룹 익스포트 중
. 차원을 엑스포트합니다
. 스키마 이후 단계의 객체와 작업을 엑스포트합니다\r
. 통계를 엑스포트합니다
익스포트가 경고 없이 정상적으로 종료되었습니다.
[oracle@ora19c ORA19]$
[oracle@ora19c ORA19]$
[oracle@ora19c ORA19]$ ls -l hr.dmp
hr.dmp 파일 모바텀에 올리기
SYS @ ORA19 > drop user hr cascade;
사용자가 삭제되었습니다.
SYS @ ORA19 > create user hr
identified by hr;
사용자가 생성되었습니다.
SYS @ ORA19 > grant dba to hr;
권한이 부여되었습니다.
SYS @ ORA19 > exit;
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0에서 분리되었습니다.
[oracle@ora19c ~]$
[oracle@ora19c ~]$ imp hr/hr file=hr.dmp fromuser=hr touser=hr
Import: Release 19.0.0.0.0 - Production on 화 9월 2 15:28:52 2025
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
다음에 접속됨: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
익스포트 파일은 규정 경로를 거쳐 EXPORT:V19.00.00 에 의해 생성되었습니다
AL32UTF8 문자집합과 AL16UTF16 NCHAR 문자 집합에 임포트가 완성되었습니다
IMP-00403:
경고: 이 임포트는 권한 문제로 인해 실패한 DDL이 포함된 개별 SQL 파일 "import_sys"을(를) 생성했습니다.
. . 테이블 "COUNTRIES"(를)을 임포트 중 25 행이 임포트되었습니다
. . 테이블 "DEPARTMENTS"(를)을 임포트 중 27 행이 임포트되었습니다
IMP-00017: 다음 명령이 실패하고 ORACLE 14063 오류가 발생했습니다:
"ALTER TABLE "DEPARTMENTS" ADD CONSTRAINT "DEPT_ID_PK" PRIMARY KEY ("DEPART"
"MENT_ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 TABLESPACE "SYSAUX"
"" LOGGING"
IMP-00003: ORACLE 오류 14063이(가) 발생했습니다.
ORA-14063: 고유/기본 키 제약조건에 사용되지 않은 인덱스가 존재합니다
IMP-00017: 다음 명령이 실패하고 ORACLE 14048 오류가 발생했습니다:
"ALTER INDEX "DEPT_ID_PK" UNUSABLE ENABLE "
IMP-00003: ORACLE 오류 14048이(가) 발생했습니다.
ORA-14048: 분할영역 유지 작업이 다른 작업과 결합할 수 없습니다
. . 테이블 "EMPLOYEES"(를)을 임포트 중 107 행이 임포트되었습니다
. . 테이블 "JOBS"(를)을 임포트 중 19 행이 임포트되었습니다
IMP-00017: 다음 명령이 실패하고 ORACLE 14063 오류가 발생했습니다:
"ALTER TABLE "JOBS" ADD CONSTRAINT "JOB_ID_PK" PRIMARY KEY ("JOB_ID") USING"
" INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 TABLESPACE "SYSAUX" LOGGING"
IMP-00003: ORACLE 오류 14063이(가) 발생했습니다.
ORA-14063: 고유/기본 키 제약조건에 사용되지 않은 인덱스가 존재합니다
IMP-00017: 다음 명령이 실패하고 ORACLE 14048 오류가 발생했습니다:
"ALTER INDEX "JOB_ID_PK" UNUSABLE ENABLE "
IMP-00003: ORACLE 오류 14048이(가) 발생했습니다.
ORA-14048: 분할영역 유지 작업이 다른 작업과 결합할 수 없습니다
. . 테이블 "JOB_HISTORY"(를)을 임포트 중 10 행이 임포트되었습니다
IMP-00017: 다음 명령이 실패하고 ORACLE 14063 오류가 발생했습니다:
"ALTER TABLE "JOB_HISTORY" ADD CONSTRAINT "JHIST_EMP_ID_ST_DATE_PK" PRIMARY"
" KEY ("EMPLOYEE_ID", "START_DATE") USING INDEX PCTFREE 10 INITRANS 2 MAXTRA"
"NS 255 TABLESPACE "SYSAUX" LOGGING"
IMP-00003: ORACLE 오류 14063이(가) 발생했습니다.
ORA-14063: 고유/기본 키 제약조건에 사용되지 않은 인덱스가 존재합니다
IMP-00017: 다음 명령이 실패하고 ORACLE 14048 오류가 발생했습니다:
"ALTER INDEX "JHIST_EMP_ID_ST_DATE_PK" UNUSABLE ENABLE "
IMP-00003: ORACLE 오류 14048이(가) 발생했습니다.
ORA-14048: 분할영역 유지 작업이 다른 작업과 결합할 수 없습니다
. . 테이블 "LOCATIONS"(를)을 임포트 중 23 행이 임포트되었습니다
IMP-00017: 다음 명령이 실패하고 ORACLE 14063 오류가 발생했습니다:
"ALTER TABLE "LOCATIONS" ADD CONSTRAINT "LOC_ID_PK" PRIMARY KEY ("LOCATION_"
"ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 TABLESPACE "SYSAUX" LOG"
"GING"
IMP-00003: ORACLE 오류 14063이(가) 발생했습니다.
ORA-14063: 고유/기본 키 제약조건에 사용되지 않은 인덱스가 존재합니다
IMP-00017: 다음 명령이 실패하고 ORACLE 14048 오류가 발생했습니다:
"ALTER INDEX "LOC_ID_PK" UNUSABLE ENABLE "
IMP-00003: ORACLE 오류 14048이(가) 발생했습니다.
ORA-14048: 분할영역 유지 작업이 다른 작업과 결합할 수 없습니다
. . 테이블 "REGIONS"(를)을 임포트 중 4 행이 임포트되었습니다
IMP-00017: 다음 명령이 실패하고 ORACLE 14063 오류가 발생했습니다:
"ALTER TABLE "REGIONS" ADD CONSTRAINT "REG_ID_PK" PRIMARY KEY ("REGION_ID")"
" USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 TABLESPACE "SYSAUX" LOGGING"
IMP-00003: ORACLE 오류 14063이(가) 발생했습니다.
ORA-14063: 고유/기본 키 제약조건에 사용되지 않은 인덱스가 존재합니다
IMP-00017: 다음 명령이 실패하고 ORACLE 14048 오류가 발생했습니다:
"ALTER INDEX "REG_ID_PK" UNUSABLE ENABLE "
IMP-00003: ORACLE 오류 14048이(가) 발생했습니다.
ORA-14048: 분할영역 유지 작업이 다른 작업과 결합할 수 없습니다
IMP-00017: 다음 명령이 실패하고 ORACLE 2270 오류가 발생했습니다:
"ALTER TABLE "DEPARTMENTS" ADD CONSTRAINT "DEPT_LOC_FK" FOREIGN KEY ("LOCATI"
"ON_ID") REFERENCES "LOCATIONS" ("LOCATION_ID") ENABLE NOVALIDATE"
IMP-00003: ORACLE 오류 2270이(가) 발생했습니다.
ORA-02270: 이 열목록에 대해 일치하는 고유 또는 기본 키가 없습니다.
IMP-00017: 다음 명령이 실패하고 ORACLE 2270 오류가 발생했습니다:
"ALTER TABLE "JOB_HISTORY" ADD CONSTRAINT "JHIST_JOB_FK" FOREIGN KEY ("JOB_I"
"D") REFERENCES "JOBS" ("JOB_ID") ENABLE NOVALIDATE"
IMP-00003: ORACLE 오류 2270이(가) 발생했습니다.
ORA-02270: 이 열목록에 대해 일치하는 고유 또는 기본 키가 없습니다.
IMP-00017: 다음 명령이 실패하고 ORACLE 2270 오류가 발생했습니다:
"ALTER TABLE "JOB_HISTORY" ADD CONSTRAINT "JHIST_DEPT_FK" FOREIGN KEY ("DEPA"
"RTMENT_ID") REFERENCES "DEPARTMENTS" ("DEPARTMENT_ID") ENABLE NOVALIDATE"
IMP-00003: ORACLE 오류 2270이(가) 발생했습니다.
ORA-02270: 이 열목록에 대해 일치하는 고유 또는 기본 키가 없습니다.
IMP-00017: 다음 명령이 실패하고 ORACLE 2270 오류가 발생했습니다:
"ALTER TABLE "COUNTRIES" ADD CONSTRAINT "COUNTR_REG_FK" FOREIGN KEY ("REGION"
"_ID") REFERENCES "REGIONS" ("REGION_ID") ENABLE NOVALIDATE"
IMP-00003: ORACLE 오류 2270이(가) 발생했습니다.
ORA-02270: 이 열목록에 대해 일치하는 고유 또는 기본 키가 없습니다.
IMP-00017: 다음 명령이 실패하고 ORACLE 2270 오류가 발생했습니다:
"ALTER TABLE "EMPLOYEES" ADD CONSTRAINT "EMP_DEPT_FK" FOREIGN KEY ("DEPARTME"
"NT_ID") REFERENCES "DEPARTMENTS" ("DEPARTMENT_ID") ENABLE NOVALIDATE"
IMP-00003: ORACLE 오류 2270이(가) 발생했습니다.
ORA-02270: 이 열목록에 대해 일치하는 고유 또는 기본 키가 없습니다.
IMP-00017: 다음 명령이 실패하고 ORACLE 2270 오류가 발생했습니다:
"ALTER TABLE "EMPLOYEES" ADD CONSTRAINT "EMP_JOB_FK" FOREIGN KEY ("JOB_ID") "
"REFERENCES "JOBS" ("JOB_ID") ENABLE NOVALIDATE"
IMP-00003: ORACLE 오류 2270이(가) 발생했습니다.
ORA-02270: 이 열목록에 대해 일치하는 고유 또는 기본 키가 없습니다.
제약 조건을 사용으로 설정에 대한 정보...
IMP-00017: 다음 명령이 실패하고 ORACLE 2430 오류가 발생했습니다:
"ALTER TABLE "DEPARTMENTS" ENABLE CONSTRAINT "DEPT_LOC_FK""
IMP-00017: 다음 명령이 실패하고 ORACLE 2430 오류가 발생했습니다:
"ALTER TABLE "JOB_HISTORY" ENABLE CONSTRAINT "JHIST_JOB_FK""
IMP-00017: 다음 명령이 실패하고 ORACLE 2430 오류가 발생했습니다:
"ALTER TABLE "JOB_HISTORY" ENABLE CONSTRAINT "JHIST_DEPT_FK""
IMP-00017: 다음 명령이 실패하고 ORACLE 2430 오류가 발생했습니다:
"ALTER TABLE "COUNTRIES" ENABLE CONSTRAINT "COUNTR_REG_FK""
IMP-00017: 다음 명령이 실패하고 ORACLE 2430 오류가 발생했습니다:
"ALTER TABLE "EMPLOYEES" ENABLE CONSTRAINT "EMP_DEPT_FK""
IMP-00017: 다음 명령이 실패하고 ORACLE 2430 오류가 발생했습니다:
"ALTER TABLE "EMPLOYEES" ENABLE CONSTRAINT "EMP_JOB_FK""
경고와 함께 임포트가 정상 종료되었습니다.
[oracle@ora19c ~]$
select count(*)
from dba_tables
where owner='HR'; --- 7개
select count(*)
from dba_indexes
where owner='HR'; --- 20개
-- HR 계정의 통계정보를 수집
exec dbms_stats.gather_schema_stats('HR');
-- 테이블 이름과 그 건수 확인
select table_name, num_rows, last_analyzed
from dba_tables
where owner='HR'
order by num_rows desc;