2009년 10월 23일 금요일

ORACLE_024. UTILITY : EXPORT _ Examples &

Example Export Sessions

 

  • Example Export Session in Full Database Mode
  • Example Export Session in User Mode
  • Example Export Session in Table Mode
  • Example Export Session Using Partition-Level Export

Example Export Session in Full Database Mode

 DBA Role 혹은 EXP_FULL_DATABASE 롤을 가진 사용자만이 Full Database Mode를 사용할 수 있습니다. 이 예제에서 익스포트되어 생성된 파일인 dba.dmp 는 모든 권한과 모든 데이터가 포함됩니다.

Parameter File Method
 > exp SYSTEM/password PARFILE=params.dat

 params.dat 파일의 내용은 다음과 같습니다.
  FILE=dba.dmp
  GRANTS=y
  FULL=y
  ROWS=y

Command Line Method
  > exp SYSTEM/password FULL=y FILE=dba.dmp GRANTS=y ROWS=y

Example Export Session in User Mode

 User Mode 는 하나 혹은 그 이상의 데이터베이스 사용자를 백업하는데 사용할 수 있습니다. 예를들어 DBA는 삭제된 사용자의 테이블을 백업해 놓길 원할 수 있습니다. User Mode는 또한 개별 사용자의 데이터를 백업하거나 오브젝트들을 다른 사람에게 옮길 수 있습니다.

 

Parameter File Method
  > exp scott/tiger PARFILE=params.dat

 

 params.dat 파일의 내용은 다음과 같습니다.
  FILE=scott.dmp
  OWNER=scott
  GRANTS=y
  ROWS=y
  COMPRESS=y

Command-Line Method
  > exp scott/tiger FILE=scott.dmp OWNER=scott GRANTS=y ROWS=Y COMPRESS=y

 

Example Export Sessions in Table Mode

 테이블 모드에서 테이블의 데이터를 익스포트하거나 또는 테이블 정의를 익스포트 할 수 있습니다. (행이 익스포트 되지 않을경우 CREATE TABLE 구문이 익스포트 파일에 저장됩니다. INDEX, GRANTS가 정의되어 있으면 이들도 함께 저장됩니다.)

 EXP_FULL_DATABASE 롤을 가진 사용자는 TABLES=schemaname.tablename 파라메터를 이용하여 어떠한 사용자의 테이블도 익스포트 할 수 있습니다.

 schemaname이 정의됮 않으면 익스포트는 기본적으로 현 사용자의 스키마명으으로 된 오브젝트를 익스포트 합니다.

  > exp SYSTEM/password TABLES=(a, scott.b, c, mary.d)

 EXP_FULL_DATABASE 롤을 가진 사용자는 다른 사용자의 오브젝트에 의존적인 오브젝트도 같이 익스포트 합니다. 권한이 없는 사용자는 오직 자신이 가지고 있는 의존적 테이블만 익스포트 할 수 있습니다.

 테이블 모드에서의 익스포트는 클러스터 정의는 익스포트 하지 않습니다. 따라서 데이타는 비클러스터 테이블로 익스포트 됩니다. 따라서 테이블을 언클러스터 테이블로 바꿀때 테이블 모드를 사용할 수 있습니다.

 

Example 1 : DBA Exporting Tables for Two Users

 이 예제에서, DBA는 두 사용자의 테이블을 익스포트 합니다.

 

Parameter File Method
  > exp SYSTEM/password PARFILE=params.dat

 params.dat 파일은 다음과 같습니다.
  FILE=expdat.dmp
  TABLES=(scott.emp,blake.dept)
  GRANTS=y
  INDEXES=y

Command-Line Method
  > exp SYSTEM/password FILE=expdat.dmp TABLES=(scott.emp,blake.dept) GRANTS=y INDEXES=y

 

Example 2 : User Exports Tables That He Owns
 blake 라는 사용자가 자신이 가지고 있는 테이블을 선택적으로 익스포트 하는 방법입니다.

 

Parameter File Method

 > exp blake/paper PARFILE=params.dat

 params.dat 파일의 내용은 다음과 같습니다.
  FILE=blake.dmp
  TABLES=(dept,manager)
  ROWS=y
  COMPRESS=y

 

Command-Line Method
 > exp blake/paper FILE=blake.dmp TABLES=(dept, manager) ROWS=y COMPRESS=y

 

Example 3 : Using Patter Matching to Export Various Tables
 이번 예제에서는 패턴을 이용하여 scott와 blake 의 다양한 테이블들을 익스포트 합니다.

Parameter File Method
  > exp SYSTEM/password PARFILE=params.dat

 params.dat 파일에는 다음과 같은 내용을 포함하고 있습니다.
  FILE=misc.dmp
  TABLE=(scott.%P%,blake.%, scott.%S%)

Command-Line Method
  > exp SYSTEM/password FILE=misc.dmp TABLES=(scott.%P%,blake.%, scott.%S%)

Example Export Session Using Partition-Level Export
 파티션-레벨모드에서 특정 파티션이나 서브 파티션을 익스포트 할 수 있습니다.

Example 1 : Exporting a Table Without Specifying a Partition
 emp 테이블이 employee name으로 파티션 되어 있는 테이블이라고 가정합니다. 두 파티션이 있는데 m 과 z로 나뉘어져 있습니다. 예제에서 보이는 것처럼 특정한 파티션을 지정하지 않는다면 모든 파티션이 익스포트 됩니다.

Parameter File Method
  > exp scott/tiger PARFILE=params.dat

 params.dat 파일은 다음을 포함합니다.
  TABLES=(emp)
  ROWS=y

 

Command-Line Method
  > exp scott/tiger TABLES=emp ROWS=y

 

Example 2 : Exporting a Table with a Specified Partition
 예제에서 보이는 것처럼 테이블의 한 파티션만 익스포트 하기 위해 익스포트할 파티션을 정합니다.

Parameter File Method
  > exp scott/tiger PARFILE=params.dat

 params.dat 파일은 다음을 포함합니다.
  TABLES=(emp:m)
  ROWS=y

Command-Line Method
  > exp scott/tigher TABLES=emp:m ROWS=y

Example 3 : Exporting a Composite Partition
 emp 테이블이 m과 z로 파티션이 나뉘어져 있고 m은 서브파티션 sp1과 sp2로 나뉘어 있습니다. z파티션은 서브파티션 sp3 그리고 sp4로 나뉘어져 있다고 가정합니다. 다음 예제는 파티션 m과 m의 모든 파티션을 익스포트하고 z파티션의 sp4 파티션만 익스포트 하는 방법입니다.

