조회 수 11949 추천 수 0 댓글 1

 

 

ORACLE 10G CONVERTING TABLESPACES WITH THE RMAN CONVERT
=====================================================================


PURPOSE



Oracle 10g RMAN의 New feature인 CONVERT 기능을 사용하여 Byte ordering이 다른 platform간에
Tablespace transporting 하는 방법에 대해서 알아 봅니다.

SCOPE


Export Transportable Tablespace Feature는 10g Standard Edition에서는
지원하지 않습니다.

Explanation


RMAN의 CONVERT 명령은 Byte ordering이 서로 다른 platform들 사이에 transporting
작업을 수행할때 사용됩니다.

만약에 Platform들이 동일한 Byte ordering을 가진다면 CONVER명령을 사용하던지
아니면 직접 file을 copy하여 사용할 수도 있습니다.

CONVERT명령사용 절차에 대한 개요는 다음과 같습니다:

1) Transport될 tablespace들을 확인합니다.

2) Tablespace들을 READ-ONLY로 만듭니다.
Make the tablespaces to be moved read-only.

3) Original Export utility를 사용하여 Transport될 tablespace에 대한 구조적인 정보들을
Data dictionary에서 추출하여 Structural information file을 생성합니다.
이렇게 추출된 정보는 tablespace가 Destination database에 합쳐질 때에 사용됩니다.

4) 만약에 Source System의 Resouce를 사용하여 Conversion 작업을 수행하고자 한다면
이 단계에서 RMAN CONVERT 명령을 사용하여 Source platform의 tablespace를
Target platform에 맞게끔 CONVERSION 합니다.

자세한 내용은 아래 첫 번째 예제를 참조 하십시요
(만약에 Conversion을 위해 Destination System의 Resource를 이용하고 싶다면
이 단계에서는 아무 작업도 하지 마십시요)

5) Datafile 또는 Converted datafile과 함께 structural information file을 target database에
복사합니다. 이때 os system copy, ftp, CD, tape등과 같이 편리한 방법을 사용하여
복사하시면 됩니다.

6) Endian conversion이 필요한 platform들 사이에서 tablespace transporting을 수행한다면,
그리고 Source platform에서 아직 conversion을 수행하지 않았다면 Destination platform
상에서 conversion을 수행해야 합니다. 두 번째 예제가 이에 대해 자세히 설명하고 있습니다.

7) Tablespace set을 target database에 합할때는 Original Import utility를 사용하십시요.


<예제 1> Converting Tablespaces on the Source Platform:
========================================================

Sun Solaris 상에서 운영되고 있는 Source database의 두 개의 tablespace,
finance (datafiles `/orahome/fin/fin01.dbf' and `/orahome/fin/fin02.dbf') 와
hr (datafiles `/orahome/fin/hr01.dbf' and `/orahome/fin/hr02.dbf')을
Linux PC 상에서 운영되고 있는 Destination Database으로 transport해야 한다고 가정합니다.

Converted datafile은 Source host상의 임시 디렉토리인 /tmp/transport_linux/ 안에 생성될 것입니다.

이 예제는 tablespace transport를 준비하는 과정에서 다음과 같은 과정을 이미 수행했다고 가정합니다.

a) Transport될 tablespace는 이미 READ-ONLY로 변경되었슴.
b) V$TRANSPORTABLE_PLATFORM 안에서 Destination platform의 이름을 이미 찾았슴.
c) Destination platform 에 대한 Oracle name을 이미 알고 있슴.

Target platform에 대한 Oracle의 internal name을 알아야 합니다. 왜냐하면 이 name은 CONVERT 명령의
parameter로 사용되기 때문입니다.

Platform name을 얻기 위해서 V$TRANSPORTABLE_PLATFORM을 Query하면 됩니다.

SQL> SELECT PLATFORM_ID, PLATFORM_NAME, ENDIAN_FORMAT
2 FROM V$TRANSPORTABLE_PLATFORM;
PLATFORM_ID PLATFORM_NAME ENDIAN FORMAT


-----------------------
1 Solaris[tm] OE (32-bit) Big
2 Solaris[tm] OE (64-bit) Big
3 HP-UX (64-bit) Big
4 HP-UX IA (64-bit) Big
5 HP Tru64 UNIX Little
6 AIX-Based Systems(64-bit) Big
7 Microsoft Windows NT Little
10 Linux IA (32-bit) Little
11 Linux IA (64-bit) Little

위 Query 결과에서 PC상의 Linux에 대한 PLATFORM_NAME은 'Linux IA (32-bit)'입니다.

이제 RMAN을 사용하여 Source db의 datafile들을 Destination platform에 맞게 convert 합니다.

FORMAT은 converted datafile의 이름과 directory명으로 구성됩니다.

% rman TARGET /
RMAN> CONVERT TABLESPACE finance,hr
TO PLATFORM 'Linux IA (32-bit)'
FORMAT='/tmp/transport_linux/%U';

위 명령의 수행 결과로서 /tmp/transport_linux/ 안에 Converted datafile이 생성됩니다.
이 converted datafile들은 Linux IA (32-bit) platform을 위해 right endian-order로 data를
가집니다.

이 시점 이후로는 tablespace transport의 일반적인 절차에 따라 나머지를 계속 수행해 주시면 됩니다.

아직 structural information file을 생성하지 않았으면 export utility를 사용하여 생성하십시요
그리고 생성된 파일을 /tmp/transport_linux/ 안에 있는 converted datafile과 함께 Destination host로
옮긴 후에 import utility를 사용하여 tablespace를 new database에 포함시기시면 됩니다.

<예제 2> Converting Tablespaces on the Target Platform
========================================================

Sun Solaris 상에서 운영되고 있는 Source database의 두 개의 tablespace,
finance (datafiles `/orahome/fin/fin01.dbf' and `/orahome/fin/fin02.dbf') 와
hr (datafiles `/orahome/fin/hr01.dbf' and `/orahome/fin/hr02.dbf')을
Linux PC 상에서 운영되고 있는 Destination Database으로 transport해야 한다고 가정합니다.

Conversion은 Target host상에서 수행될 것입니다.
Unconverted datafile들은 임시로 target host의 /tmp/transport_solaris/ 안에 저장될 것입니다.

Datafile들이 Destination database에 포함되면 /orahome/dbs 안에 저장될 것입니다.

이 예제는 Tablespace transport를 준비하는 과정에서 다음과 같은 과정이 이미 수행되었다고 가정합니다:

1) Transport될 source tablespace들을 READ-ONLY로 변경
2) Export utility를 사용하여 structural information file 생성(이 예제에서는 expdat.dmp)
3) expdat.dmp 와 unconverted tablespace datafile을 target host의 /tmp/transport_solaris/ 안에 복사

Unconverted datafile들이 복사된 Directory구조는 다음과 같습니다:
/tmp/transport_solaris/fin/fin01.dbf
/tmp/transport_solaris/fin/fin02.dbf
/tmp/transport_solaris/hr/hr01.dbf
/tmp/transport_solaris/hr/hr02.dbf

이제 RMAN의 CONVERT 명령을 사용하여 transport될 datafile들을 Destination host의 format으로 convert합니다.
그러면 /orahom/dbs 아래에 converted된 datafile들이 생성됩니다.

Note the following:
==================

Tablespace name이 아닌 filename으로 datafile을 구별해야 합니다. datafile이 new database에 포함되기 전에는
Local instance는 transport된 tablespace에 대해서 알 수 없습니다.

FORMAT은 converted datafile의 이름과 directory명으로 구성됩니다.

Source나 destination platform을 기술하지 않았습니다. 이러한 경우 RMAN은 datafile을 조사함으로써 Source
platform이 어떠한 것인지를 결정합니다. 그리고 conversion이 수행되는 platform을 기본적으로
Target platform으로 간주합니다.

% rman TARGET /
RMAN> CONVERT DATAFILE='/tmp/transport_solaris/*'
DB_FILE_NAME_CONVERT
'/tmp/transport_solaris/fin','/orahome/dbs/fin',
'/tmp/transport_solaris/hr','/orahome/dbs/hr'

위 명령의 수행 결과 /orahome/dbs directory아래에는 다음과 같은 file들이 생성되었습니다:
/orahome/dbs/fin/fin01.dbf
/orahome/dbs/fin/fin02.dbf
/orahome/dbs/hr/hr01.dbf
/orahome/dbs/hr/hr02.dbf

이제 tablespace transport에 대한 나머지 일반적인 절차를 수행합니다. converted tablespace의 metadata를
새로운 database에 import합니다.
마지막으로 필요에 따라서 tablespace를 read-write로 변경합니다.

 

 

 

from otn....


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Q&A Oracle관련 게시물만 Sean 2014.04.09 84911
40 Tip 오라클 업그레이드 메뉴얼 1 file perfstat 2012.02.06 11894
39 Tip LIBRARY CACHE PIN 고구마 2011.11.10 12949
» Tip ORACLE 10G CONVERTING TABLESPACES WITH THE RMAN CONVERT 1 흑수건 2011.10.20 11949
37 Tip 11g alertlog 1 흑수건 2011.10.06 14423
36 Tip DATABASE에 CONNECT안될때 SYSTEMSTATE DUMP하는법 흑수건 2011.10.06 10657
35 Tip [10g]DATAPUMP IMPORT는 자동으로 USER 생성 흑수건 2011.10.06 16784
34 Tip [11g] New Feature : Invisible Index 1 흑수건 2011.10.06 11357
33 Tip EXPORT의 Query Option 기능 흑수건 2011.10.01 11840
32 Tip 특정 DB USER의 SESSION수를 제한하는 방법 흑수건 2011.10.01 12391
31 Tip 오라클상세 버젼 확인하기 lsinventory 고구마 2011.09.14 13847
30 Tip Windows 32bit OS 메모리 제약과 Oracle 에서 추가메모리 사용하도록 흑수건 2011.09.04 15775
29 Tip SESSIONS: derived (1.1 * PROCESSES + 5) 흑수건 2011.08.30 11322
28 Tip cpu 사용이 높을때 흑수건 2011.08.30 11489
27 Tip hardparse 발생및 세션 검사 2 도로시 2011.08.17 12666
26 Tip ora-3113 에러 분석 접근관련... 고구마 2011.06.14 12790
25 Tip 오라클 제품 비교 file 송기성 2011.05.22 13417
24 자료 oracle 문제발생시 대처 가이드 2 file dbkill 2011.05.16 5652
23 자료 ORA-600 metalink notes for help file dbkill 2011.03.29 7641
22 자료 C컴파일시 makefile의 구조설명 file 김준호 2010.04.22 7231
21 자료 윈도우 tail 사용법 1 file 유주환 2010.04.19 7374
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8