Oracle Database Free Release Quick Start

Experience the next generation of database innovation with Oracle Database 23ai. Designed to simplify development for AI, microservices, graph, document, spatial, and relational applications, this converged database platform offers everything you need in one powerful solution. Even better, you can jump right in at no cost—Oracle Database 23ai Free is available for anyone who wants to get started building modern, data-driven applications. Whether you choose our commercial product in the cloud or on-premises (see availability list) or opt for the free edition, you’ll have all the tools you need to create the future of data management.

Oracle Database 23ai Free Platforms


Microsoft Windows x64
Filename WINDOWS.X64_237000_free.zip
Download Link to download
SHA256 4c9d918e4e1b9243a2bca0d1af25f0df429ff807c627df698082a29ea9cab90e
File size (in bytes) 1,369,044,222
Notes

Oracle Database Free Installation Guide
Oracle Database Client Installation Guide

Oracle Linux 8 (OL8)
Filename oracle-database-free-23ai-1.0-1.el8.x86_64.rpm
Download Link to download
SHA256 af64450e1120e56dac43a447a2e109449c7590489003d830d6a32a9168e0469d
File size (in bytes) 1,392,658,556
Notes

Oracle Linux 8 (OL8) and Oracle Enterprise Linux (EL8) use the same RPMs. EL8 requires an additional preinstall download and installation (see below).

Oracle Database Free Installation Guide
Oracle Database Client Installation Guide

Oracle Linux 9 (OL9)
Filename oracle-database-free-23ai-1.0-1.el9.x86_64.rpm
Download Link to download
SHA256 82ef77041a2dba635f11ed08d472f9d8ca8ad41d6e6fcd179445b152e857639c
File size (in bytes) 1,392,658,556
Notes

Oracle Linux 9 (OL9) and Oracle Enterprise Linux (EL9) use the same RPMs. EL9 requires an additional preinstall download and installation (see below).

Oracle Database Free Installation Guide
Oracle Database Client Installation Guide

Oracle Enterprise Linux 8 (EL8)
Filename oracle-database-preinstall-23ai-1.0-2.el8.x86_64.rpm
Download Link to download
SHA256 4578e6d1cf566e04541e0216b07a0372725726a7c339423ee560255cb918138b
File size (in bytes) 31,152
Notes

Download and install this preinstall RPM first. Then follow with the main RPM below.
Run dnf install -y oracle-database-preinstall*

Filename oracle-database-free-23ai-1.0-1.el8.x86_64.rpm
Download Link to download
SHA256 af64450e1120e56dac43a447a2e109449c7590489003d830d6a32a9168e0469d
File size (in bytes) 1,392,658,556
Notes

Oracle Linux 8 (OL8) and Oracle Enterprise Linux (EL8) use the same RPMs. EL8 requires an additional preinstall download and installation (see below).

Oracle Database Free Installation Guide
Oracle Database Client Installation Guide

Oracle Enterprise Linux 9 (EL9)
Filename oracle-database-preinstall-23ai-1.0-2.el9.x86_64.rpm
Download Link to download
SHA256 aa7bc3a62f4118cc8e02ece2f67ddd276b2256833e4d66f939725b2ef22bebf9
File size (in bytes) 35,689
Notes

Download and install this preinstall EPM first. Then follow with the main RPM below.
Run dnf install -y oracle-database-preinstall*

Filename oracle-database-free-23ai-1.0-1.el9.x86_64.rpm
Download Link to download
SHA256 82ef77041a2dba635f11ed08d472f9d8ca8ad41d6e6fcd179445b152e857639c
File size (in bytes) 1,392,658,556
Notes

Oracle Linux 9 (OL9) and Oracle Enterprise Linux (EL9) use the same RPMs. EL9 requires an additional preinstall download and installation (see below).

Oracle Database Free Installation Guide
Oracle Database Client Installation Guide

Oracle Linux 8 for Arm (aarch64)
Filename oracle-database-preinstall-23ai-1.0-3.el8.aarch64.rpm
Download Link to download
SHA256 68936d4fc7e55ce5192f9e4819f9ab8a80b079bb9e20d39bc2a991bd3d4a6095
File size (in bytes) 31,192
Notes

Download and install this preinstall RPM first. Then follow with the main RPM below.
Run dnf install -y oracle-database-preinstall*

Filename oracle-database-free-23ai-1.0-1.el8.aarch64.rpm
Download Link to download
SHA256 64b84cdbd3331a4fee7a7bf56cdfd497a2531b05862bddae0f38e28c745dc8d6
File size (in bytes) 1,238,841,284
Notes

Oracle Database Free Installation Guide

