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.3-1.el8.x86_64.rpm

1,538,737,668 bytes

SHA256 879eb7ffc9c8c797dafc42974afaff7714c4069b27cc4adc0827291244f05d97

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-ai-database-preinstall*

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

1,538,737,668 bytes

SHA256 895fc9df794685b515c4ac83f104dbdfb657eb0e92c41e45c58302fb8fd53e44

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-ai-database-preinstall*

oracle-ai-database-free-26ai-23.26.3-1.el10.x86_64.rpm

1,538,737,668 bytes

SHA256 879eb7ffc9c8c797dafc42974afaff7714c4069b27cc4adc0827291244f05d97

Oracle Linux 10 (OL10) and Red Hat Enterprise Linux (RHEL10) use the same main RPM.

RHEL10 requires an additional preinstall download and installation:

dnf install -y oracle-ai-database-preinstall*

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

1,355,290,892 bytes

SHA256 b2a087b8e6d67d99f0cd9b950429b4afd58b71991fd05b5d6254ac84cade94e1

OL9 for Arm requires an additional preinstall download and installation:

dnf install -y oracle-ai-database-preinstall*

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

1,355,290,892 bytes

SHA256 e1951c4a56eb8ef8cf5d325c90525be8ddb286486f6a318e8b4c4942e10eadbb

OL8 for Arm requires an additional preinstall download and installation:

dnf install -y oracle-ai-database-preinstall*

Pull container images from Oracle’s Container Registry:

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

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

1,403,455,579 bytes

SHA256 178d6cfd5a8109ea9d26894a597116db4d95320cd8861d16ca10d4d8c384dab3

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 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)
      }
     
}