昔作ったコンテナでAPEX関連の質問が外国の人から来ました。
https://hub.docker.com/r/moremagic/oracle-xe/

このコンテナ、前の現場でDBAさんから頼まれて作ったやつで
僕、実はOracleとか全く分からないマンなんです。

ほっとくわけにはいかないので調査してみようと。
まずAPEX? どうも管理コンソールのことらしい。
どうやってアクセスするんだろう?

ふむふむ。
http"//localhost:8080/apex にアクセスすればいいっぽい。
アクセスしてみるもログインできず。。。

なんだろうなぁ
いろいろ調べてみたら外からアクセスできるようにするには
なんか操作が必要みたい。

http://mononofu.hatenablog.com/entry/20070409/1176082886

よし。sqlplusをぶったたいて。。
あれ、、rootユーザーではそもそもsqlplusにパスが通ってない。。。
findしてみよう

[root@feffd43ee8b8 /]# find / -name sqlplus
/u01/app/oracle/product/11.2.0/xe/bin/sqlplus
/u01/app/oracle/product/11.2.0/xe/sqlplus

直接ぶったたいてみよう

[root@feffd43ee8b8 /]# /u01/app/oracle/product/11.2.0/xe/bin/sqlplus
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

ORACLE_HOME がないんだな

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe/
[root@feffd43ee8b8 /]# /u01/app/oracle/product/11.2.0/xe/bin/sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on Sun Feb 12 10:35:45 2017

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

Enter user-name: system
Enter password: 
ERROR:
ORA-12162: TNS:net service name is incorrectly specified

ぐぬぬ。
いろいろググってみると 以下のページが。
http://tazakazushi.net/sqlplus_ora_12162.html

なんかいろいろ環境変数が足りない。
あれぇ、、前にDBAの人はこれどうやって使ってたんだろう。
自分で提供したのにわかってないという・・orz


Dockerfile をのぞいて。。
ふむふむ。 /etc/bash.bashrc に環境変数が全部書いてあるぞ

source /etc/bash.bashrc

[root@feffd43ee8b8 /]# /u01/app/oracle/product/11.2.0/xe/bin/sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on Sun Feb 12 10:38:31 2017

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

Enter user-name: system
Enter password: 

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> 


よし!
早速、以下のコマンドを!

SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

PL/SQL procedure successfully completed.


無事死亡( ^ω^ )

※続く・・・のか?