Oracle AI Database Free – Quick Start


Experience the next generation of database innovation with Oracle AI Database 26ai. 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 AI Database 26ai 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 AI Database 26ai Free Platforms

DownloadDetails

oracle-ai-database-free-26ai-23.26.2-1.el8.x86_64.rpm

1,523,924,540 bytes

SHA256 3ceb4ca6fdabf6de2003bbef6f65ee2ccb34065c42cebde03e88bb4dd1b0799f

Oracle Linux 8 (OL8) and Red Hat Enterprise Linux (RHEL8) use the same main RPM.

RHEL8 requires an additional preinstall download and installation:

dnf install -y oracle-database-preinstall*

oracle-ai-database-free-26ai-23.26.2-1.el9.x86_64.rpm

1,523,924,540 bytes

SHA256 f3793ecbf9f182fd92f53d1134f2c113c082954c4efd5e573e2d9cba5182bc7e

Oracle Linux 9 (OL9) and Red Hat Enterprise Linux (RHEL9) use the same main RPM.

RHEL9 requires an additional preinstall download and installation:

dnf install -y oracle-database-preinstall*

oracle-ai-database-free-26ai-23.26.2-1.el9.aarch64.rpm

1,338,545,520 bytes

SHA256 8437a9490c2d976165312c43cd70ae7a894b57b22e04d7b1ad3d757d6f72729a

OL9 for Arm requires an additional preinstall download and installation:

dnf install -y oracle-database-preinstall*

oracle-ai-database-free-26ai-23.26.2-1.el8.aarch64.rpm

1,338,545,520 bytes

SHA256 0b62047e76b97abdb7abe653ecbe02d8a660004da4b64e4b94cf43d2679dd696

OL8 for Arm requires an additional preinstall download and installation:

dnf install -y oracle-database-preinstall*

Pull container images from Oracle’s Container Registry:

docker pull container-registry.oracle.com/database/free:latest

Oracle_AI_Database_26ai_Free.ova

6,846,450,176 bytes

SHA256 7d909f44c41a88cf04bd2978c99c05f8c6dc68b10444843e07082077a59bce12

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

oracle-ai-database-free-26ai-23.26.2.windows.x64.zip

1,385,487,312 bytes

SHA256 bdc860145a443230bd4f94553ce2e8da1e93239d7a06f62cd58796cf6bb2194f

Connecting to Oracle AI Database Free

SQLcl

Connect string format: [username]@[hostname]:[port]/[DB service name] [AS SYSDBA]



To connect to the first Pluggable Database (PDB) use:

sql sys@localhost:1521/FREEPDB1 as sysdba

To connect to the Container Database (CDB) use:

sql sys@localhost:1521/FREE as sysdba


SQL*Plus

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 oracledbconn = 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 mainimport (
"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)
}
}