Oracle XEを使った簡易Webアプリ開発。Oracle一般ユーザの設定とDADの立ち上げを行います。
Oracle一般ユーザの設定
前回作成したOracle環境にsqlplusで接続。新規ユーザ「mejiro」を作成し、パスワードを「mejiropass」とします。
続けて、今後の各種作業に必要な権限の付与までを行います。
sqlplus system/OraPassword@XE
ログイン完了後にユーザ「mejiro」を作成。
create user mejiro identified by mejiropass;
ユーザ「mejiro」に各種権限を付与。
GRANT CONNECT TO mejiro;
GRANT UNLIMITED TABLESPACE TO mejiro;
GRANT CREATE TABLE TO mejiro;
GRANT CREATE PROCEDURE TO mejiro;
GRANT CREATE VIEW TO mejiro;
これでユーザー「mejiro」が作成されました。
connect mejiro/mejiropass@XEや、
sqlplus mejiro/mejiropass@XEといったコマンドで接続可能になります。
しかし、まだSYSTEMユーザのまま次の作業をおこないます。
DADの設定
SYSTEMユーザのまま、DADの設定もしてしまいましょう。
EXEC DBMS_EPG.CREATE_DAD('DAD','/DAD_WEB_SERVICE/*');
PL/SQL procedure successfully completed.
これだけでOK。
続けて1521ポートと8081ポートの接続を許容するようにします。
今回はCentOS7を使っているので以下のようになります。
firewall-cmd --zone=public --add-port=8081/tcp
firewall-cmd --zone=public --add-port=1521/tcp
8081ポートはWebアクセス用のポート、1521はsqlplusなどで外部からDBインスタンスに接続するためのポートです。
上記は一時設定版です。永続的に設定を反映させる場合は、末尾に「--permanent」を付ければOKです。
CentOS6の場合はこのような方法で。
編集画面を起動。
vi /etc/sysconfig/iptables
編集画面で、以下の2行を追加。
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
保存完了後、iptablesを再実行。
/etc/init.d/iptables restart
接続の確認
1521ポートの確認
※Oracle Clientがインストールされている前提で。
Tnsnames.oraに以下の記述を追記します。
Tnsnames.oraを上書き保存したら、コマンドプロンプトで以下のように入力。
これでOracleDBに接続できるはずです。
sqlplus mejiro/mejiropass@XE_SAKURA
8081ポートの確認
インターネットブラウザを立ち上げて、以下のURLを入力してみてください。
http://VPSのIPアドレス:8081/DAD_WEB_SERVICE
こんな感じの画面が表示されればひとまずはOKです。
ここではOracleXEのユーザ名とパスワードを入力します。
SYSTEMユーザのものでもいいですし、さっき作ったmejiroでも可。
ただ、何もページを作っていないので、エラーメッセージが表示されるだけですが。
おそらく10回間違えるとロックがかかってしまうので、不安な場合は「キャンセル」を押してください。
おつかれさまでした。今回はここまでです。次回は、DADでカンタンなページをつくってみます。