sql >> データベース >  >> RDS >> Oracle

Oracleのデータベーススキーマをダンプファイルにエクスポートする方法

    Oracleのバージョンによって異なりますか?古いバージョンはexp(エクスポート)を必要とし、新しいバージョンはexpdp(データポンプ)を使用します。 expは廃止されましたが、ほとんどの場合は引き続き機能します。

    開始する前に、Data Pumpがサーバー側のOracle「ディレクトリ」にエクスポートすることに注意してください。これは、データベース内で物理的な場所にマップされたOracleのシンボリックな場所です。デフォルトのディレクトリ(DATA_PUMP_DIR)がある可能性があります。DBA_DIRECTORIESを照会して確認してください:

      SQL> select * from dba_directories;
    

    ...そうでない場合は、作成します

      SQL> create directory DATA_PUMP_DIR as '/oracle/dumps';
      SQL> grant all on directory DATA_PUMP_DIR to myuser;    -- DBAs dont need this grant
    

    SYSTEMユーザーまたは別のDBAとして接続できると仮定すると、そのような任意のスキーマをデフォルトのディレクトリにエクスポートできます。

     $ expdp system/manager schemas=user1 dumpfile=user1.dpdmp
    

    または、特定のディレクトリを指定して、directory=<directory name>を追加します :

     C:\> expdp system/manager schemas=user1 dumpfile=user1.dpdmp directory=DUMPDIR
    

    古いエクスポートユーティリティを使用すると、次のコマンドを使用して、作業ディレクトリにエクスポートできます。サーバーから離れたクライアントマシンでもエクスポートできます。

     $ exp system/manager owner=user1 file=user1.dmp
    

    エクスポートが正しい文字セットで行われていることを確認してください。環境をセットアップしていない場合、Oracleクライアントの文字セットがDB文字セットと一致しない可能性があり、Oracleが文字セット変換を実行します。これは希望どおりでない可能性があります。警告が表示される場合は、クライアントの文字セットがデータベースの文字セットと一致するようにNLS_LANG環境変数を設定した後、エクスポートを繰り返す必要があります。これにより、Oracleは文字セット変換をスキップします。

    アメリカのUTF8(UNIX)の例:

     $ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    

    WindowsはSETを使用します。たとえば、日本語のUTF8を使用します:

     C:\> set NLS_LANG=Japanese_Japan.AL32UTF8
    

    データポンプの詳細については、こちらをご覧ください:http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm#g1022624




    1. 親のすべての子(子孫)を取得するためのCTE

    2. ORA-01034:ORACLEは使用できませんORA-27101:共有メモリレルムが存在しません

    3. PostgreSQL:通貨に使用するデータ型はどれですか?

    4. 行番号でORA-06512を解決する方法