본문 바로가기

카테고리 없음

12주차 백업실습

반응형

백업 실습

Backup-Loader.pdf
0.28MB



**** lfioption error가 나는 경우 해결법 ****

 

E:\app\USER\product\11.2.0\dbhome_1\BIN
-----------------------------------------------------
--->log화일을 지정하지 않으면 디포트로 bin디렉토리에 화일을 만드는데
쓰기 권한이 없어 생기는 오류
--->log화일을 저장할 디렉토리 지정

먼저 e:\ora_backup 폴더를 만들자

오라클 BIN폴더에서 cmd 실행
(파일 탐색기 탐색 창에서 cmd . 쳐보자)

=======================
테이블 단위 백업(exp 유틸리티 사용)
=======================

 

exp.exe -> export

imp.exe -> import


Full level Export

DB1-> 백업용폴더만들기

E:\db1



일반 사용자가 자신의 테이블을 백업
scott가 emp, dept 두개의 테이블을 백업해보자
PS E:\app\USER\product\11.2.0\dbhome_1\BIN> exp userid=system file='E:\db1' full=y

PS C:\Users\USER> cd E:\app\USER\product\11.2.0\dbhome_1\BIN
PS E:\app\USER\product\11.2.0\dbhome_1\BIN> exp userid=TAEHO/1234 file='E:\db1\fullexp.dmp' full=y

Export: Release 11.2.0.1.0 - Production on 화 11월 15 15:40:29 2022

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


다음에 접속됨: Personal Oracle Database 11g Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
EXP-00023: 전체 데이터베이스 또는 테이블스페이스 익스포트를 수행하려면 DBA여야 합니다.
(2)U(사용자), 또는 (3)T(테이블): (2)U >

권한 부여 익스포트 (yes/no): yes >

테이블 데이터 익스포트 (yes/no): yes >

확장 영역 압축 (yes/no): yes >

KO16MSWIN949 문자 설정과 AL16UTF16 NCHAR 문자 설정에서 익스포트가 종료되었습니다
. 스키마 이전 단계의 객체와 작업을 엑스포트합니다\r

. TAEHO 사용자를 위해 외래 함수 라이브러리 이름을 엑스포트합니다
. PUBLIC 유형 동의어 익스포트 중
. 전용 유형 동의어 익스포트 중
. TAEHO 사용자의 객체 유형 정의를 익스포트합니다.
TAEHO의 객체를 익스포트하려고 합니다 ...
. 데이터베이스 링크 익스포트 중
. 순차 번호 익스포트 중
. 클러스터 정의 익스포트 중
. TAEHO의 테이블을 익스포트하려고 합니다 via 규정 경로...
. .                            DEPT 테이블 익스포트 중          5 행이 엑스포트됨
. .                           DUMMY 테이블 익스포트 중          1 행이 엑스포트됨
. .                             EMP 테이블 익스포트 중         17 행이 엑스포트됨
. .                     EMP_SUMMARY 테이블 익스포트 중          8 행이 엑스포트됨
. .                         MANAGER 테이블 익스포트 중          4 행이 엑스포트됨
. .                               P 테이블 익스포트 중          6 행이 엑스포트됨
. .                               S 테이블 익스포트 중          5 행이 엑스포트됨
. .                        SALGRADE 테이블 익스포트 중          5 행이 엑스포트됨
. .                              SP 테이블 익스포트 중         12 행이 엑스포트됨
. .                            주문 테이블 익스포트 중          1 행이 엑스포트됨
. 동의어 익스포트 중
. 뷰 익스포트 중
. 저장 프로시저 익스포트 중
. 작업을 엑스포트합니다
. 참조 무결성 제약조건 익스포트 중
. 트리거 익스포트 중
. 인덱스유형을 엑스포팅합니다
. 비트맵, 함수, 기능과 확장 가능한 인덱스들을 엑스포트합니다
. 이후 테이블 처리 익스포트 중
. 구체화된 뷰 익스포트 중
. 스냅샷 로그 익스포트 중
. 작업 대기열 익스포트 중
. 새로 고침 그룹과 하위 그룹 익스포트 중
. 차원을 엑스포트합니다
. 스키마 이후 단계의 객체와 작업을 엑스포트합니다\r

