まとまらないブログ

ITと車とランチ

*

【Oracle】個人的メモ

   

アマゾンのAWS RDSを使うと、Oracle環境構築が簡単にできる。自分が持っているOracleのライセンスを使うことも、ライセンス料込みで借りることも可能。
ただし、OSの管理者権限を得るわけではないので、データベースを稼働させるといった事に割り切れる運用に限る。
操作はブラウザであれこれするだけで、30分もかからず作成できる。便利な世の中である。

ここからはハマった事を自分的なメモとして残す。

AWS側に12cを導入したが、以前からあるEXPおよびIMPによるデータベースのエクスポート・インポートはできない。
Oracle Data pumpを使うように、とある。大きな変更は、処理がローカル側ではなくサーバー側で処理されるようになったこと。
これにより、セキュリティの向上と処理速度の改善になった。
てことで、OS側の制御ができないAWS RDSでは、OS側にフォルダ作ってファイルコピー、なんてことが通常ではできません。
※Oracleのファイル操作機能があるPL/SQLやPHPを使って、なんて方法もあるようですが、ここはおとなしくできない、ってことにする

じゃぁ、簡単にexpdpで動かしますか、と思ったらオオハマリ。ネットには11gの情報が多いが12cだと以下のようなエラーになる。
※この操作はエクスポートで、AWS側ではなく自宅のOracleからエクスポートする作業です

接続先: Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production
ORA-39002: 操作が無効です
ORA-39070: ログ・ファイルをオープンできません。
ORA-39087: ディレクトリ名DATA_PUMP_DIRは無効です

サーバー側にあらかじめ、エクスポートするフォルダを作成し、そこへのパス指定、および権限をSQLで付与しても、エラー。
OS側のフォルダ権限かと思って試すもエラー。

あれこれネットで情報を探すと…

Pluggable Databases and “DATA_PUMP_DIR” – ORA-39087

どうやらデフォルトで用意されている DATA_PUMP_DIR と LOG_FILE_DIR は使えない、ってことみたい。
まーじーでー。というわけで、改めて定義しなおす。


sqlpuls 'username/password@orcl as sysdba'
create or replace directory LOG_FILE_DIR2 as 'c:\temp';
create or replace directory DATA_PUMP_DIR2 as 'c:\temp';
grant read, write on directory LOG_FILE_DIR2 to username;
grant read, write on directory DATA_PUMP_DIR2 to username;

こんな感じ。実際にエクスポートするには…

expdp 'username/password@orcl as sysdba' dumpfile=dumplifename.dmp logfile=logfilename.log schemas=username directory=DATA_PUMP_DIR2

username や password 等は自分の環境に置き換えてください。

 - パソコン

ad(pc)

ad(pc)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

  関連記事

no image
【パソコン】古いPCを仮想環境で動かす

Windows XPのサポートが切れてもうしばらく経ちますが、開発環境などをとっ …

【自転車とPC】浜名湖一周とパソコンいじり

サーキットで汗をかいた翌日は、ロードバイクで浜名湖一周! でかける前は曇りで雨も …

no image
【パソコン】Windows10

新しいものが大好き。ってことで、Windows10がリリースされたので、さっそく …