관리 메뉴

안까먹을라고 쓰는 블로그

[ORACLE] 백업(BACKUP) & 복원(RESTORE) (Feat. sql developer) 본문

DataBase/Oracle

[ORACLE] 백업(BACKUP) & 복원(RESTORE) (Feat. sql developer)

YawnsDuzin 2024. 5. 27. 12:55

 

반응형

sql developer 툴을 이용하여, oracle db 백업 및 복원 방법에 대한 설명입니다.
먼저 sql developer로 oracle db에 접속합니다.


백업(BACKUP)

1. 상단 메뉴 -> 도구 로 들어가면 데이터베이스 익스포트 항목이 있다. 선택을 하면 아래와 같이 소스/대상 선택 팝업이 뜬다.
접속할 DB Connection을 선택하고 익스포트할 항목을 선택한다. (기본적으로 삭제외에 모두 선택되어있다.)
저장 형식은 sql파일로 저장하고 별도의 디렉토리 항목을 선택하면 테이블생성, 데이터생성, 시퀀스 생성 등 기능별로 디렉토리를 분리하여 sql문을 덤프한다.
덤프할 디렉토리를 설정하고 다음으로 진행한다

2. 익스포트할 유형을 지정한다. 기본으로 전체선택이 되어있다. 다음으로 진행

3. 상단 조회 버튼을 클릭하면 지정한 DB의 전체 내용이 검색 되고 우측 >> 버튼을 누르면 덤프할 내용들이 우측 창에 담긴다.

4. 데이터 지정 룰을 선택하는데... 기본 All 지정된 내용 그대로 진행...

5. 완료 버튼을 클릭하면 아래와 같이 DB에서 덤프 내용을 익스포트한다.

6. 덤프 지정 위치에 가보면 전체 실행 시퀀스를 담은 sql 문제 생성되고 각각 기능별로 디렉토리가 구분되어 sql이 저장되어 있다. 
추후에 DB에 덤프 내용을 다시 넣고 싶으면 sql 워크 시트에서 아래와 같이 시퀀스 sql을 실행시켜 주면 복원이 진행된다.
테이블 FK관계 참조 전후 관계를 고려해서 덤프가 되어있기 때문에 그대로 수행되면 쫑나지 않고 순리대로 들어가게 된다.

[참고사이트] https://kindloveit.tistory.com/16


복원(RESTORE)

위에서 SQL Developer export 방식을 통해서 백업한 오라클 테이블을 복원(Restore) 하는 방법에 대해서 설명 드리도록 하겠습니다.
해당 내용도 SQL Developer를 이용해서 구현하는 걸로 설명드리도록 하겠습니다.

먼저 SQL Developer를 실행을 시켜 줍니다.

1. insert 문으로 익스포트한 경우

이 경우는 별다른 설명이 필요 없이 간단합니다. 워크시트에서 "@스크립트 파일명" 을 실행해서 할 수도 있고, 익스포트 파일내용을 워크시트로 복사 붙여넣어서 실행을 해도 됩니다.


2. 엑셀 형식 또는 csv 형식으로 익스포트한 경우

이때도 DDL 문은 sql 스크립트로 되어 있으므로 워크시트에서 실행해서 필요한 객체를 생성하면 됩니다.
데이터는 테이블 별로 import 하여야 합니다.
sqldeveloper 좌측의 테이블 트리를 열고 마우스 오른쪽 키를 눌러 "데이터 임포트(A)..." 를 선택해서 데이터임포트 마법사를 시작합니다.


- 데이터 파일 임포트 항목에 임포트할 엑셀 파일을 선택합니다. 



- 두 번째 단계에서 임포트 방식 지정과 데이터를 확인할 수 있습니다. 엑셀 데이터의 입력은 insert 스크립트가 만들어지고 그것이 실행되어 입력되는 방식입니다.



- 다음 단계에서 입력할 열을 선택할 수 있습니다. 기본으로 전체 선택이 되어 있습니다.



- 다음 단계에서 열 정의를 하게 됩니다. 소스의 열과 테이블의 열을 맞출 수 있습니다.



- 다음 단계는 지금까지 설정의 요약정보를 보여줍니다. 필요하면 뒤로 돌아가서 다시 설정할 수 있습니다.



- 완료를 눌러 임포트를 수행합니다.

[참고사이트] https://developerhjg.tistory.com/106

반응형
Comments