. 통계를 엑스포트합니다
익스포트가 경고를 보이며 성공적으로 끝났습니다
PS E:\app\USER\product\11.2.0\dbhome_1\BIN>
PS E:\app\USER\product\11.2.0\dbhome_1\BIN>


exp userid=scott/tiger file='e:\ora_backup\scott_emp_dept.dmp' tables=(EMP, DEPT) log='e:\ora_backup\scott_emp_dept.log'

혹은 비번 노출 방지를 위하여 다음과 같이 할 수도 있음

exp userid=scott file='e:\ora_backup\scott_emp_dept.dmp' tables=(EMP, DEPT) log='e:\ora_backup\scott_emp_dept.log'

백업되었다

SQP Plus Scott 계정에서 두 테이블을 지워본다

drop table emp;
drop table dept;

이제 복구 해보자
====================
복구하기 (imp 유틸리티 사용)
====================

imp userid=scott/tiger file='e:\ora_backup\scott_emp_dept.dmp'
imp userid=scott file='e:\ora_backup\scott_emp_dept.dmp'

PS E:\app\USER\product\11.2.0\dbhome_1\BIN> imp userid=TAEHO/1234 file='E:\db1\fullexp.dmp' full=y

이렇게 치면

PS E:\app\USER\product\11.2.0\dbhome_1\BIN> imp userid=TAEHO/1234 file='E:\db1\fullexp.dmp' full=y

Import: Release 11.2.0.1.0 - Production on 화 11월 15 15:42:30 2022

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


다음에 접속됨: Personal Oracle Database 11g Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

익스포트 파일은 규정 경로를 거쳐 EXPORT:V11.02.00 에 의해 생성되었습니다
KO16MSWIN949 문자집합과 AL16UTF16 NCHAR 문자 집합에 임포트가 완성되었습니다
. TAEHO 객체를 TAEHO(으)로 임포트하는 중입니다
IMP-00015: 객체가 이미 존재하므로 다음 명령이 실패했습니다
 "CREATE SEQUENCE "주문번호발생기" MINVALUE 1 MAXVALUE 100 INCREMENT BY 1 STA"
 "RT WITH 3 NOCACHE NOORDER NOCYCLE"
IMP-00015: 객체가 이미 존재하므로 다음 명령이 실패했습니다
 "CREATE TABLE "DEPT" ("DEPTNO" NUMBER(2, 0), "DNAME" VARCHAR2(14), "LOC" VAR"
 "CHAR2(13), "EMPLOYEES" NUMBER(3, 0))  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXT"
 "RANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 FREELISTS 1 FREELI"
 "ST GROUPS 1 BUFFER_POOL DEFAULT)                    LOGGING NOCOMPRESS"
IMP-00015: 객체가 이미 존재하므로 다음 명령이 실패했습니다
 "CREATE TABLE "DUMMY" ("DUMMY" NUMBER)  PCTFREE 10 PCTUSED 40 INITRANS 1 MAX"
 "TRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 FREELISTS 1 FREEL"
 "IST GROUPS 1 BUFFER_POOL DEFAULT)                    LOGGING NOCOMPRESS"
IMP-00015: 객체가 이미 존재하므로 다음 명령이 실패했습니다
 "CREATE TABLE "EMP" ("EMPNO" NUMBER(4, 0), "ENAME" VARCHAR2(10), "JOB" VARCH"
 "AR2(9), "MGR" NUMBER(4, 0), "HIREDATE" DATE, "SAL" NUMBER(7, 2), "COMM" NUM"
 "BER(7, 2), "DEPTNO" NUMBER(2, 0) NOT NULL ENABLE)  PCTFREE 10 PCTUSED 40 IN"
 "ITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 FREEL"
 "ISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)                    LOGGING NO"
 "COMPRESS"
IMP-00015: 객체가 이미 존재하므로 다음 명령이 실패했습니다
 "CREATE TABLE "EMP_SUMMARY" ("EMPNO" NUMBER(4, 0), "ENAME" VARCHAR2(10), "JO"
 "B" VARCHAR2(9), "INCOME" NUMBER(7, 2), "DNAME" VARCHAR2(14))  PCTFREE 10 PC"
 "TUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTE"
 "NTS 1 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)                   "
 " LOGGING NOCOMPRESS"
