Amazon EC2 に Oracle Database Express Edition 11g Release 2 をインストールしたときのメモです。
EC2 t1.micro を利用する場合は swap 領域がありませんので手動で作成します。他のインスタンスタイプでも swap 領域が2GB以上ないとインストールできませんので、必要に応じて拡張してください。
% su -
% dd if=/dev/zero of=/swap bs=1M count=2048
% mkswap /swap
% swapon /swap
サーバ起動時に swap 領域をマウントするようにしておきます。
% vi /etc/fstab
....
/swap swap swap defaults 0 0
VPC 内に構築する場合は、HOSTNAME での名前解決ができるようにしておきます。デフォルトの ip-xxx-xxx-xxx-xx
のままでは名前解決できません。
% vi /etc/hosts
127.0.0.1 localhost localhost.localdomain
127.0.0.1 ip-10-0-1-23
Oracle のサイトから取得した、rpm パッケージからインストール&初期設定を行います。
% rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
% /etc/init.d/oracle-xe configure
...
oracle
ユーザで、sqlplus
を利用してみます。はじめに環境設定スクリプトを読み込んでおきます。もしくは ~/.bash_profile
に記述しておくと良いでしょう。
% su - oracle
% source /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
データベースユーザを作成します。以下の例では
ユーザ名 | foo |
---|---|
パスワード | bar |
ロール名 | buz |
で作成しています。
% sqlplus / as sysdba
....
SQL> CREATE USER foo IDENTIFIED BY bar
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON users;
SQL> CREATE ROLE buz;
SQL> GRANT CREATE session, CREATE table, CREATE view, CREATE procedure, CREATE synonym TO buz;
SQL> GRANT buz TO foo;
SQL> exit;
% sqlplus foo
Enter password: bar
SQL> CREATE TABLE products ....
必須ではありませんが、EC2では Stop/Start でIPアドレスが変わってしまうため、リスナーの設定 listener.ora
を毎回書き換えなければいけません。開発用途での利用であれば、HOST = 0.0.0.0
にしておくと便利です。
% /etc/init.d/oracle-xe stop
% vi /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
....
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
)
)
....
% /etc/init.d/oracle-xe start