[Oracle19 c] DB(Linux) dump 방법
순서 (export > import)
내가 가져오고 싶은 데이터를 해당하는 디비, 쉘로 들어가서(EXPORT) 하기
ORACLE 논리경로 확인 :
SQL접속 후 SELECT * FROM SYS.DBA_DIRECTORIES; 조회
조회 완료 후 우리는 dump 목적이니 디렉토리이름, 패스 경로만 확보하기
(DUMP_FILE이라고 나옴)
'DIRECTORY_NAME(DATA_PUMP_DIR), DIRECTORY_PATH(/opt/oracle/admin/ORCL/dpdump/)'
여기서 디렉토리 이름은 파일 형태를 의미하고 패스 경로는 그 파일이 저장될 위치를 의미함
즉 export가 성공하면 저 경로에 파일이 생성된다는 의미
SELECT * FROM SYS.DBA_DIRECTORIES; 조회하는 이유
SELECT * FROM SYS.DBA_DIRECTORIES;는 Oracle 데이터베이스에서 실행하는 SQL 문입니다. 이 명령어는
현재 데이터베이스에서 사용 가능한 디렉터리의 목록을 검색합니다. SYS.DBA_DIRECTORIES는 디렉터리 객체를 관리하는 데이터베이스 시스템 스키마인 SYS의 DBA_DIRECTORIES 테이블을 참조합니다. 이 명령을 실행하면 데이터베이스에 등록된 디렉터리의 이름, 실제 파일 시스템 경로, 읽기 및 쓰기 권한 등과 같은 정보를 포함하는 결과 집합이 반환됩니다. 이 정보는 데이터베이스에서 파일을 읽거나 쓸 때 사용할 수 있는 디렉터리에 대한 관리를 돕습니다.
이제 디렉토리 이름 어디 위치에 덤프파일이 떨어지는 거 까지 알았으니 데이터 빼는(export) 작업하기
/*쉘, 프롬프트에서 export방법*/
expdp [SYSTEM계정명]/[비밀번호] directory=[export 할 파일경로(DIRECTORY_NAME을 넣어야 함)]
schemas=[스키마명] dumpfile=[덤프파일명]. dmp (덤프 파일 이름 정해주면 됨) ex) text.dmp
여기서는 system 계정이라고 했는데 해당 유저명 사용 해도 됨 해당 시스템 계정에 들어가서 스키마명을 찾아
덤프 한다라는 뜻인데 해당 유저명으로 들어가서 해당 유저의 스키마명을 사용하는 거로 생각
*주의할 점
sqlplus 들어가서 하면 에러가 떨어짐
에러 해결 법 : 명령어에 오타가 있거나, SQL*Plus 버전에 따라 해당 명령어가 지원되지 않을 수도 있습니다.
이럴 경우 버전 확인 하는 작업을 하고 업데이트 하면 되는데 시간이 걸리니 다른 방법인
sql 밖에서 하는 작업으로 진행
나는 유저명, 유저비밀번호 스키마명이 동일해서 같은 이름으로 사용한 거 각자 본인 아이디, 비밀번호, 스키마명 쓰면 됨
조금 시간이 걸림 export 하는데
작업이 완료 후 아까 조회했던 파일이 떨어지는 장소 들어가서 내가 만든 덤프파일 확인 작업으로 export완료
다음 시간에는 새로운 데이터베이스에(import)하는 작업으로 찾아 옴
'오류 해결 및 새로운 지식 > DB dump' 카테고리의 다른 글
[Oracle19c] DB(Linux) dump(import) 방법 (0) | 2023.07.11 |
---|---|
tibero dump (0) | 2023.07.02 |
tibero 시작/종료 (0) | 2023.07.02 |