Customising Oracle SQLcl. How to set the most used params and change the look & feel?

Oracle APEX & PL/SQL Developer with 10 years of experience in IT, including financial systems for government administration, energy, banking and logistics industry. Enthusiast of database automation. Oracle ACE Associate. Certified Liquibase database versioning tool fan. Speaker at Kscope, APEX World, SOUG, HrOUG, POUG and DOAG. Likes swimming in icy cold lakes in winter and playing basketball.
You're already using SQLcl, but your terminal looks plain. I'll show you how to make it more appealing—nothing complicated, just simple enhancements.
While SQLcl has many parameters, which are the most useful for an APEX and PL/SQL developer? I will share my opinion.
Check SQLcl parameters
SQLcl supports many parameters. You can check your current settings with this simple command:
show param
Or you can check a particular setting:
show [setting_name]
Most useful SQLcl settings
Ok, and here are some settings I believe are most useful.
Display username & connection name
I connected to my "demo"
But, after a while, I have no idea what my username and connection are - what if I think it's a DEV, but it's a Production? (I have a good but short memory)
How about now:
set sqlprompt "@|blue _USER|@@@|green _CONNECT_IDENTIFIER|@ > "
My username is DEMO_RAFAL, and my connection name is DEMO.
Much better, isn't it?
Display status bar
How about having a nice status bar at the bottom with some useful data?
Easy to set:
set statusbar on
set statusbar default username git project cwd txn timing
And it shows:
Username
GIT branch
Project name (if exists)
Current Working Directory
Transaction status
Query Timing
Show line numbers on or off
If you don't like line numbers, you can easily turn them on / off with
set linenumbers on
set linenumbers off
Display or not the results of SQL when running a script [Termout]
TERMOUT setting controls whether to display the result of SQL when running a script
set termout on
Turn it off for a simple look :)
set termout off
Print or not output generated by DBMS_OUTPUT [serveroutput]
I think it is self-explanatory
set serveroutput on
set serveroutput off
Display or not the number of records returned/affected by a statement [feedback]
Whether you want to see those results or not, you should set feedback settings.
set feedback off / on
Enable or disable prompting [define]
If your scripts require some prompts, then you might want to turn this setting on.
Otherwise, disable it.
set define '&'
set define off
Do I need to set those parameters every single time?
Of course...you don't :)
You can put all your favourite settings in the login.sql script that will be executed automatically each time you connect using SQLcl.
How to do it? It's a topic for a separate post, which will be published by the end of August 2026
Other resources
If you are looking for other ideas for customising SQLcl, you should check out this blog post, written a while ago by Jeff Smith.
My main blog post hub for all my articles related to SQLcl -> here



