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.
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 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 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 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. |
||||
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 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. |
||||
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 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. |
||||
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 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 |
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. |
sqlplus sys@localhost:1521/FREEPDB1 as sysdba
sqlplus sys@localhost:1521/FREE as sysdba
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));
}
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)
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();
// 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));
// [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";
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
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)
}
}