행위

"데이터 Export 와 Import"의 두 판 사이의 차이

DB CAFE

(IMPORT)
(IMPORT)
140번째 줄: 140번째 줄:
 
<source lang=sql>
 
<source lang=sql>
 
imp system/oracle file=/data/test02.dmp indexfile=scott_index.sql full=y
 
imp system/oracle file=/data/test02.dmp indexfile=scott_index.sql full=y
</source>
 
 
 
==== 파라메터를 이용하여 백업 ====
 
<source lang=sql>
 
exp system/oracle '''parfile=para_file.txt'''
 
</source>
 
- para_file.txt
 
file=/data/test09.dmp
 
full=y
 
direct=y
 
query="where job='xxx' and ... "
 
....
 
 
==== SQL적용하여 일부데이터만 백업 ====
 
*parfile 옵션을 사용하여 파라메터로 사용하면 편리
 
<source lang=sql>
 
exp scott/tiger '''query=\"where ename like \'F%\'\"''' tables=emp file =/data/emp.dmp
 
 
</source>
 
</source>

2018년 10월 5일 (금) 00:45 판

thumb_up 추천메뉴 바로가기


1 EXPORT[편집]

1.1 EXPORT 옵션[편집]

  • userid
  • buffer
  • file
  • grants
  • indexes
  • rows
  • constraints
  • compress
  • full
  • owner
  • tables
  • tablespaces
  • recordlength
  • inctype
  • record
  • parfile

1.1.1 DB전체 백업[편집]

  • conventional Path 로 받기
exp system/oracle full=y log=full_log.log file=/home/oracle/full_test001.dmp
  • Direct Path 로 받기
exp system/oracle full=y log=full_log.log file=/home/oracle/full_test001.dmp '''direct=y'''

1.1.2 파일 분할 백업[편집]

exp system/oracle full=y 
'''file=(/backup/test_001.dmp,\
/backup/test_002.dmp,\
/backup/test_003.dmp,\
/backup/test_004.dmp)\'''
filesize=100M 
log=full_log.log direct=y

1.1.3 해당 테이블 스페이스만 백업[편집]

exp system/oracle full=y log=full_log.log file=/home/oracle/full_test001.dmp '''tablespaces=(example,undotbsl)'''

1.1.4 여러 사용자 백업[편집]

exp system/oracle file=/home/oracle/full_test001.dmp '''owner=(scott,tiger)'''

1.1.5 일부 테이블 백업[편집]

  • 버퍼 10메가
  • Direct Path
exp system/oracle full=y log=full_log.log file=/home/oracle/full_test001.dmp buffer=20140000 direct=y '''tables=(example,undotbsl)'''

1.1.6 일반사용자로 Full Backup[편집]

    1. 권한확인
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'SCOTT';
    1. 권한부여
GRANT EXP_FULL_DATABASE TO SCOTT;
  • DBA권한을 부여 해도 됨(권장하지 않음)

1.1.7 파라메터를 이용하여 백업[편집]

exp system/oracle '''parfile=para_file.txt'''

- para_file.txt file=/data/test09.dmp full=y direct=y query="where job='xxx' and ... " ....

1.1.8 SQL적용하여 일부데이터만 백업[편집]

  • parfile 옵션을 사용하여 파라메터로 사용하면 편리
exp scott/tiger '''query=\"where ename like \'F%\'\"''' tables=emp file =/data/emp.dmp

2 IMPORT[편집]

  • DDL,DML 사용으로 인하여 REDO LOG 와 UNDO SEGMENT사용
  • import시 큰 undo Tablespace를 준비하여 작업
  • commit=y 옵션으로 작업하여 array 단위로 commit 수행
  • DBA 백업 받은 export 파일은 반드시 DBA로 import 해야 함(IMP-00013 에러 발생)

2.1 IMPORT 옵션[편집]

  • userid
  • buffer
  • file
  • show
  • grants
  • indexes
  • rows
  • full
  • fromuser
  • touser
  • tables
  • tablespaces
  • recordlength
  • inctype
  • commit
  • parfile

2.1.1 DB전체 입력[편집]

  • conventional Path 로 받기
imp system/oracle full=y log=full_log.log file=/home/oracle/full_test001.dmp

2.1.2 일부 사용자만 입력[편집]

imp system/oracle file=/home/oracle/full_test001.dmp '''fromuser=(scott,tiger)''' tables=test01 ignore=y

2.1.3 테이블 소유자를 변경하여 입력[편집]

imp system/oracle file=/home/oracle/full_test001.dmp '''fromuser=scott''' touser=tiger ignore=y

2.1.4 DDL만 추출하기[편집]

  • show=y 옵션사용 방법 - 로그에 저장하여 ddl 편집
  • indexfile 옵션을 사용하는 방법
imp system/oracle file=/data/test02.dmp full=y show=y log=scott_ddl.sql

2.1.5 import 시 테이블과 index 분리[편집]

  • import시 indexes=n 옵션으로 import후 인덱스 별도 생성

2.1.6 인덱스 파일만 별도 추출[편집]

imp system/oracle file=/data/test02.dmp indexfile=scott_index.sql full=y