Oracle Database 23ai: Download, Install, Tutorial… My Getting Started Guide
TL;DR — In this post, I share the tricks I’ve learned for getting started fast with the Oracle Database 23ai.
Download, Install: Free and Fast
Here are the 2 paths I use when speed is needed:
- Free Oracle Database 23ai Free container image (more in this post)
- Free Oracle Autonomous Database 19c/21c/23ai (requires an Oracle Cloud Infrastructure Always Free account and an Internet connection)
Free Oracle Database 23ai Free container image
Given you have a running Podman or Docker setup for x86_64 or ARM architecture, you can start an Oracle database 23ai in less than 2 minutes (depending upon your Internet bandwidth) using this command:
podman run --rm --name oracle -p 1521:1521 -e ORACLE_PASSWORD=free gvenzl/oracle-free:23-slim
Gerald Venzl maintains images with different characteristics (full, regular, slim; normal or faststart; for 21c and 23ai versions).
When the container is up and running, you get a Pluggable Database (aka PDB) named freepdb1 which is ready to accept your commands.
Oracle SQL Developer Extension for VSCode or SQLcl
The very next step is to get this SQL developer extension:
This is the next generation of SQL Developer. Over time all features will be there with additional ones.
If you are more in the CLI team, you can get the latest version of SQLcl in one click. This requires a JDK 11 or 17. In case you didn’t know, SQLcl is the next generation of sqlplus, developed by the same team as SQL Developer; bringing console history, and powerful commands (Liquibase integration for changes management, DDL generation, formats conversion, color display, auto-completion, repeat command, status bar, vi mode, etc.). There is also a possibility to integrate JavaScript based plugins.
Jeff Smith has a lot to share about SQLcl and the SQL Developer extension.
Create a User and connect to your Database
With the SQL Developer extension or SQLcl, you can now access your running Pluggable Database to create the user account you’ll use to develop your application.
This step requires some kind of root access (as for Linux). The root user of an Oracle database is named SYS and can use the highest privileges SYSDBA. Hence let’s register a new Connection in SQL Developer extension (remember password is free
):
Now you can connect to the database and open an SQL Worksheet:
Copy and paste the SQL commands below:
-- creates the user developer with password "free",
-- unlimited quota on tablespaces and quick privileges setup
grant db_developer_role, unlimited tablespace to developer identified by "free";
-- To drop: drop user developer cascade;
Running the command with F5 will create a user named developer
with free
as its password. It grants an unlimited quota on the USERS
tablespace (so you can insert data) and the new 23ai DB_DEVELOPER_ROLE
role is granted; it provides just enough privileges to let you develop and use numerous capabilities.
DONE
You now just need to register a new connection for this newly created developer
user and you’re done, you can now connect to your Pluggable Database and create tables, views, sequences, JSON collections, etc.
Following are some links to continue your journey: