Log: Oracle XE sqlstart Connection Setup (Debian VM, Sep 22, 2025)
Context:
Dennis spent several hours troubleshooting Oracle XE connection problems inside Docker with SQLPlus. The main challenge was the password containing “@”, which confused SQLPlus parsing. This caused repeated errors like ORA-12514 (listener does not currently know of service requested) and SP2-0306 (Invalid option).
Steps & Fixes:
- Verified running PDB services
Command used:
docker exec -it oraclexe bash -lc “lsnrctl services | sed -n ‘s/ Service “.∗.*.∗”./\1/p’ | sort -u”
Output confirmed: XE, freepdb1, xepdb1, etc. - SYSDBA sanity test
docker exec -it oraclexe sqlplus ‘sys/StrongPass123@//127.0.0.1:1521/xepdb1 as sysdba’ - Reset lvydvy user password (removed @ to avoid parsing issue)
ALTER USER lvydvy IDENTIFIED BY “HaleKalele1510”;
EXIT; - Created sqlstart helper script at ~/bin/sqlstart
Content of the script:
#!/usr/bin/env bash
exec docker exec -it oraclexe sqlplus lvydvy/HaleKalele1510@//127.0.0.1:1521/xepdb1 - Made script executable and refreshed shell
chmod +x ~/bin/sqlstart
hash -r - Verified usage
sqlstart
Result: connected directly to Oracle Database 21c XE, PDB = XEPDB1, user = LVYDVY. - Quick verification inside SQL*Plus
show con_name;
select user from dual;
Expected result: con_name = XEPDB1, user = LVYDVY.
Final Status:
- sqlstart alias now works reliably.
- User lvydvy connects directly into XEPDB1 without prompts.
- Problem was due to “@” in password, which SQL*Plus misread. Using HaleKalele1510 fixed it.