Parameter File Method
 > exp scott/tiger PARFILE=params.dat

 params.dat 파일은 다음의 내용을 포함합니다.
  TABLES=(emp:m,emp:sp4)
  ROWS=y

Command-Line Method
  > exp scott/tiger TABLES=(emp:m, emp:sp4) ROWS=y

 

Warning, Error, and Completion Messages

Log File

 로그파일에 모든 익스포트 메세지를 담을 수 있습니다. LOG 파라메터를 사용하지 않고 운영체제가 허용하나면 익스포트의 출력 메세지를 파일로 리다이렉트 할 수도 있습니다. 익스포트 유틸리티는 성공적인 언로드 내용과 발생한 에러에 대한 자세한 정보를 로그에 기록합니다.

Warning Messages
 복구가 가능한 에러가 발생시 익스포트는 종료되지 않습니다. 예를들어 테이블이 익스포팅될때 에러가 발생하면 이 에러 메세지를 출력하고 다음 테이블로 넘어갑니다. 그리고 계속해서 익스포트를 수행합니다. 이러한 복구 가능한 에러를 경고(Warning)라 합니다.

 또한 잘못된 오브젝트에 대해서도 경고를 보여줍니다.

 예를들어 테이블모드에서 존재하지 않는 테이블 이름을 파라메터에서 정의했을 경우 익스포트 유틸리티는 다른 모든 테이블들을 익스포트 합니다. 그리고나서 경고를 보여주며 성공적으로 종료합니다.

Nonrecoverable Error Messages
 몇몇 에러는 복구가 불가능하며 익스포트 세션이 그 즉시 종료됩니다. 이러한 문제는 종종 내부적인 문제,메모리같은 자원 문제, 로 인해 발생합니다. 예를들어 catexp.sql 스크립트를 수행하지 않으면 익스포트는 다음과 같은 에러 메세지를 보여주며 종료됩니다.

  EXP-00024: Export views not installed, please notify your DBA

Completion Messages
 익스포트가 에러없이 종료되면 익스포트는 다음과 같은 메세지를 보여줍니다.

  Export terminated successfully without warnings

 하나 혹은 그 이상의 복구가능 에러가 발생하더라도 익스포트는 수행을 완료하고 다음과 같은 메세지를 출력합니다.

  Export terminated successfully with warnings

 복구불가능 에러가 발생하면 익스포트는 다음과 같은 메세지를 출력하고 즉시 종료됩니다.

  Export terminated unsuccessfully


Exit Codes for Inspection and Display
 익스포트는 완료여부에 따라 즉시 익스포트에 대한 결과를 제공합니다. 플래폼에 따라 로그파일에 종료코드를 기록합니다.

EX_SUCC   (In Unix, It is '0 (Zero)')
 Export terminated successfully without Warnings

EX_OKWARN (In Unix, It is '0 (Zero)')
 Export terminated successfully with warnings

EX_FAIL (In Unix, it is '1')
 Export terminated unsuccessfullly

 

 

Conventional Path Export Versus Direct Path Export

 익스포트는 데이타를 추출하는 두가지 방법을 제공합니다.

  • Conventional path Export
  • Direct path Export

 컨벤셔널 패스(Conventional path)는 SQL select 문을 사용하여 테이블에서 데이터를 추출합니다. 데이타는 디스크에서 읽혀 버퍼 캐쉬로 올려지고 Evaluating buffer로 옮겨집니다. 그후 데이타는 익스포트 클라이언트에 의해 익스포트 파일에 기록되게 됩니다.

 다이렉트 패스(Direct path)는 컨벤셔널 패스보다 굉장이 빠른 속도를 제공합니다. 이는 데이타가 디스크에서 읽혀 버퍼 캐시로 옮겨지고 거기서 직접(directly) 익스포트 클라이언트로 보내지기 때문입니다. 데이타는 이미 익스포트가 예상할 수 있는 형식으로 되어 있으므로 불필요한 데이터 컨버전이 일어나지 않습니다. 익스포트 유틸리티로 전송된 데이타는 그즉시 익스포트 파일에 기록됩니다.

 

 

Invoking a Direct Path Export

 다이렉트 패스 익스포트를 사용하려면 명령행 방법이나 파라메터 파일을 이용하면 됩니다. 인터렉티브 방식에서는 다엙트 패스를 사용할 수 없습니다.

 다이렉트 패스를 사용하기 위해 DIRECT=y 파라메터를 사용합니다. 기본값은 n 입니다.

 추가로 명심해야 할 것은 BUFFER 파라메터는 컨벤셔널 패스에서만 사용됩니다. 다이렉트 패스에서는 RECORDLENGTH 파라메터를 사용합니다.

 익스포트 버전 8.1.5 이전에선 LOB 와 오브젝트를 가지고 있는 테이블들은 다이렉트 패스를 사용해 익스포트 할 수 없었습니다. 만약 이들에게 다이렉트 패스를 시도하면 어떤 행도 익스포트 되지 않습니다. 하지만 이제는 이 방식이 바뀌어 이들에 대해 다이렉트 패스를 사용하면 스스로 컨벤셔널 패스로 익스포트를 받게 됩니다.

 

Performance Issue for Direct Path Exports

 다이렉트 패스를 사용할때 RECORDLENGTH 파라메터의 값을 올려줌으로 해서 성능상의 향상을 기대할 수 있습니다. 성능향상은 다음의 요소에 의해 결정됩니다.

  • DB_BLOCK_SIZE
  • 테이블에 있는 컬럼의 타입
  • I/O Layout

 다음 값들은 일반적으로 RECORDLENGTH 에 요구되는 값 입니다.

  • Multiples of the file system I/O block size
  • Multiples of DB_BLOCK_SIZE

 

Fin.
REF) Oracle Documents. server.920/a96652 "EXPORT"

2009년 10월 22일 목요일

ORACLE_023. UTILITY : EXPORT

Before Using Export

 

 Export 유틸리티를 사용하기 전에 다음을 명심하십시요.

  • catexp.sql 혹은 catalog.sql 스크립트를 수행하십시요.
  • export 된 파일이 저장될 공간이 충분히 확보되어 있는지 확인하십시요.
  • 적당한 권한이 있는지 확인하십시요.


 

