Oracle의 exp / imp 바이너리를 설치하는 방법


11

해결책을 찾기 위해 인터넷을 탐색했지만 운이 없었습니다. :(

Oracle 서버를 설치하지 않고 CentOS 상자에 Oracle imp/ exp바이너리를 어떻게 설치 합니까? 다른 머신의 기존 Oracle 데이터베이스에 액세스하고 있으므로 여기에는 클라이언트 만 있으면됩니다. 이미 설치 sqlplus했고 그 종속성 ( oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm, 및 oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64.rpm)을 제공했지만 해당 도구는 제공하지 않았습니다.

Oracle을 완전히 설치해야합니까?

내 목표는 Oracle에서 CentOS 상자로 데이터베이스 덤프를 빨아들이는 것입니다. 사용하지 않고이 작업을 수행 할 수있는 다른 방법이 있다면 사용 exp하지 않는 것이 나쁘지 않지만 대안은 없습니다.

답변:


9

내보내기 (exp) 및 가져 오기 (imp) 바이너리를 가져 오려면 Instant Client 또는 전체 RDBMS 대신 전체 Oracle Client를 설치하십시오 . 11gR2 클라이언트는 실제로 전체 RDBMS에 대해 설정된 7 개 파일 중 네 번째 파일입니다. 최신 버전은 11.2.0.3.0 (2011 년 4 분기에 릴리스 된 659,229,728 바이트-기술적으로 "패치 세트"라고하지만 완전한 설치 임)입니다. 공개적으로 다운로드 할 수 없습니다. (Linux x86-64 용으로 더 이상 사용되지 않는 11.2.0.1.0 만 공개적으로 제공됩니다).

전체 Oracle 클라이언트를 다운로드하려면 다음 단계를 수행하십시오.

  1. 이전에 metalink로 알려진 My Oracle Support (MOS)에 로그인하십시오 .

  2. 상단의 "패치 및 업데이트"메뉴를 클릭하십시오.

  3. 패치 검색 섹션에서 검색 탭을 클릭하십시오.

  4. "패치 이름 또는 번호"필드에 13390677을 입력하십시오. (13390677은 버전 11.2.0.4.0입니다)

  5. "플랫폼"도 선택하십시오. (예 : "Linux x86-64")

  6. 검색을 클릭하십시오.

  7. 검색 결과에서 패치 번호를 클릭하여 세부 정보를 표시하거나 MOS 계정에 다운로드 권한이 있다고 가정하고 다운로드를 클릭하십시오.

클라이언트 전용 다운로드의 파일 이름은 "p13390677_112040_ platform _4of7.zip"입니다 (여기서 platform 은 "Linux-x86-64").

참고 : 내보내기 / 덤프는 실제 백업 이 아닙니다 . 데이터베이스의 논리적 사본 일뿐 입니다. 메타 데이터 및 인덱스는 가져 오는 동안 다시 작성되므로 소스 데이터베이스와 바이트 단위가 동일하지 않습니다.


12

내가 한 방법은 다음과 같습니다. 해킹해야했다.

a) Download Oracle 11.2 XE for Linux 64 in your $HOME
b) Unzip the zip file you get
c) Unpack the content of the rpm file without installing it (we don't need the Oracle RDBMS to be running on the server)
    mkdir ~/Oracle11XE-binaries
    cd ~/Oracle11XE-binaries

    # extract all the binaries from the RPM (rather than installing the RPM)
    rpm2cpio ../Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm  | cpio -idmv

    sudo mkdir /opt/oracle
    sudo mv u01/app/oracle/product /opt/oracle

    # clean up downloaded and extracted files (they are BIG)
    cd
    rm -rf Disk1 oracle-xe-11.2.0-1.0.x86_64.rpm.zip

    echo 'export ORACLE_HOME=/opt/oracle/product/11.2.0/xe
    export PATH=$PATH:$ORACLE_HOME/bin
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    export TNS_ADMIN=$ORACLE_HOME/network/admin' | sudo tee /etc/profile.d/oracle.sh

    # source it so it takes effect in the current session
    . /etc/profile.d/oracle.sh

    # now you can run imp and exp
    $ imp

    Import: Release 11.2.0.2.0 - Production on Mon Aug 4 14:39:39 2014

    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

사용자 이름:


많은 감사합니다. 이것은 나를위한 가장 쉬운 방법이었다 !!
Dan Lenski

우분투 16.10에서도 작동합니다! sudo apt-get install rpm2cpio libaio1 libaio-dev
Claude Houle


3

Oracle 인스턴스를 완전히 설치할 필요는 없습니다.

  1. George3의 답변에 언급 된대로 Oracle Client를 다운로드하십시오.
  2. 설치 - 당신이 중 하나를 선택하도록 요청할 때 Instant Client, Runtime, Administrator, 또는 Custom<- 사용자 지정을 선택합니다.
  3. 를 선택하십시오 Database Utilities. 이것은 exp / imp 파일을 포함합니다


-1

DBMS 시스템이없는 데이터베이스를 가져 오려고하는데 죄송합니다. 그러나 단어의 모든 정의에서 불가능합니다.

따라서 예, 전체 Oracle 설치를 수행해야 imp하며 exp작동합니다.

또한, 미래에 내가 사용하는 것이 좋습니다 거라고 expdpimpdp대신.


7
Sotapanna가하고 싶은 것은 DBMS 서버가 아닌 머신에서 exp / imp 명령을 실행하는 것입니다. exp / imp는 네트워크를 통해 연결할 수 있으므로 전체 Oracle RDBMS 서버 패키지를 설치하지 않고 아마도 일부 oracle-client 패키지와 함께 이러한 명령을 설치할 수있는 것이 타당합니다. Sotapanna가 적합한 패키지를 찾지 못하면 RHEL / CentOS에 대한 Oracle의 패키징 결정과 관련하여 기술적 한계보다 문제가 더 많은 것으로 보입니다.
cjc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.