RDS for Oracle Databaseをとりあえずさわってみよう
今更ですが、EC2上にOracle Clientを入れてRDSに接続して色々試してみることにします。
とりあえず、今回はRDSに接続できるまでを試したいと思います。<今回やること>
1. VPC作成
2. RDSをセットアップ
3. VPC上のOracle Linux 6にOracle Client (12c)をインストール
4. Oracle Linux 上のOracle ClientからRDSへ接続する
1.と2.、3の一部 (Oracle Linux 6のインスタンス作成)までをCloudFormationで用意しました。
今回はケチって、RDSはLicense included(SE1)のt1.micro,
作業用のOracle Linux(オラクル社提供のAMIOL6.4-x86_64-7-21-2013-ebs (ami-d330a7d2)) をt1.microで作成しています。
RDSのユーザ/パスワードは oracle/oracle123 です
以下手抜き手順です。
(画面はRAC on EC2 CloudFormation版からかなり流用しているので、名前がおかしかったりしますがご容赦ください)
<必要なもの>
・OTNのアカウント
・SSHクライアント(Linux/Macは標準のものでOK、WindowsはTeraTerm推奨)
・RDPクライアント
・Amazon EC2へのサインアップ *1
・EC2 Key Pairの作成
*1 Amazon EC2へのサインアップは以下のURLを参考にしてください。
http://aws.amazon.com/jp/register-flow/
*2 Key Pairの作成は以下のURLを参考にしてください(Key Pair P23〜P29)
http://www.slideshare.net/AmazonWebServicesJapan/aws-basic-20120629
●CloudFormationにてVPC/EC2インスタンス/RDSの作成
1.AWS Management Console(https://console.aws.amazon.com/console/home)からCloudFormationへ移動します。
3.Stack Nameは任意の値
Provide a Template URLに「https://s3.amazonaws.com/s4ragent/rds.json」 を指定します。
4.KeyNameは上記で作成したKey Pairの値を入力し、「I acknowledge that this template may create IAM resources」にチェックを入れ、continueをクリックします。
6.サマリが表示されますので問題なければ、continueをクリックします。
7.CloudFormationによる、VPC/インスタンス/RDSの作成が開始されます。
9.10分ほどでVPC/EC2インスタンス/RDSの作成が完了します。
*インスタンスへの接続方法
1.画面上部のServices⇒EC2をクリックします。
2. Running Instances をクリックします。
3.接続したいインスタンスを右クリックし、connectをクリックします。
4.Connect with a standalone SSH Clientをクリックすると接続情報が表示されます。
5. Teratermを起動し、4で表示されたIPを入力してOKをクリックします。
6.初めて該当のインスタンスに接続する場合は、このような表示がでますが気にせず、続行をクリックします。
6.ユーザ名にrootと入力し、RSA/DSA鍵を使うにチェックを入れ、秘密鍵をクリックします。
7.ファイルの種類は「すべてのファイル」を選択し、*2 Key Pairの作成 で作成した秘密鍵を選択します。
9.インスタンスに接続できました。
●VPC上のOracle Linux 6にOracle Client (12c)をインストール
1-a. swapの追加
dd if=/dev/zero of=/swapfile bs=1MB count=1K mkswap /swapfile echo "/swapfile swap swap defaults 0 0" >> /etc/fstab swapon /swapfile
1-b. 必要モジュールをインストール
yum -y groupinstall "Desktop" "X Window System" "Japanese Support" yum -y install oracle-rdbms-server-12cR1-preinstall firefox.x86_64 tigervnc-server unzip easy_install-2.6 awscli
1-c. iptableの停止
/etc/init.d/iptables stop
chkconfig iptables off
1-d. hostsの修正
このままでは、自ホスト名(ip-xxxx-xxxxx)の名前解決ができずに、インストールに失敗してしまいます。
/etc/hostsに自ホスト名とIPを追加します。
echo `ifconfig eth0 |grep 'inet addr' | awk -F '[: ]' '{print $13}' ` `hostname -s` >>/etc/hosts
1-e oracleユーザのパスワード変更
VNC経由で操作時にスクリーンセーバが起動してしまうと、パスワードの入力が必要になります。ここでパスワードの変更をしておきます。
passwd oracle
1-f. Oracleユーザへsu -
su - oracle
1-g. EC2インスタンス側でvncserverを起動
vncserver
:1だったらポートは5901になります。
1-h. 自分のPCからvncviewerで接続
1-i. FireFoxを起動し、OTNからlinuxamd64_12c_client.zip をダウンロード
画面上部にFireFoxのマークがあるのでクリックします。
1-j. ダウンロードしたlinuxamd64_12c_client.zip を解凍
ターミナルは、画面上部 Applications→SystemTools→terminalで起動できます。
cd Downloads
unzip linuxamd64_12c_client.zip
1-k. Oracle Clientのインストーラーを起動し、インストール
cd client ./runInstaller
ここでは、インストールタイプにAdministratorを選択し、LanguageにJapaneseを追加する以外すべてデフォルトでインストールすることにします。
(ORACLE_HOMEは/home/oracle/app/oracle/product/12.1.0/client_1)
1-l RDSのEnd Pointを確認
managmentConsoleからサービス→RDS→Instances→Endpointを確認する。
「:」より前の部分がホスト名、「:」より後ろの部分(通常は1521)の部分がポート番号です。
1-m. tnsname.oraの編集
netcaを起動し、 tnsname.oraを編集します。
/home/oracle/app/oracle/product/12.1.0/client_1/bin/netca
Local Net Services Name Configuration→Add→TNS名を入力(ここではORCL)→TCP→Host NameにRDSのEnd Pointを入力、あとはそのままNextをクリック
1-n bash_profileの編集
ORACLE_HOMEとLD_LIBRARY_PATHの設定をします。
cat >> /home/oracle/.bash_profile <<'EOF' export ORACLE_HOME=/home/oracle/app/oracle/product/12.1.0/client_1 export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:${PATH} export LD_LIBRARY_PATH=$ORACLE_HOME/lib EOF
1-o
sqlplusから接続確認
環境変数が反映されていないので、環境変数を設定後、接続
source /home/oracle/.bash_profile
sqlplus oracle/oracle123@ORCL
接続できたら、今日はこの辺で。