Oracle Export 후 Import
Linux 에 설치되어 있는 Oracle 를 Export 후 FTP 를 이용해
Windows 서버에 업로드 하고 다시 Import 하는 과정입니다.
####################################################################################
Export 서버 :(Linux) Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
Import 서버 : (Windows)Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Productio
####################################################################################
<tnsname.ora 의 작성 예>
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 152.25.24.15)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
서비스명과 인스턴스명과 데이타베이스명과 SID는 서로 비슷한 듯 하면서 약간 다르다.
SELECT NAME, DB_UNIQUE_NAME FROM v$database;
2. 오라클 SID를 확인하는 방법
SELECT instance FROM v$thread;
1. Sysdba 권한으로 서버에 로그인.
-> sqlplus "/as sysdba"
2. 테이블 스페이스명을 확인후 Import 할서버에 생성해줍니다.
select * from dba_data_files;
2-1. 테이블 스페이스중 아래 4개는 기본 테이블 스페이스입니다.
(DB 생성하면 그냥 생성된다는거지요)
SYSTEM
SYSAUXUNDOTBS1
USERS
3.Export 작업진행.
루트폴더에서 아래와 같이 타이핑해서 export 진행하였습니다.
exp system/Password@ORCL file=ORCL.dmp log=ORCL.log buffer=4096000 full=y
-> 이때 옵션은 full=y 를 설정하여 full dump 받도록설정하였습니다.
4. FTP 를 이용하여 dump 파일 이동.
FTP 를 이용해서 파일 이동시 가장 중요시 여겨야할것은 바이너리 모드로 FTP 를 업로드 해야한다는것입니다.
일반모드로 파일이동시 100% 에러납니다. 필히 바이너리모드로 업로드하시길.
[oracle@test-for-depacho ~]$ ftp 10.0.0.2
Connected to 10.0.0.2 (10.0.0.2).
220 Microsoft FTP Service
Name (10.0.0.2:ci_user): User1
331 Password required for User1
Password:
230 User logged in.
Remote system type is Windows_NT.
ftp>
ftp>
ftp>
ftp> bin <- 바이너리상태 변환
200 Type set to I.
ftp> hash <- 상태보기
Hash mark printing on (1024 bytes/hash mark).
ftp> put filename.dmp
5. Windows 서버에 DB 셋팅 부분의 중요 체크사항.
-> Database Configuration Assistant 를 이용해서 DB 를 생성합니다.
-> 생성시 TNS 를 구성하라는 메세지가 나타날시 설정해줍니다.
Net Configuration Assistant 를 이용해서 설정.
-> DB 생성시 이전 데이터 베이스를 가져와서 Import 해야 하기 때문에 이전 설정과 동일하게 맞춰줘야 합니다.
그러기 위해서 [사용자 정의 데이터 베이스] 를 선택해서 생성합니다.
->생성시 문자 집합(케릭터셋)을 필히 맞춰줘야 합니다.
select * from v$nls_parameters; 를 이용해서 리눅스 서버(export서버)에 케릭터 셋을 확인후 동일하게 설정합니다.
-> GUI 방식으로 테이블 스페이스를 생성할수 있지만 전 쿼리문으로 생성하도록하겠습니다.
export 한 서버에서와 동일하게 서버에 로그인하여 아래의 쿼리문을 날려줍니다.
(export 서버에서 select * from dba_data_files; 진행한 테이블 스페이스명을 확인)
테이블 스페이스명 : Atbalespace / Btablespace
create tablespace Atbalespace datafile 'D:\oradata\Atbalespace.dbf' size 10G autoExtend on next 100M;
create tablespace Btablespace datafile 'D:\oradata\Btablespace.dbf' size 10G autoExtend on next 100M;
위와 같이 초기 값을 10G 로 하였으며, 100M 단위로 자동 용량 증가를 설정하였습니다.
-> 사용자 생성.
사용자명 : UserTest
패스워드 : Pass
create user UserTest identified by pass default tablespace Atablespace;
위와 같이 Atablespace 를 기본 테이블 스페이스로 하는 사용자를 생성하였습니다.
-> 생성한 사용자에 권한주기.
(dba 권한을 주었습니다.)
grant dba to UserTest;