Oracleのexp / impバイナリをインストールする方法


11

解決策を見つけるためにネットを閲覧していましたが、運がありませんでした。:(

どのように私は、Oracleのインストールすることができますimp/ exp私のCentOSのは、Oracle Serverをインストールすることなく、ボックスにバイナリを?別のマシン上の既存の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ファイルセットの4番目のファイルです。最新バージョンは11.2.0.3.0(2011年第4四半期にリリースされた659,229,728バイト-技術的には「パッチセット」と呼ばれますが、完全なインストールです)。パブリックダウンロードはできません。(Linux x86-64の廃止された11.2.0.1.0のみが公開されています)。

完全なOracleクライアントをダウンロードするには、次の手順を実行します。

  1. 以前はメタリンクと呼ばれていた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」です(プラットフォームは「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.

ユーザー名:


どうもありがとう。これは私にとって最も簡単なアプローチでした!!
ダンLenski

Ubuntu 16.10でも動作します!これらを事前にインストールするだけです。sudoapt-get install rpm2cpio libaio1 libaio-dev
Claude Houle


3

Oracleインスタンスを完全にインストールする必要はありません。

  1. George3の回答に記載されているOracleクライアントをダウンロードします
  2. インストール-それはあなたがいずれかを選択するように要求されたときにInstant ClientRuntimeAdministrator、またはCustom< -カスタムを選択します。
  3. を選択しDatabase Utilitiesます。これにはexp / impファイルが含まれます


-1

DBMSシステムなしでデータベースをインポートしたいのですが、申し訳ありませんが、これは単語のすべての定義では不可能です...

だから、そう、あなたは完全なOracleは、前にインストールしなければならないimpexp動作します。

また、今後はexpdpand を使用することをお勧めしimpdpます。


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.