技術ブログ
遅まきながらAmazon Web Servicesが提供する Amazon RDS for Oracle Databaseに触ってみました。
Amazon RDS for Oracle DatabaseはいわゆるDaaS (= Database As A Service)であり、
「純粋な」データベース機能のみをサービスとして提供する位置づけにあります。したがって
インタフェースの観点から見ると、機能提供のためのインタフェース、すなわち、リモート接続のためのエンドポイント
(端的にいうならばlistener.oraのADDRESSと、インスタンスのSERVICE_NAME、管理ユーザーのユーザー名とパスワード)
のみが公開されています。逆にデータベース機能に直接関連しないインタフェースは一切公開されていません。
この特徴から、以下の制約が生まれることになります。
作成後の状態では、データベースに接続できるユーザーは、RDSインスタンスを作成する時に指定した管理ユーザーだけです。SYSユーザーではインスタンスに接続できません。
この管理ユーザはDBA権限などのかなり強い権限を持っていますが、SYSDBA権限、SYSOPER権限は保持していません。
このため、SYSDBA権限(またはSYSOPER権限)が必要なバックアップなどの一部の管理
オペレーションが直接実行でできません。また、oradebugなどの診断機能も利用できません。
通常のOracle Databaseに慣れた人から見ると、以下の点が気になるでしょう。
V$DATABASEのPLATFORM_NAMEの情報から、Oracleインスタンスは Linux x86 64-bitをホストOSとして動作しているようです。しかし、ホストOSに対してsshなどを用いて接続することは許されておらず、ホストOSのシェルを使用することはできません。
データベースに関連するファイルには多くのファイルがあり、ASMを使用しない場合、通常これらのファイルはローカルファイルシステムに配置されます。しかし、Amazon RDS for Oracle Database では、ローカルファイルシステムに直接できません。
通常のOracle Databaseに慣れた人から見ると、以下の点が気になるでしょう。
ローカル接続を前提としたプログラムをRDSで使用したい場合、リモート接続を使用して接続するように若干修正を加える必要があることになるでしょう。
今週末のJAWS FESTA Kansai 2013までの間、業務の合間を縫って、もう少しAmazon RDS for Oracle Databaseを触ってみたいと思います。