株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

Amazon RDS for Oracle Databaseに触ってみました&気になることメモ

遅まきながらAmazon Web Servicesが提供する Amazon RDS for Oracle Databaseに触ってみました。

rds_oracle_99.jpg

Amazon RDS for Oracle DatabaseはいわゆるDaaS (= Database As A Service)であり、
「純粋な」データベース機能のみをサービスとして提供する位置づけにあります。したがって
インタフェースの観点から見ると、機能提供のためのインタフェース、すなわち、リモート接続のためのエンドポイント
(端的にいうならばlistener.oraのADDRESSと、インスタンスのSERVICE_NAME、管理ユーザーのユーザー名とパスワード)
のみが公開されています。逆にデータベース機能に直接関連しないインタフェースは一切公開されていません。

この特徴から、以下の制約が生まれることになります。


  • SYSユーザーでインスタンスに接続できない
  • シェルが使用できない
  • ローカルファイルシステムにアクセスできない
  • 接続方式はリモート接続のみで、ローカル接続はできない

SYSユーザーでインスタンスに接続できない

作成後の状態では、データベースに接続できるユーザーは、RDSインスタンスを作成する時に指定した管理ユーザーだけです。SYSユーザーではインスタンスに接続できません。

この管理ユーザはDBA権限などのかなり強い権限を持っていますが、SYSDBA権限、SYSOPER権限は保持していません。

このため、SYSDBA権限(またはSYSOPER権限)が必要なバックアップなどの一部の管理
オペレーションが直接実行でできません。また、oradebugなどの診断機能も利用できません。

通常のOracle Databaseに慣れた人から見ると、以下の点が気になるでしょう。


  • データベースをどうやってバックアップするか
  • データベースをどうやってリストアするか
  • アーカイブログモード、非アーカイブログモードの切り替えはどうやって行うのか。また、そもそも切り替えは許されているのか
  • CREATE PFILE FROM SPFILEなど、初期化パラメータファイル周りの操作をどうやって行うのか。また、その必要はあるのか。

シェルが使用できない、ローカルファイルシステムにアクセスできない


V$DATABASEのPLATFORM_NAMEの情報から、Oracleインスタンスは Linux x86 64-bitをホストOSとして動作しているようです。しかし、ホストOSに対してsshなどを用いて接続することは許されておらず、ホストOSのシェルを使用することはできません。

データベースに関連するファイルには多くのファイルがあり、ASMを使用しない場合、通常これらのファイルはローカルファイルシステムに配置されます。しかし、Amazon RDS for Oracle Database では、ローカルファイルシステムに直接できません。

通常のOracle Databaseに慣れた人から見ると、以下の点が気になるでしょう。


  • ログファイル、監査ファイルへどうやってアクセスするのか
  • ログファイル、監査ファイルのメンテナンスはどうやって実行するのか、そもそもメンテナンスする必要があるのか
  • バックアップをリストアするのはどうやってやるのか
  • DataPumpのダンプファイルにどうやってアクセスするか
  • 外部表は使用できるのか

接続方式はリモート接続のみで、ローカル接続はできない

ローカル接続を前提としたプログラムをRDSで使用したい場合、リモート接続を使用して接続するように若干修正を加える必要があることになるでしょう。

今週末のJAWS FESTA Kansai 2013までの間、業務の合間を縫って、もう少しAmazon RDS for Oracle Databaseを触ってみたいと思います。

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