Man Okcli: an Oracle® Database Command Line Interface

Open sourcing a new database tool.

Introduction

Being able to effectively explore your data-schemas as they grow in both size and complexity is hugely useful, particularly for new team members.

Oracle® database is among the different database technologies used as a storage backend by many services and applications at Man Alpha Tech.

Not having used Oracle database before, I was struck by an opportunity to improve the quality of the tooling available relative to that of other RDBMSs. After looking into alternatives, we decided the payoff from building a CLI tool for it would be worth the effort and so we rolled a terminal-client for interacting with Oracle database based off of MyCli, a similar tool for interacting with MySQL DB.

Release

Man Okcli is a drop in replacement for sqlplus that is easy to use, highly customisable and has support for:

  • schema-aware autocomplete on SQL statements
  • syntax highlighting
  • table descriptions that include the primary-key columns and foreign key constraints
  • vim/emacs key-bindings
  • command history
  • many output formats (csv, json, jira, wiki, etc.)
  • saving/loading your own named queries
  • listing the schemas and the tables in each schema
  • shell commands

Demo

This is what the app looks with some dummy data:

Conclusion

As of today, Man Okcli is now publicly available under a BSD3 license on Github and PyPI.