IMP-00015: 객체가 이미 존재하므로 다음 명령이 실패했습니다
 "CREATE TABLE "MANAGER" ("ID" NUMBER(4, 0), "NAME" VARCHAR2(10), "SALARY" NU"
 "MBER(7, 2), "HIREDATE" DATE)  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255"
 " STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 FREELISTS 1 FREELIST GROUP"
 "S 1 BUFFER_POOL DEFAULT)                    LOGGING NOCOMPRESS"
IMP-00015: 객체가 이미 존재하므로 다음 명령이 실패했습니다
 "CREATE TABLE "P" ("P#" CHAR(3) NOT NULL ENABLE, "PNAME" CHAR(5), "COLOR" CH"
 "AR(5), "WEIGHT" NUMBER(3, 0), "CITY" CHAR(7))  PCTFREE 10 PCTUSED 40 INITRA"
 "NS 1 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 FREELISTS"
 " 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)                    LOGGING NOCOMP"
 "RESS"
IMP-00015: 객체가 이미 존재하므로 다음 명령이 실패했습니다
 "CREATE TABLE "S" ("S#" CHAR(3), "SNAME" CHAR(5), "STATUS" NUMBER(2, 0), "CI"
 "TY" CHAR(7))  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL"
 " 65536 NEXT 1048576 MINEXTENTS 1 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL "
 "DEFAULT)                    LOGGING NOCOMPRESS"
IMP-00015: 객체가 이미 존재하므로 다음 명령이 실패했습니다
 "CREATE TABLE "SALGRADE" ("GRADE" NUMBER, "LOSAL" NUMBER, "HISAL" NUMBER)  P"
 "CTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 104"
 "8576 MINEXTENTS 1 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)       "
 "             LOGGING NOCOMPRESS"
IMP-00015: 객체가 이미 존재하므로 다음 명령이 실패했습니다
 "CREATE TABLE "SP" ("S#" CHAR(3), "P#" CHAR(3), "QTY" NUMBER(5, 0))  PCTFREE"
 " 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 M"
 "INEXTENTS 1 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)             "
 "       LOGGING NOCOMPRESS"
IMP-00015: 객체가 이미 존재하므로 다음 명령이 실패했습니다
 "CREATE TABLE "주문" ("주문번호" CHAR(12))  PCTFREE 10 PCTUSED 40 INITRANS 1"
 " MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 FREELISTS 1 F"
 "REELIST GROUPS 1 BUFFER_POOL DEFAULT)                    LOGGING NOCOMPRESS"
PS E:\app\USER\product\11.2.0\dbhome_1\BIN>


백업 테이블을 다른 사용자에게 복구해줄 수 도 있다(시스템 계정으로 실행해야함)

imp userid=system/Manager7083 file='e:\ora_backup\scott_emp_dept.dmp' fromuser=scott touser=lhk7083 
imp userid=system/Manager7083 file='e:\ora_backup\scott_emp_dept.dmp' fromuser=scott touser=public 


====================
사용자 테이블 일괄 백업/복구
====================
exp userid=scott/tiger file='e:\ora_backup\scott.dmp'
imp userid=scott/tiger file='e:\ora_backup\scott.dmp'

============================
전체 DB 백업(반드시 시스템 계정으로 실행)
============================
exp userid=system file='e:\ora_backup\full.dmp'  full=y  log='e:\ora_backup\dump.log'
exp userid=system file='e:\ora_backup\full.dmp' full=y  log='e:\ora_backup\dump.log'



=======================================
SQL Loader를 이용한 외부 화일데이터 삽입 (SP테이블 사용)
=======================================

1. control 화일에 입력 화일이 지정되어 있는 경우

1-1. Blank로 필드 구분
sqlldr scott/tiger control=sp_input.ctl log='e:\ora_backup\scott_sp.log' bad='e:\ora_backup\scott_sp_bad.txt'

1-1.고정길이로 필드 구분
sqlldr scott/tiger control=sp_input_fix.ctl log='e:\ora_backup\scott_sp.log' bad='e:\ora_backup\scott_sp_bad.txt'
2. control 화일에 입력 화일이 지정되어 있지 않은 경우
sqlldr scott/tiger control=SP_NOINPUT.CTL data=sp_comma.txt log='e:\ora_backup\scott_sp.log' bad='e:\ora_backup\scott_sp_bad.txt'


==============================
SQL Developer를 이용한 Export/Import
==============================
접속창에서 테이블 선택하고 오른쪽 버튼을 눌러 실행 함

반응형