oracleXE自作ユーザー(XEDBA1)がJAVAから接続できない
Q&A
解決したいこと
ORACLEXEが基本デフォルトでXEDBA1に接続されない不親切なやつだったので自作ロールを作成しましたが、
ソースから使用できず、、、、
ORACLEXEで自作ユーザー、スキーマに接続し、JAVAから接続したい
何を確認し、どうすれば接続可能になるのかを教えてください。
発生している問題・エラー
JAVAソースのsysDBAユーザーから自作のユーザーに修正し、接続したが、
リスナーエラーoraclexe ORA-12505
が発生しJAVAからのみ接続できない
該当するソースコード
接続をしているJAVAソースはdefaultユーザでですが、こちらで質問して成功まで確認しています。
https://qiita.com/oraclesyoshinsya/questions/7683f26035480bd96e3a
以下接続のために修正しているものです。
String url = "jdbc:oracle:thin:@localhost:1521:XEPDB1";
String user = "orauser"; ※asでSYSDBAも試し、自作ロールも試しましたが、うまくいかず、、、
String pass = "password";
実行したSQL(例)
DBのコンテナを操作可能なものに変更
SQL> alter session set container = XEPDB1;
スペース作成
CREATE TABLESPACE TEST
DATAFILE '/usr/lib/oracle/xe/TEST.dbf' SIZE 100M
SEGMENT SPACE MANAGEMENT AUTO;
テンポラリスペース作成
CREATE TEMPORARY TABLESPACE TESTTEMP
TEMPFILE '/usr/lib/oracle/xe/TESTTEMP.dbf' SIZE 100M
AUTOEXTEND ON;
ユーザー作成
CREATE USER orauser
identified by Passw0rd
default tablespace TEST
temporary tablespace TESTTEMP;
権限付与 ※接続ツール(SQLDevelopper)で接続の確認
grant connect to orauser;
grant resource to orauser;
他フルで権限を与えました。
接続用のロールを作成
CREATE ROLE XEPDB1
#コマンドプロンプトで接続確認
sqlplus orauser/Passw0rd@//localhost:1521/XEPDB1
自分で試したこと
sqlplus orauser/Passw0rd@//localhost:1521/XEPDB1
例の上で接続成功、SQLDeveloperでも接続成功
JAVAから接続したところリスナーエラーとなりました。
SQLDevelopperもデフォルトロール以外で接続できないです。
作成ユーザーにはフルで管理権限を与えてみました。
SQLPLUSにて作成ユーザーでの接続を確認しています。
tnsnames.oraファイルにXEDBA1を追加しコマンドでリスナーを再起動しましたが
問題なく起動したようです。