Oracle Client for Linux 8 for Arm (aarch64)
Filename LINUX.ARM64_235000_client_home.zip
Download
SHA256 fabbbf1516ec012571ca2bc6642c9df966454ae0e7287a26a75ff12a35d8d168
File size (in bytes) 712,780,356
Notes

Oracle Database Free Installation Guide

Docker/Podman
Download Link to container registry
Notes Pull container images straight from Oracle’s Container Registry via docker pull container-registry.oracle.com/database/free:latest
Oracle VirtualBox
Filename Oracle_Database_23ai_Free_Developer.ova
Download Link to download
SHA256 b998e36dbcbddafa77f92ea220758cefdb17e41bccce307792cd17ec90eb1aaf
Size (in bytes) 6,284,277,760
Notes

Import the .ova file into your local Oracle VirtualBox setup.

See Oracle Database 23ai Free VirtualBox Appliance for what’s in the Oracle VirtualBox image and the resource requirements.

Connecting to Oracle Database Free

SQL

  • Connect string format: [username]@[hostname]:[port]/[DB service name] [AS SYSDBA]
  • To connect to the first Pluggable Database (PDB) use:
    sqlplus sys@localhost:1521/FREEPDB1 as sysdba
  • To connect to the Container Database (CDB) use:
    sqlplus sys@localhost:1521/FREE as sysdba

Java

OracleDataSource ods = new OracleDataSource();
ods.setURL("jdbc:oracle:thin:@localhost:1521/FREEPDB1"); // jdbc:oracle:thin@[hostname]:[port]/[DB service name]
ods.setUser("[Username]");
ods.setPassword("[Password]");
Connection conn = ods.getConnection();
 
PreparedStatement stmt = conn.prepareStatement("SELECT 'Hello World!' FROM dual");
ResultSet rslt = stmt.executeQuery();
while (rslt.next()) {
  System.out.println(rslt.getString(1));
}

Python

import oracledb

conn = oracledb.connect(user="[Username]", password="[Password]", dsn="localhost:1521/FREEPDB1")
with conn.cursor() as cur:
   cur.execute("SELECT 'Hello World!' FROM dual")
   res = cur.fetchall()
   print(res)

Node.js

const oracledb = require('oracledb');
     
async function run() {
    let connection = await oracledb.getConnection({
    user : "[Username]",
    password : "[Password]",
    connectString : "localhost:1521/FREEPDB1" // [hostname]:[port]/[DB service name]
    });
    let result = await connection.execute( "SELECT 'Hello World!' FROM dual");
    console.log(result.rows[0]);
}
     
run();

C#/.NET

// Connection string format: User Id=[username];Password=[password];Data Source=[hostname]:[port]/[DB service name];
    OracleConnection con = new OracleConnection("User Id=[Username];Password=[Password];Data Source=localhost:1521/FREEPDB1;");
    con.Open();
    OracleCommand cmd = con.CreateCommand();
    cmd.CommandText = "SELECT \'Hello World!\' FROM dual";
     
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    Console.WriteLine(reader.GetString(0));

PHP

// [username], [password], [hostname]:[port]/[DB service name]
$c = oci_pconnect("[Username]", "[Password]", "localhost:1521/FREEPDB1");
$s = oci_parse($c, "SELECT 'Hello World!' FROM dual");
oci_execute($s);
oci_fetch_all($s, $res);
echo "<pre>\n"
var_dump($res);
echo "</pre>\n";

Ruby

require 'oci8'
     
con = OCI8.new("[Username]", "[Password]", "localhost:1521/FREEPDB1")
statement = "SELECT 'Hello World!' FROM dual"
cursor = con.parse(statement)
cursor.exec
cursor.fetch do |row|
print row
end

Go

package main
     
import (
      "fmt"
      "log"
      "database/sql"
      _ "github.com/godror/godror"
)
     
func main() {  
     
      // connectString format: [hostname]:[port]/[DB service name]
     
      dsn := `user="[Username]"
              password="[Password]"
              connectString="localhost:1521/FREEPDB1"`  
     
      db, err := sql.Open("godror", dsn)
      if err != nil {
        panic(err)
      }
      defer db.Close()
     
      rows, err := db.Query("SELECT 'Hello World!' FROM dual")
      if err != nil {
        panic(err)
      }
      defer rows.Close()
     
      var strVal string
      for rows.Next() {
        err := rows.Scan(&strVal)
        if err != nil {
          log.Fatal(err)
        }
        fmt.Println(strVal)
      }
      err = rows.Err()
      if err != nil {
        log.Fatal(err)
      }
     
}

You must accept the License Agreement to download this software.

You will be redirected to the login screen in order to download the file.