Running catexp.sql or catalog.sql

 Export 를 사용하기 위해 catexp.sql 혹은 catalog.sql 을 데이터베이스 생성후 수행해 주어야 합니다.

 catexp.sql 혹은 catalog.sql 은 데이터베이스에서 한차레만 수행해 주면 됩니다. export 를 수행할때마다 이 스크립트를 수행할 필요는 없습니다.

 

 

Ensuring Sufficient Disk Space

 Export를 수행하기전, 충분한 공간이 확보되어 있는지 확인합니다. 공간이 부족하면 쓰기 실패 에러와 함께 Export 유틸리티는 작동을 멈추게 됩니다.

 최대 공간을 계산하기 위해 테이블 크기를 사용할 수 있습니다. USER_SEGMENT 뷰를 이용하여 각 테이블의 크기를 확인할 수 있습니다. 다음 쿼리를 이용하면 테이블이 차지하는 총 용량을 확인할 수 있습니다.

 SQL>SELECT SUM(BYTES) FROM USER_SEGMENTS WHERE SEGMENT_TYPE = 'TABLE';

 쿼리의 결과는 LOB 혹은 VARRAY 열 혹은 파티션 테이블에 대한 디스크 공간은 포함하지 않습니다.

 

 

 

 

 

Invoking Export

 

 다음 방법중 하나를 통해 특정 파라메터를 정의하고 Export 를 수행할 수 있습니다.

  • Command-Line entries
  • Interactive Export prompts
  • Parameter files

 Export를 수행하기 위해 위 방법중 하나를 수행하기 전에, 사용가능한 파라메터에 대한 설명을 확인하십시요.

 

 

Command-Line Entries

 다음 형식으로 명령행에 올바른 파라메터와 값을 정할 수 있습니다.

  exp username/password PARAMETER=value

 또는

  exp username/password PARAMETER=(value1,value2,...,valueN)

 

Interactive Export Prompts

 Export 유틸리티 파라메터 정의를 Export 유틸리티의 프롬프트를 통해 하고자 한다면 다음 방법으로 인터렉티브 모드로 수행할 수 있습니다.

  exp username/password

Parameter Files

 모든 파라메터에 대한 정의값을 파라메터 파일로 만들어 사용할 수 있습니다. 파라메터를 파일로 관리하면 재사용하거나 파라메터 값을 수정하는데 편리함을 제공합니다. 각각의 데이터베이스에 각각의 다른 파라메터를 사용한다면 여러개의 파라메터 파일을 만들어 사용할 수 있습니다.

 어떤 플렛폼에서든지 지원하는 텍스트 편집기로 파라메터 파일을 만들 수 있습니다. 명령행에 PARFILE=filename 옵션을 이용하여 Export 를 수행할 수 있습니다.

  exp PARFILE=filename
  exp username/password PARFILE=filename

 파라메터 파일에서 파라메터를 정의하는 방법은 다음과 같은 형식입니다.

  PARAMETER1=value
  PARAMETER2=value
  PARAMETER3=value

 파라메터 파일의 내용에 코맨트를 추가하고 싶다면 # 기호를 사용합니다.

 파라메터 파일에 있는 파라메터일 지라도 명령행에서 오버라이드 하여 사용할 수 있습니다. exparam.dat 라는 파라메터 파일이 있다고 가정해 봅시다. 파라메터 파일의 내용에는 INDEXES=y 가 포함되어 있습니다. 그리고 다음 명령을 수행합니다.

  exp username/password PARFILE=exparam.dat INDEXES=n

 이 경우에 INDEXES=n 옵션이 PARFILE 옵션 뒤에 오게 되므로 INDEXES=y 를 오버라이드 하여 INDEXES=n으로 Export 를 수행하게 됩니다.

 

Invoking Export As SYSDBA

 SYSDBA 는 특별한 기능을 가지고 있습니다. 일반적인 사용자와는 다른 행동을 하기 때문에 일반적으로 SYSDBA로 Export 는 하지 않습니다.

 SYSDBA로 Export 를 수행하기 위해 다음 명령을 수행합니다.

  exp \'username/password AS SYSDBA\'

 선택사항으로 인스턴스명을 지정할 수 있습니다.

  exp \'username/password@instance AS SYSDBA\'

 

 

 

Exports Modes

 

 Export 유틸리티는 다음 네가지의 모드를 제공합니다.

  • Full
  • User(Owner)
  • Table
  • Tablespace

 모든 사용자는 테이블 모드(Table Mode)와 사용자 모드(User Mode)에서 Export 를 수행할 수 있습니다. EXP_FULL_DATABASE 롤을 가진 사용자는 모든 모드에서 Export를 수행할 수 있습니다. 각 모드에 따라 Export 되는 오브젝트들이 다릅니다.

 파라메터를 붙여주면 네가지 모드중 하나의 모드를 사용할 수 있습니다. (full, owner, tables, tablespaces) 앞의 세 모드는 컨벤셔널 패스(conventional path)와 다이렉트 패스(Direct path)를 사용할 수 있습니다. 컨벤셔널 패스와 다이렉트 패스의 차이는 추후 포스팅 하도록 하겠습니다.

 

