元オンプレエンジニアがAWSを使ってみた(RDSユーティリティ編)

Pocket

こんにちは!大柳です。

元オンプレエンジニアが、AWSを使った感想、オンプレとの違いについて紹介していくシリーズ、2つめのテーマはAmazon RDS(Amazon Relational Database Service)です。
今回もRDSを使ってみた感想を紹介していきます。今回はユーティリティ編です。
SQL*Loader、DatapumpなどのユーティリティがRDS for Oracleで利用可能か、またどのような制約があるかを紹介します。

Oracle SQL*Loader

SQL*LoaderはRDSでも利用可能です。RDS上ではsqlldrが起動できないため、他のEC2インスタンスなどでsqlldrを起動、RDSに接続してデータをロードできます。

http://www.slideshare.net/AmazonWebServicesJapan/20150728-rd-bmigrationpublic から引用

Datapump export/import

RDSでも利用可能です。しかしながらRDSではOS上のファイルにアクセスできない制約があるため、オンプレとは少し違う手順を踏む必要があります。

http://www.slideshare.net/AmazonWebServicesJapan/20150728-rd-bmigrationpublic から引用
インポートする場合の手順は以下の通りです。

①移行元のデータベースでDatapumpによりエクスポートを実施
②移行用に立てたEC2インスタンスにエクスポートファイルをコピー
③util_file.put_raw()を使ってRDS上のDATA_PUMP_DIRにファイルをコピー
④RDS上のDATA_PUMP_DIRからインポートを行う
⑤utl_file.fremoveでDATA_PUMP_DIR上のファイルを削除する

②③はDBLinkを移行元と移行先の間に張って、DBMS_FILE_TRANSFERでファイル転送を行う方法もあります。

詳しい手順はガイドを参照ください。

逆の手順を踏めば、エクスポートも可能と思われますが、実際に検証したケースが見つけられなかったので、後日試してみたいと思います。

RMAN(Recovery Manager)

RDSではRMANはバックアップ、リストアとも使えません。
なお、RDSではありませんが、Oracle on EC2やオンプレOracleではRMANからS3にバックアップを取ることができるOracle Secure Backup Cloud Moduleが提供されています。
http://docs.oracle.com/cd/E22653_01/doc/doc.103/b55290/editions.htm#CIHDFBEC

その他のユーティリティ

SQL*Plusはもちろん使えます。
SQL*Plusのクライアントへの導入、接続手順は以下の記事にまとめています。
RDS編~Oracle~ | ナレコムAWSレシピ

Statspackはオプショングループに追加することで利用可能です。
http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.Statspack.html

AWRもEnterprise Editionであれば利用可能です。

Oracle Enterprise Manager(OEM)も利用可能です。
http://aws.typepad.com/aws_japan/2012/05/oracle-enterprise-manager-oem-for-oracle-db-instances.html
RDS編~Oracle Enterprise Manager~ | ナレコムAWSレシピ

まとめ

RDS for OracleはマネージドサービスのためRMANは使えませんが、他のユーティリティは利用できることが分かりました。ただし、RDSのOSにはユーザが直接アクセスできないこともあり、ユーティリティ利用上の制約があるので、利用の際には注意が必要そうです。

次回は、RDSの運用・監視編をお届けします。

お楽しみに。