Log: Oracle XE sqlstart Connection Setup (Debian VM, Sep 22, 2025)

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:

  1. 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.
  2. SYSDBA sanity test
    docker exec -it oraclexe sqlplus ‘sys/StrongPass123@//127.0.0.1:1521/xepdb1 as sysdba’
  3. Reset lvydvy user password (removed @ to avoid parsing issue)
    ALTER USER lvydvy IDENTIFIED BY “HaleKalele1510”;
    EXIT;
  4. 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
  5. Made script executable and refreshed shell
    chmod +x ~/bin/sqlstart
    hash -r
  6. Verified usage
    sqlstart
    Result: connected directly to Oracle Database 21c XE, PDB = XEPDB1, user = LVYDVY.
  7. 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.