반응형
오라클 백업
# 기본 명령어
exp [사용자 이름]/[비밀번호] tables=[테이블 이름] file=[백업 파일 이름].dmp
# 특정 테이블 백업
exp 사용자이름/비밀번호 tables=테이블명 file=백업파일이름.dmp log=로그파일명.log direct=y compress=n statistics=none
# 특정 테이블 여러개 동시백업
exp 사용자이름/비밀번호 tables=TABLE1,TABLE2,TABLE3 file=백업파일이름.dmp statistics=none
# 특정 사용자의 테이블 백업
exp 사용자이름/비밀번호 owner=사용자이름 file=백업파일이름.dmp log=로그파일명.log direct=y compress=n statistics=none
# DB전체백업(DBA 비밀번호필요)
exp system/비밀번호 full=y file=백업파일이름.dmp log=로그파일명.log direct=y compress=n statistics=none
사용자 이름과 비밀번호를 입력안하면 어차피 입력하라고 나온다.
처음에 direct, compress, statistics 옵션을 몰랐는데 gpt가 추천해줬다.
✅ direct=y
의미:
→ Direct Path Export 방식 사용.
오라클이 데이터를 SQL 처리 과정을 거치지 않고 바로 데이터 파일에서 읽어서 내보냄.
장점:
- 훨씬 빠름 (특히 대용량일수록 효과 큼)
- 리소스 절약 가능
주의:
- 일부 데이터 타입이나 LOB 컬럼은 호환 이슈 있을 수 있음
✅ compress=n
의미:
→ Export 파일 안에 테이블 생성 시 STORAGE 절의 초기 익스텐트(공간)를 압축하지 않음.
**기본값은 Y (압축함)**인데, n으로 설정하면:
- Import 시, 기존 익스텐트 구조 유지됨 → 비효율적 공간 사용 방지
- 테이블스페이스에 불필요한 큰 공간이 잡히지 않음
요약:
→ Import 후에도 실제 사용 크기만큼만 공간 사용하게 하려면 compress=n 쓰는 게 좋아요.
✅ statistics=none
의미:
→ Export 시, 오라클 객체(테이블, 인덱스 등)의 통계정보를 포함하지 않음
기본값은 ESTIMATE (통계 추정해서 포함),
하지만 대개 Import 후 새로 통계정보를 수집(ANALYZE) 하기 때문에
→ statistics=none으로 설정하면 불필요한 통계정보 제외해서 파일 용량도 줄고 시간도 절약할 수 있음
* gpt가 설명해준 옵션별 설명참고 *
exp의 경우 오라클 11g까지 기본 제공 이후 버전부터는 expdp 사용을 권장한다.
오라클 복원
# 기본 명령어
imp 사용자이름/비밀번호 file=백업파일이름.dmp full=y
# 특정 테이블 복원
imp 사용자이름/비밀번호@DB명 file=백업파일이름.dmp tables=TABLE_NAME log=로그파일명.log
# 특정 사용자 복원(안써봐서 모르겠다)
imp 사용자이름/비밀번호@DB명 file=백업파일이름.dmp fromuser=백업된사용자 touser=복원할사용자 log=로그파일명.log
# 시스템 명령어로 백업받은 파일은 system으로 복원해야함
imp system/비밀번호@DB명 file=백업파일이름.dmp full=y log=로그파일명.log
* 기본 명령어밖에 안 써봤다 *
MYSQL 백업
# 기본 명령어
mysqldump -u [사용자이름] -p [DB이름] [테이블명] > 백업파일이름.sql
# 특정 사용자의 모든 테이블 백업
mysqldump -u [사용자이름] -p [DB이름] > 백업파일이름.sql
# 전체 DB 백업
mysqldump -u [사용자이름] -p --all-databases > 백업파일이름.sql
# 비밀번호 입력하는 과정없이 바로 실행
# p뒤에 띄어쓰기 없이 붙여야함
mysqldump -u [사용자이름] -p[비밀번호] [DB이름] [테이블명] > 백업파일이름.sql
MYSQL 복원
# 특정 TABLE 복원 [DB는 생성되어 있어야함]
# CREATE DATABASE mydb;
mysql -u [사용자이름] -p [DB이름] < 백업파일.sql
# 전체 DB 복원 [DB자체를 복원]
mysql -u [사용자이름] -p < 백업파일.sql
# 비밀번호 입력하는 과정없이 바로 실행
# p뒤에 띄어쓰기 없이 붙여야함
mysql -u [사용자이름] -p[비밀번호] [DB이름] < 백업파일.sql
보안상 비밀번호를 명령어에 넣는건 권장되지않으며
.my.cnf 를 편집해서 사용하는 방법이 있다고 하니 알아두면 좋을듯하다
반응형
'리눅스' 카테고리의 다른 글
세션관리 nohup (0) | 2025.01.23 |
---|