The Oracle NoSQL Database Blog covers all things Oracle NoSQL Database. On-Prem, Cloud and more.

How to be productive with Oracle NoSQL Database in less than 5 mins!

Anand Chandak
Principal Product Manager

We often get requests from our users and customers on how they can get started with using Oracle NoSQL Database on-premises. I am starting this series of blogs where we look into the various options for deployment that are available with the Oracle NoSQL Database. In this first edition, we’ll look at the simplest and the easiest option to start with NoSQL Database called KVlite.


Are you looking to be productive with Oracle NoSQL Database in less than 5 mins? Are you looking to try the NoSQL Database APIs and quickly test your application business logic without setting up a flow-blown database server?  Are you looking to evaluate Oracle NoSQL DB with a small dataset without allocating resources that a production server requires? If the answer to any of the above questions is yes, then you need KVlite.

KVLite is a simplified, lightweight version of the Oracle NoSQL Database. It provides a single-node store that is not replicated. It runs in a single process without requiring any administrative interface. Users can configure, start, and stop KVLite using a command-line interface.



KVLite is intended for use by application developers who need to unit test their Oracle NoSQL Database application. It is not intended for production deployment or performance measurements. KVLite is installed when you install Oracle NoSQL Database. It is available in the kvstore.jar file in the lib directory of your Oracle NoSQL Database distribution. KVLite can be run within a docker container or on a VM or on bare metal machines. At the time of writing the blog, the current version of NoSQL DB is 19.3 and following are the prerequisite for running KVLite  :

  • Java 8 or greater
  • Minimum of 5GB disk space. KVLite 

Starting KVLite

You start KVLite by using the kvlite utility, which can be found in KVHOME/lib/kvstore.jar. If you use this utility without any command line options, then KVLite will run with the following default values:

  • The store name is kvstore.
  • The hostname is the local machine.
  • The registry port is 5000.
  • The directory where Oracle NoSQL Database data is placed (known as KVROOT) is./kvroot.
  • The administration process is turned on using port 5001.

Let’s dive in. Open any terminal and type the following command:

$ java -Xmx64m -Xms64m -jar lib/kvstore.jar kvlite

Expected Output:

Generated password for user admin: password

User login file: ./kvroot/security/user.security

Created new kvlite store with args:

-root ./kvroot -store kvstore -host localhost -port 5000 -secure-config enable

In a second shell, ping the KVLite instance to verify that KVLite got started

$ java -Xmx64m -Xms64m -jar lib/kvstore.jar ping -host localhost -port 5000 -security kvroot/security/user.security

Expected output:

Pinging components of store kvstore based upon topology sequence #14

10 partitions and 1 storage nodes

Time: 2017-05-02 09:34:43 UTC   Version:

Shard Status: healthy:1 writable-degraded:0 read-only:0 offline:0

Admin Status: healthy

Zone [name=KVLite id=zn1 type=PRIMARY allowArbiters=false]   RN Status: online:1 offline:0

Storage Node [sn1] on localhost:5000    Zone: [name=KVLite id=zn1 type=PRIMARY allowArbiters=false]    

       Status: RUNNING   Ver: 12cR2.4.4.6 2017-04-13 06:54:25 UTC  Build id: d6a9b947763f

       Admin [admin1]            Status: RUNNING,MASTER

       Rep Node [rg1-rn1] Status: RUNNING,MASTER sequenceNumber:204 haPort:5006

The status indicates that the KVLite is up and running. Here we started KVLite in secured mode, if we want to start in unsecure mode execute the kvstore.jar file using the -enable-secure disable flag to disable security and start KVLite in unsecure mode.

That’s it you are done! 


Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.