Object exported and imported in each mode (Open

 

Table Level and Partition Level

 다음의 방법을 이용하여 테이블, 파티션, 서브파티션을 Export 할 수 있습니다.

  • Table_Level Export : 특정 테이블의 모든 데이터를 익스포트 합니다.
  • Partition-Level Export : 특정 파티션이나 서브 파티션의 자료만 가져 옵니다.

 모든 모드에서 파티션, 혹은 서브파티션의 포맷대로 선택적으로 데이터를 Export 할 수 있습니다.
 

Table-Level Export

 테이블 레벨 익스포트 (Table-Level Export)에서는 모든 테이블(파티션 혹은 파티션 되지 않은 테이블 포함)과 인덱스, 그리고 해당 테이블에 종속적인 여타 오브젝트들을 익스포트 할 수 있습니다. 파티션 테이블일 경우 테이블의 파티션과 서브 파티션 모두 익스포트 할 수 있습니다. 이는 다이렉트 패스와 컨벤셔널 패스 둘다 사용이 가능합니다. 테이블 레벨의 익스포트는 모든 모드에서 사용이 가능합니다.

 

Partion-Level Export

 파티션 레벨 익스포트에서는 특정 파티션 혹은 서브 파티션을 선택적으로 익스포트 할 수 있습니다. 파티션 레벨 익스포트는 테이블 모드에서만 가능합니다.

 

 

 

Export Parameters

 

 다음 다이어그램들은 파라메터 파일이나 커맨드 라인에서 정의할 수 있는 파라메터 형식입니다.

 

Export_start

 

ExpModes

 

ExpTSOpts (Tablespaces_spec)

 

ExpOpts

 

ExpOpts_continued


ExpFileOpts

 

 

BUFFER

 기본값은 운영체제 값을 따릅니다.

 행을 페치(fetch)하기 위한 버퍼 사이즈를 바이트 단위로 정의할 수 있습니다. 결론적으로 이 파라메터의 값은 익스포트에 의해 페치되는 행의 최대값이 됩니다. 다음 공식을 이용하여 버퍼의 크기를 계산할 수 있습니다.

  buffer_size = rows_in_array * maximum_row_size

 이 값을 0으로 설정하게되면, 익스포트 유틸리티는 한번에 하나의 행만 가져옵니다.

 LONG, LOB, BFILE, REF, ROWID, LOGICAL ROWID, 또는 DATE 형식의 컬럼을 가진 테이블은 한번에 하나의 행만 페치됩니다.

 

Example : Calculating Buffer Size

 다음 테이블이 만들어 졌습니다.

  CREATE TABLE sample (name varchar(30), weight number);

 name 컬럼의 최대값은 30바이트이고 2바이트가 인디케이터(Indicator)로 추가됩니다. weight 컬럼은 같은 방식으로 22+2 바이트가 됩니다. 그러므로 1행의 최대 값은 56 (30+2+22+2) 바이트가 됩니다.

 100개의 행에 대해 수행하기 위해서는 버퍼 크기는 5600바이트가 될 것 입니다.

 

 

COMPRESS

 기본값은 y 입니다.

 y 로 값을 설정하면 플래그 테이블(flag table)을 병합하여 하나의 익스텐트로 익스포트를 합니다. 익스텐트 사이즈가 크다면 (예를들어 PCTINCREASE에 의해 늘어난 경우) 실 데이터를 가지고 있는 크기보다 더 많은 공간을 할당하게 됩니다.

 compress=n 으로 설정을 하게될 경우 초기 익스텐트 사이즈와 다음 익스텐트 사이즈의 값을 현 스토리지의 파라메터 값을 가지고 갑니다. 파라메터 값은 CREATE TABLE 혹은 ALTER TABLE 에 정의한 값이나 데이터베이스 시스템에 의해 변경된 값을 참조합니다. 예를들면 NEXT 익스텐트 크기는 PCTINCREASE 파라메터가 0이 아닐경우 변경되어 집니다.

 

 

CONSISTENT 

 기본값은 n 입니다.

 익스포트 유틸리티가 SET TRANSACTION READ ONLY 구문을 활성화 할지 안할지를 정합니다. 데이터가 한 시점에서 정합성을 유지하고 exp 명령이 수행되는 동안 데이터가 변경되지 않을 경우에 사용합니다. 다른 어플리케이션들이 Export 가 수행된 후 데이터를 변경해야 할 일이 있을거라 예상된다면 CONSISTENT=y 로 정할 수 있습니다.

  CONSISTENT=n 을 사용하면 각각의 테이블은 하나의 트렌젝션에서 익스포트가 수행됩니다. 하지만, 테이블이 Nested Table을 가지고 있으면 Outer table 그리고 각 Inner table 들은 각각의 트랜젝션에서 수행되게 됩니다. 테이블이 파티션 되어 있으면 역시 각각의 파티션은 각각의 트랜젝션으로 처리하게 됩니다.

 그러므로 Nested table 과 Partitioned table 이 다른 어플리케이션에서 업데이트를 수행하면 익스포트 된 데이터는 정합성을 유지하지 못하게 됩니다. 이러한 문제를 최소화 하기 위해 데이터의 변경이 없을때 익스포트를 수행하도록 하십시요.

 Time Sequence 1
  사용자 1이 테이블 P1을 Export 수행

 Time Sequence 2
  사용자 2가 테이블 P2의 데이터를 업데이트
  사용자 2가 테이블 P1의 데이터를 업데이트
  트렌젝션 Commit

 Time Sequence 3
  테이블 P1 익스포트 종료

 Time Sequence 4
  테이블 P2 익스포트 수행

 CONSISTENT=y 를 설정할 경우 사용자2가 수행한 업데이트는 익스포트 파일에 기록되지 않습니다.

 이 값을 n으로 설정했다면 테이블 P1의 업데이트는 익스포트 파일에 기록되지 않습니다. 하지만 테이블 P2의 없데이트는 익스포트 파일에 기록되는데 이는 테이블 P2가 익스포트 되기 전에 이미 트렌젝션이 완료되었기 때문입니다. 결과적으로 사용자2의 트랜젝션은 정합성을 유지하지 못하고 익스포트 파일에 기록됩니다.

 CONSISTENT=y 그리고 다량의 업데이트가 일어나면 롤백 세그먼트 매우 커질 것 입니다. 게다가 각 테이블의 익스포트는 매우 느려질 수 있는데 이는 롤백 세그먼트는 아직 Commit 되지 않은 트랜젝션도 읽어 드려야 하기 때문입니다.

 CONSISTENT=y 로 설정할땐 다음을 명심하십시요.

  • CONSISTENT=y 는 SYS 혹은 AS SYSDBA 로 접속해 있을때는 지원하지 않습니다.
  • 특정 미디어에 익스포트를 받기 위해서는 SYS 스키마를 이용해야 할 수도 있습니다. 이러한 상황에서는 CONSISTENT=y 명령은 무시되어 집니다. CONSISTENT=y 로 익스포트를 수행하는 중에는 메타데이터를 절대 변경하지 말기를 권고합니다.
  • "Snapshot too old" 에러는 롤백 세그먼트가 오래되고 Commit 된 트랜젝션이 사용하던 공간이 새로운 트랜젝션에 의해 사용될 경우 발생합니다. 롤백 세그먼트를 재사용 하는 것은 최소한의 공간을 사용하기 위함이지만 읽기 일관성을 유지할 수 있는 시간을 제한하는 일도 합니다.

    Commit 된 트랜젝션이 새 트랜젝션에 의해 덮어 쓰여지고 기존 정보가 읽기 일관성을 위해 필요하게 되면 "Snapshot too old" 메세지를 보여줍니다.

    이 에러를 방지하기 위해 읽기 일관성 유지 Export 에 의해 소요되는 시간을 최소화 해야 합니다. (이는 한번에 익스포트 하는 오브젝트의 수를 제한하거나 혹은 데이터베이스의 트랜젝션 비율을 감소시키는 방식으로 수행하도록 합니다.) 또한 가능한한 롤백 세그먼트의 크기를 크게 정합니다.

 

CONSTRAINT 

 기본값은 y 입니다.

 Export 유틸리티를 수행시 테이블의 제약조건을 같이 익스포트 할지 여부를 결정합니다.

 

DIRECT

 기본값은 n 입니다.

 다이렉트 패스를 사용할지 컨벤셔널 패스를 사용할지 결정합니다.

 DIRECT=y 로 설정할 경우 Export 유틸리티는 데이터를 SQL Command-Processing Layer를 패스하고 바로 데이터를 읽어드립니다. 이 방법은 컨벤셔널 패스 방식보다 굉장히 빠른 속도를 보여줍니다.

 

FEEDBACK

 기본값은 0 (Zero) 입니다.

 n개의 행을 익스포트 할 때마다 진행 상황을 출력합니다. 예를들어 FEEDBACK=10 으로 설정했을 경우 10개의 행이 익스포트 될 때마다 화면에 진행상황을 표시합니다. 테이블 단위로 설정할 수 없습니다. (오직 행 단위 입니다.)

FILE

 기본값은 expdat.dmp 입니다.

 익스포트 파일의 이름을 정합니다. 기본 확장자는 dmp 이지만 자유롭게 확장자를 정할 수 있습니다. 익스포트 유틸리티는 여러개의 파일로 익스포트 하는 것을 지원하기에 여러개의 파일 이름을 정해줄 수 있습니다. 다음을 참고하세요.

  exp scott/tiger FILE = dat1.dmp, dat2.dmp, dat3,dmp FILESIZE=2048

  FILESIZE에 정의된 크기만큼 파일이 가득 찰 경우 현재 파일에 쓰는 것을 중단하고 다음 정의된 파일 이름명으로 익스포트를 재개하며, 역시 이 파일이 가득 찰 동안 익스포트를 수행합니다. 다음 익스포트 파일명을 지정해 주지 않았을 경우 익스포트 유틸리티는 다음 파일 명을 입력해 주길 바라는 프롬프트를 보여줄 것 입니다.

 

FILESIZE

 기본값은 밑의 표에 정의된 값을 이용합니다.

기본값 보기

 

 FILESIZE 값은 KB단위로 재설정 할 수 있습니다. 즉 FILESIZE=2K 는 FILESIZE=2048 과 같은 의미입니다. 비슷하게 MB, GB 역시 사용할 수 있습니다.

 

FLASHBACK_SCN

 기본으로 주어지는 값은 없습니다.

 익스포트가 플레시백에 사용할 System Change Number(SCN)을 정의합니다.

FLASHBACK_TIME

 기본으로 주어지는 값은 없습니다.

 시간을 결정합니다. 익스포트는 지정된 시간과 가장 가까운 SCN번호를 찾아냅니다. 이 SCN 번호는 플래시백을 수행하는데 사용합니다.

 

FULL

 기본값은 n 입니다.

 익스포트 유틸리티가 Full 모드로 수행할지 여부를 결정합니다. (풀 모드는 모든 데이타베이스를 익스포트 합니다.) FULL=y 로 지정하면 풀 모드로 전환됩니다. EXP_FULL_DATABASE 롤이 요구됩니다.

 

GRANTS

 기본값은 y 입니다.

 익스포트 할시 오브젝트에 관한 권한을 같이 익스포트 할지 여부를 결정합니다.

 

HELP
 기본으로 주어지는 값은 없습니다.

 파라메터에 관한 도움말을 보여줍니다. exp help=y 를 커맨드 라인에 입력하십시요.

 

INDEX

 기본값은 y 입니다.

 인덱스를 익스포트 할지의 여부를 결정합니다.

 

LOG

 기본으로 주어지는 값은 없습니다.

 정보와 에러메세지를 받을 파일명을 지정합니다. 다음 예제를 참고합니다.

  exp SYSTEM/password LOG=export.log

 이 값을 설저하면 메세지들이 로그파일에 기록됨과 동시에 화면에 출력해 줍니다.

 

OBJECT_CONSISTENT

 기본값은 n입니다.

 익스포트 유틸리티가 SET TRANSACTION READ ONLY 구문을 이용할지 안할지를 정합니다. 이 값이 y로 되어 있을 경우 각각의 오브젝트들은 자신들의 Read-Only 트랜젝션을 포함하여 익스포트 합니다. 위의 CONSISTENT 파라메터를 참조하십시요.

 

OWNER

 기본으로 주어지는 값은 없습니다.

 사용자 모드(user-mode)로 익스포트가 수행되게 정의하며 이 옵션을 주게되면 익스포트할 사용자의 리스트가 출력됩니다. 사용자가 DBA일 경우 다수의 사용자 리스트가 출력될 것 입니다.

 

PARFILE

 기본으로 주어지는 값은 없습니다.

 익스포트에 사용될 파라메터가 나열된 파라메터 파일을 정의합니다.

 

QUERY

 기본으로 주어지는 값은 없습니다.

 테이블 모드로 익스포트를 수행시 SQL쿼리를 이용하여 원하는 행만 익스포트 할 수 있습니다. 예를들어 사용자 scott가 직책이 SALESMAN이고 연봉이 1600 이하인 임직원만 익스포트 받기를 원한다면 다음과 같이 익스포트를 수행할 수 있을 것 입니다.

  exp scott/tiger TABLES=emp QUERY=\"WHERE job=\'SALESMAN\' and sal \<1600\"

 이 파라메터가 요구하는 값은 where 절 이하입니다. 요구되는 테이블은 TABLES 파라메터에서 정의되어 집니다. 이 쿼리를 수행하면 다음과 같은 SQL select 쿼리가 수행됩니다.

  SELECT * FROM emp WHERE job='SALESMAN' AND sal<1600

 QUERY 파라메터에 나오는 값은 TABLES에 정의된 모든 테이블에 적용됩니다.

  exp scott/tiger TABLES=emp,bonus QUERY=\"WHERE job=\'SALESMAN\' and sal \<1600\"

 위 쿼리를 수행하면 다음과 같은 SQL이 순차적으로 수행됩니다.

  SELECT * FROM emp WHERE job='SALESMAN' AND sal<1600
  SELECT * FROM bonus WHERE job='SALESMAN' AND sal<1600

 만약 QUERY 파라메터에서 준 값의 컬럼이 존재하지 않으면 에러 메세지를 보여주며 어떠한 행도 익스포트 되지 않습니다.

 

Restrictions

  • QUERY 파라메터는 full, user, 혹은 tablespace 모드에서 정의할 수 없습니다.
  • QUERY 파라메터는 정의된 테이블에 모두 적용될 수 있어야 합니다.
  • QUERY 파라메터는 다이렉트 패스 익스포트에서 사용할 수 없습니다. (export=y)
  • QUERY 파라메터는 Inner nested table 에 사용할 수 없습니다.

 

RECORDLENGTH

 기본값은 운영체제의 값에 의존합니다.

 바이트로 파일 레코드의 길이를 정의합니다. RECORDLENGTH 파라메터는 익스포트 된 데이터 파일을 다른 기본값을 가지고 있는 운영체제 시스템에 전송할때 사용합니다.

 이 값은 시스템의 버퍼 크기보다 더 크게 설정할 수 있습니다.( 최대값은 64KB입니다.) RECORDLENGTH 파라메터를 변경하면 단지 디스크에 기록하기 전 데이터 크기의 계산 결과에만 영향을 미칩니다. 운영체제의 블럭 사이즈에는 영향을 미치지 않습니다.

 

RESUMABLE

 기본값은 n 입니다.

 RESUMABLE 파라메터는 Resumable space 를 할당할지 안할지를 결정합니다. 기본값은 disable 이기 때문에 이 파라메터와 연관된 파라메터인 RESUMABLE_NAME, RESUMABLE_TIMEOUT 파라메터를 사용하기 위해서는 이 값은 반드시 y 로 설정해야 합니다.

 (Resumable space 에 관한 자세한 정보는 Oracle 9i Database Conceps, Oracle 9i Database Administrtor's Guide 를 참고하십시요.)


RESUMABLE_NAME

 기본값은 'User USERNAME (USERID), Session SESSIONID, Instance INSTANCEID' 입니다.

 이 파라메터의 값은 이 구문이 재시작 할 수 있음을 나타냅니다. 이 값은 사용자가 직접 지정하는 것 이며 USER_RESUMABLE 혹은 DBA_RESUMABLE 뷰를 통해 멈춰있는 재시작 가능한 구문이 어떤 것인지 파악하는데 도움을 줄 수 있습니다.

 이 파라메터는 RESUMABLE 파라메터가 n 값이면 무시하게 됩니다.

 

RESUMABLE_TIMEOUT

 기본값은 7200 초(2시간) 입니다.

 이 값은 반드시 수정되어야 할 에러의 시간 주기를 정의합니다. 이 시간내에 에러가 수정되지 않으면 익스포트 명령은 취소(ABORT) 됩니다.

 이 파라메터는 RESUMABLE 파라메터가 n일 경우 무시됩니다.

ROWS
 기본값은 y 입니다.

 행을 익스포트 할지 말지의 여부를 결정합니다.

 

TABLES

 기본값은 n 입니다.

 익스포트 유틸리티를 테이블 모드로 수행합니다. 테이블 이름을 지정했을 경우 다음을 정의할 수 있습니다.

  • schemaname은 익스포트 될 테이블이나 파티션의 사용자 스키마를 정합니다. ORDSYS, MDSYS, CTXSYS 그리고 ORDPLUGINS 스키마는 익스포트에 의해 예약된 스키마 명 입니다.
  • tablename 은 테이블의 이름 혹은 익스포트 될 테이블의 이름을 정의합니다. 테이블 레벨 익스포트는 모든 파티션 혹은 파티션 되지 않은 테이블을 익스포트 받을 수 있게 합니다. 리스트의 테이블이 파티션이라면 파티션 이름을 정하지 마십시요. 모든 파티션과 서브 파티션이 같이 익스포트 됩니다.
  • partition_name 은 익스포트가 파티션 레벨에서 익스포트를 수행할 수 있게 합니다.

 형식은 다음과 같습니다.

  schemaname.tablename:partition_name
  schemaname.tablename:subpartition_name

 tablename:partition_name 을 사용할 경우 대상 테이블은 반드시 파티션 테이블이어야 하며 partition_name 은 해당 테이블의 파티션, 혹은 서브 파티션이어야 합니다. 해당 테이블이 파티션 테이블이 아니라면 partition_name 부분은 무시하게 되고 전체 테이블을 익스포트 받습니다.

 

Table Name Restrictions

  •  기본적으로 데이터베이스의 테이블이름은 대문자로 저장됩니다. 하지만 소문자를 섞어서 테이블 이름을 만들고 싶다면 따옴표(")로 묶어 대소문자를 구분할 수 있습니다. 데이터베이스에 저장된 테이블명과 정확히 일치해야 합니다.

    몇몇 운영체제는 명령행의 따옴표를 처리하기 위에 탈출문자(Escape Character)를 필요로 합니다. 다음 예제들은 각각의 익스포트 모드에서 대소문자를 구분하는지 보여줍니다.

    - In Command line mode :
      TABLES = '\"Emp\"'

    - In interactive mode :
     Table(T) to be exported : "Emp"

    - In parameter file mode :
     TABLES = '"Emp"'
  • 명령행에서 테이블이름을 정할땐 따옴표를 사용한다고 하여도 파운드 기호 (#)를 사용할 수 없습니다. 파라메터 파일에서 # 표시를 사용할때 따옴표로 묶지 않게 되면 나머지 줄은 주석으로 간주하게 됩니다.

    예를들어 파라메터 파일이 다음과 같은 행을 포함한다고 가정합니다. 익스포트는 emp#이후는 주석으로 간주하고 dept 와 mydata 테이블은 익스포트 하지 않습니다.

    TABLES = (emp#, dept, mydata)

    하지만 따옴표를 사용하게 되면 정상적으로 익스포트 하고자 했던 테이블들을 모두 익스포트 합니다.

    TABLES =("exp#", dept, mydata)

 

TABLESPACES
 기본으로 주어지는 값은 없습니다.

 TABLESPACES 파라메터는 테이블스페이스 내에 있는 모든 테이블들을 익스포트 하게 됩니다. 테이블스페이스에 포함되어 있는 파티션 테이블 역시 포함되며 테이블들과 연관된 인덱스들도 역시 익스포트 됩니다.(인덱스가 저장되어 있는 위치는 고려하지 않고 해당 테이블과 연관된 인덱스는 모두 익스포트 합니다.)

 TABLESPACES 파라메터를 사용하기 위해선 EXP_FULL_DATABASE롤이 요구됩니다.

 

TRANSPORT_TABLESPACE

 기본값은 n 입니다.

 값을 y로 설정할 경우 Transportable tablespace metadata 를 익스포트 할 수 있습니다.
 Transportable tablespace 는 추후 포스팅 하는것으로 하겠습니다.

TRIGGERS

 기본값은 y 입니다.

 익스포트 유틸리티가 triggers를 익스포트 할지 안할지의 여부를 결정합니다.

TTS_FULL_CHECK

 기본값은 false 입니다.

 TTS_FULL_CHECK를 true로 설정할시 익스포트는 복구 셋(테이블스페이스 복구셋)이 복구 셋의 외부에 의존성을 가지고 있는지 검사하며 반대의 경우도 마찬가지 입니다.

 

USERID

 기본적으로 정해진 값은 없습니다.

 익스포트를 수행할 사용자의 username/password 를 정의합니다. 이 값을 정해주지 않을경우 값을 요구하는 프롬프트를 띄울것 입니다. USERID 는 다음과 같이도 사용할 수 있습니다.

  userid/password AS SYSDBA

 혹은

  userid/password@instance AS SYSDBA

  SYS 로 접속할 경우에는 반드시 AS SYSDBA 접속 식별자를 선언해 주어야 합니다.

 

VOLSIZE

 각각의 테잎 볼륨에 익스포트할 파일의 최대값을 바이트 단위로 선언합니다.

 VOLSIZE 파라메터의 최대값은 64Bit 에서 저장될 수 있는 최대용량과 같습니다. 용량은 위에서 설명한 FILESIZE 파라메터 부분을 참고하십시요.

 VOLSIZE 파라메터의 값은 KB를 붙여 사용할 수 있습니다. 예를들어 VOLSIZE=2048 은 VOLSIZE=2KB 와 같습니다. 같은 방법으로 MB,GB 단위를 사용할 수 있습니다.

 

Parameter Interactions

 몇몇 파라메터들은 다른 파라메터들과 충돌을 일으킵니다. 예를들어 TABLES 파라메터는 OWNER 파라메터와 충돌을 일으킵니다. 다음 명령구문은 에러와 함께 익스포트가 수행되지 않습니다.

  exp SYSTEM/password OWNER=jones TABLES=scott.emp

 

 마찬가지로, TABLES와 OWNER 는 FULL=y 와 충돌을 일으킵니다.

 

 

--> Continue~

2009년 10월 20일 화요일

잊고 있었다!

이번 10월달은 특히나 바빴던 한달이었던듯 싶다. 장비 교체로 인한 주말 작업부터 SQL 쿼리 튜닝까지.. 또 특히나 짧은 주기의 회식으로 인해 나에게 블로그의 존재가 잊혀진 시점이었다.

 

누구에게 보여주기보다는 추후 내가 참고하기 위해 만든 블로그인 만큼, 이러저러한 잡설보다는 DB -그중에서도 오라클-에 관한 기술적인 내용을 많이 올리고 있다. 덕분에 기술문서 홈페이지가 된 듯한 느낌이다. 딱딱하고 재미없고. 그나마 와우에 관한 내용으로 아주 약간은 볼거리 있는 블로그로 만들고 싶었으나 주말에만 잠깐 하는 와우로 포스팅 할 껀덕지가 없다.

 

이번에 와우는 할로윈 이벤트라지. 주말에 집에가면 가볍게 할로윈 이벤트나 즐겨야 겠다.

 

 

월요일부터 술먹어대고.. 금요일 같은대 오늘 화요일이래..

 

 

 

깝깝하다.. 오늘 일찍 자야지!

2009년 10월 5일 월요일

ORACLE_022. Making User Managed Backups_Part III

Making User Managed Backups_Part III

 

Verifying User-Managed Backups

 

 정기적으로 백업본이 복구에 사용할 수 있는지 점검해 주어야 합니다. 이번 포스트에서는 이러한 백업본이 정상적인지 점검하는 방법에 대해 알아봅니다.

 

Testing the Restore of Backups

 백업본이 정상적인지 확인하는 가장 좋은 방법은 임시 데이터베이스에 백업본을 이용해 직접 복구작업을 수행해 보는 것 입니다. 이 방법은 복원 작업을 위한 별개의 데이터베이스가 필요합니다.

 

Using the DBVERIFY Utility

 DBVERIFY 유틸리티는 오프라인 데이터파일에 대하여 물리적 데이터구조의 정합성을 확인하는 외부 유틸리티 입니다. 데이터에 문제가 생겨서 복원을 수행해야 할때 백업된 데이터본에 우선적으로 DBVERIFY 를 수행하여 백업된 데이터파일이 손상되지 않았는지 확인하도록 합니다.

 DBVERIFY의 이름과 위치는 OS에 따라 다소 차이가 있을 수 있습니다. 예를들어 UNIX에서 tbs_52.f 라는 파일을 검사하기 위해 dbv 명령을 다음과 같이 수행합니다.

  % dbv file=tbs.52.f

 dbv의 예시 결과는 다음과 같습니다.

 DBVERIFY : Release 9.2.0.0.0
 
 (c) Copyright 2000 Oracle Corporation. All rights reserved.

 DBVERIFY - Verification starting : FILE = tbs.52.f

 DBVERIFY - Verification complete

 Total Pages Examined                 : 250
 Total Pages Proceessed (Data)    : 4
 Total Pages Failing         (Data)    : 0
 Total Pages Processed (Index)    : 15
 Total Pages Failling      (Index)    : 0
 Total Pages Processed  (Other)   : 29
 Total Pages Empty                      : 202
 Total Pages Marked Corrupt        : 0
 Total Pages Influx                       : 0

 

 

Making Logical Backups with Export

 

 Export & Import 는 데이터베이스의 데이터파일을 넣고 빼는 유틸리티 입니다. Export 는 오라클 데이터베이스에서 운영체제로 특정 바이너리 포맷으로 기록하는 유틸리티 입니다. Import 는 Export 파일을 읽어서 기 존재하는 데이터베이스에 데이터를 집어 넣는 유틸리티 입니다. Export와 Import 는 오라클 데이터를 옮기기 위해 디자인 되기는 했지만, 추가적인 백업 수단으로 사용할 수 있습니다.

 

Using Export

 Export 유틸리티는 데이터베이스가 오픈상태일때 논리적 데이터베이스 객체를 백업할 수 있습니다.

 * Export 가 수행중일때 누구도 데이터베이스에 변화를 주지 못하도록 하십시요. ALTER SYSTEM QUIESCE RESTRICTED 모드로 Export 를 수행하는 동안 데이터에 접근하여 변경하는 것을 막을 수 있습니다.

 
Using Import
 Import 유틸리티를 사용하여 만들어진 Export 파일을 이용하여 데이터베이스를 복원할 수 있습니다. 이 유틸리티는 Export 유틸리티와 정 반대의 기능을 합니다.

 Import 유틸리티로 Export 파일을 이용해 데이터베이스 복원
 1. 테이블 스페이스와 사용자를 포함하여 데이터베이스 구조를 재생성 합니다. 재생성된 데이터베이스는 어떠한 객체도 소유하고 있지 않아야 합니다.
 2. Export 파일을 Import 하여 가장 최근의 정상적이었던 데이터베이스 상황으로 복원합니다.

 

Export & Import  에 관한 자세한 사용 방법은 추후 포스팅 하겠습니다.

 

Making User-Managed Backups of Miscellaneous Oracle Files

 

 초기화 파일과, 네트워크 환경설정 파일, 패스워드 파일 역시 항상 백업을 해 주어야 합니다. 미디어 실패로 인해 위 파일들을 잃게되면 원래의 환경으로 복구하는데 굉장한 어려움이 따를 수 있습니다. 예를들어 데이터베이스와 서버 파라메터 파일은 백업을 했지만 네트워크 파일을 백업하지 않았다면 (예를들어 tnsnames.ora 혹은 listener.ora 파일) 데이터베이스는 복원과 복구를 수행할 수 있지만 네트워크 파일을 만들어 주기 전까지는 Oracle Net을 통하여 사용자를 인증할 수 없게 됩니다.

 일반적인 규칙으로 이러한 기타 오라클 파일들이 변화되었다면 반드시 백업을 하도록 권장합니다. 예를들어 데이터베이스에 접속할 수 있게 하는 넷 서비스의 이름을 변경하거나 추가하였다면 tnsname.ora 파일의 새로운 백업을 만들도록 하십시요.

 오라클 파일들을 찾는 가장 쉬운 방법은 오라클 홈 디렉토리에서 시작하여 .ora 로 끝나는 파일을 반복적으로 찾는 것 입니다. UNIX를 예를들어 설명하면

 % find $ORACLE_HOME -name "*.ora" -print

 를 수행하면 됩니다. 환경설정 파일들을 백업하기 위해서는 Third_Party 유틸리티를 이용하도록 합니다. UNIX의 경우 cp 명령을 이용하여 tnsnames.ora 파일과 listener.ora 파일을 백업할 수 있습니다.

 % cp $ORACLE_HOME/network/admin/tnsnames.ora /disk2/bkup/tnsname01-22-01.ora
 % cp $ORACLE_HOME/network/admin/adminlistener.ora /disk2/bkup/listener01-22-01.ora

 또한같은 방법으로   영체제 유틸리티를 이용하여 서버 파라메터 파일을 백업할 수 있습니다.

FIN.
REF) Oracle Document (Server. 920/a96572) Making User-Managed Backups

 

2009년 10월 2일 금요일

오라클, 클라우드 패권 정조준

오라클, 클라우드 패권 정조준
퍼블릭-프라이빗 두마리 토끼 모두 잡는다
황치규 기자 delight@zdnet.co.kr
2009.10.01 / AM 10:23
[지디넷코리아]한국오라클의 클라우드 전략은  외부를 상대로 서비스를 제공하는 퍼블릭과 기업 내부 또는 파트너 업체들을 위한 인프라 제공에 초점을 맞춘 프라이빗 클라우드 시장을 모두 공략하는 것이다.

 

오라클 클라우드 컴퓨팅 전략은 크게 2가지로 요약된다.

 



우선 클라우드 기반 비즈니스 애플리케이션 서비스다. 오라클은 이미 '오라클 온디맨드'란 이름으로 다양한 비즈니스 애플리케이션을 서비스로서의 소프트트웨어(Software as a Service: Saas) 방식으로 제공하고 있다. 고객관계관리(CRM), 협업, 공급망관리(SCM)가 대표적이다.

 

국내의 경우 'CRM 온디맨드가 상대적으로 두각을 나타내는 모습.  전담인력도 투입했다.  한국오라클의 원문경 부사장은 "경제 위기로 비용이 저렴한 온디맨드 CRM에 대한 수요가 국내서도 늘고 있다"면서 한국법인도 시장 공략에 속도를 낼 것임을 분명히 했다. 이에 따라 SaaS 기반 CRM 시장을 주도해온 세일즈포스닷컴과의 한판 승부가 주목된다.
 
프라이빗 클라우드도 전략적 요충지다. 한국오라클은 클라우드 컴퓨팅 인프라를 구축하고 서비스를 준비하는 업체들에게 관련 인프라를 제공하는데 커다란 기대를 걸고 있다. 한국오라클은 데이터베이스관리시스템(DBMS), 미들웨어 비즈니스 애플리케이션을 넘어 썬 인수로 서버까지 아우르는 플랫폼 제공 능력을 갖추게 됐다. 가상화, 그리드, 서비스 지향 아키텍처(SOA) 부문에서도 자신감을 보인다.

 

한국오라클은 국내 고객중 SaaS 뿐만 아니라 SDP(Service Delivery Platform)와 같은 형태로 서비스로서의 플랫폼(PaaS) 서비스를 구축한 사례 및 현재 준비중인 고객들 및 그외 자사 인프라를 클라우드 형태로 전환하려는 기업 모두에게 관련 SW 플랫폼을 제공할  계획이다.

 

한국오라클 관계자는 "엔터프라이즈 고객들은 현재 프라이빗과 퍼블릭 클라우드중 어떤 모델이 자사 환경에 적합한지를 놓고 고민하고 있다"면서 "두 모델 모두 장단점이 있는 만큼, 고객들이 두가지 중 어떠한 것을 선택하더라도 오라클 엔터프라이즈 소프트웨어를 효율적으로 사용할 수 있도록 하겠다"고 말했다. 오라클은 아마존과 같은 퍼블릭 클라우드 서비스를 사용할 고객들에게는 아마존 EC2 서비스에서 오라클 DB를 운영할 수 있도록 AMI(Amazon Machine Image)도 제공하고 있다.

 

한국오라클의 클라우드 컴퓨팅 전략은 10월 13일 메가뉴스 지디넷코리아에서 개최하는 'ACC2009-클라우드 컴퓨팅 컨퍼런스'에서 보다 자세하게 발표될 예정이다.


원본 보기