We by default don’t store certain things in your SQLcl HISTORY list – like CONNECTs. For obvious reasons, it’s best not to store certain things, either for convenience or for security.

Here’s how that is controlled.

SET HISTORY BLACKLIST command1, command2, …, commandN

An example:

A few settings here of interest other than the blacklist...
A few settings here of interest other than the blacklist…

So I previously added ALTER to the list, and just now added DESC. And then I ran a few commands that use those blacklisted commands.

Now let’s check our HISTORY.

Only the select on dual is listed.
Only the select on dual is listed.

Note: we changed how the blacklisting is managed from when the Early Adopter was running.

Where is this file stored?

Same place we store your ALIAS list of commands…it’s per OS user, not per install of SQLcl.

On *NIX/OSX they're in your $HOME/.sqlcl folder.
On *NIX/OSX they’re in your $HOME/.sqlcl folder.


I'm a Master Product Manager at Oracle for Oracle SQL Developer. My mission is to help you and your company be more efficient with our database tools.


    • thatjeffsmith

      No, I’m a firm believer in letting the database handle security, and if the natives misbehave, then they’re asked to not come visit the database anymore.

  1. Jim Campbell Reply

    Practical, thoughtful feature. Well Done. Could it be implemented universally throughout the shop, maybe store the aliases.xml file on a shared protected network drive? Thanks you are a great resource.

    • thatjeffsmith

      Could be…but why not just have a versioned file that folks can periodically pull down as updates are made available?

Reply To Jim Campbell Cancel Reply