Hatena::ブログ(Diary)

log4moto

2011-05-24

Oracle on Amazon RDSを使ってみた 19:06

Amazon RDSがOracleをサポートしたので、早速触ってみた。

参考:【AWS発表】 Amazon RDSでOracle Databaseがライセンス持込、ライセンス時間課金の両形式で利用可能に - Amazon Web Services ブログ

(リンク変更)

インスタンス立ち上げ

まずはインスタンスを立ち上げちゃいます。と言っても、MySQL版とそれほど変わる事もなく、ライセンス周りだけ気をつけます。

今回はlicense-includedなoracle-se1で、m1.smallを選びました。容量は最小の10GB。ポートが3306(MySQLのポート)がデフォルトに指定されてましたが、気持ち悪いのでOracleデフォルトの1521に変更しました。

f:id:j3tm0t0:20110524183820p:image:medium

接続確認の準備

接続確認をするために、Oracleクライアントを用意します。Instant Client(要:OTNアカウント)をダウロードして、設定します。今回はUbuntuEC2インスタンスから接続してみました。

DB Security Groupで、接続を許可しておくのを忘れないようにしてください)

必要ファイル:

  • instantclient-basic-linux32-11.2.0.1.zip
  • instantclient-sqlplus-linux32-11.2.0.1.zip

これらのファイルを~/oracle/instantclient_11_2 に展開しました。

.bashrcに以下の設定を追加します。

export LD_LIBRARY_PATH=~/oracle/instantclient_11_2
export SQLPATH=~/oracle/instantclient_11_2
export NLS_LANG=Japanese_Japan.AL32UTF8 
export PATH=$PATH:~/oracle/instantclient_11_2

接続確認

では、起動してみます。

$ sqlplus system/manager@j3tm0t0.cxikxf7hlya3.ap-northeast-1.rds.amazonaws.com/TEST
sqlplus: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

なんかライブラリが足らないようですので、インストールします。

~$ sudo apt-get install libaio1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  libaio1
0 upgraded, 1 newly installed, 0 to remove and 158 not upgraded.
Need to get 0B/10.0kB of archives.
After this operation, 81.9kB of additional disk space will be used.
Selecting previously deselected package libaio1.
(Reading database ... 121655 files and directories currently installed.)
Unpacking libaio1 (from .../libaio1_0.3.107-7ubuntu1_i386.deb) ...
Setting up libaio1 (0.3.107-7ubuntu1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

そして再挑戦

$ sqlplus system/manager@j3tm0t0.cxikxf7hlya3.ap-northeast-1.rds.amazonaws.com/TEST

SQL*Plus: Release 11.2.0.1.0 Production on 火 5月 24 09:48:12 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied


ユーザー名を入力してください: 

あれれ、繋がらない。10gあたりからsystem/managerは使えなくなっちゃったんでしたっけ?RDSの画面からパスワード変更します。

f:id:j3tm0t0:20110524185525p:image:medium

$ sqlplus system/hogehoge@j3tm0t0.cxikxf7hlya3.ap-northeast-1.rds.amazonaws.com/TEST

SQL*Plus: Release 11.2.0.1.0 Production on 火 5月 24 09:52:47 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.



Oracle Database 11g Release 11.2.0.2.0 - 64bit Production
に接続されました。
SQL> 

おお、今度はうまく接続できました。パスワードはちゃんとしたパスワードを付けましょう。

通常のOracle Databaseサーバとの違い

MySQLのRDSと同様、完全な管理者権限がある訳ではないので、運用上必要なコマンドはプロシージャ経由で起動するようです。

(参考)Amazon Relational Database Service (RDS) » Amazon Relational Database Service User Guide » Appendix: Common DBA Tasks for Oracle

DBAの方はぜひご一読を。