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
| Download | Details |
|---|---|
oracle-ai-database-free-26ai-23.26.1-1.el8.x86_64.rpm 1,489,765,640 bytes SHA256 619cf9785e49bd19994c88449fc8d3935783fb801472d8db4b293f43a27aae25 Oracle Linux 8 (OL8) and Red Hat Enterprise Linux (RHEL8) use the same main RPM. RHEL8 requires an additional preinstall download and installation:
| |
oracle-ai-database-free-26ai-23.26.1-1.el9.x86_64.rpm 1,489,765,640 bytes SHA256 f30a4b847616c3081aa50e9de2efb6a7d42e93ba55258ae0a98744456cd23992 Oracle Linux 9 (OL9) and Red Hat Enterprise Linux (RHEL9) use the same main RPM. RHEL9 requires an additional preinstall download and installation:
| |
oracle-ai-database-free-26ai-23.26.1-1.el8.aarch64.rpm 1,319,158,084 bytes SHA256 4e37bf1895e826bf292b8a552df3b0ab8126ce1eed8e8a7e38bd97b05ce774d3 OL8 for Arm requires an additional preinstall download and installation:
| |
Pull container images from Oracle’s Container Registry:
| |
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.1.windows.x64.zip 1,361,673,353 bytes SHA256 7c673e5f495c03c9cb7ad09b08886a95597f0db9893d727934e370f73b6aa8d0 |
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
endGo
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)
}
}