Getting started with Oracle Database Free is quick and simple.
For more information and full step-by-step instructions, please review the installation guide for Linux.
Learn more about the new features available in Oracle Database 23ai Free
Docker/Podman | |||||
---|---|---|---|---|---|
Download | Oracle Container Registry | ||||
Notes | Pull container images straight from Oracle’s Container Registry via docker pull container-registry.oracle.com/database/free:latest |
Oracle VM VirtualBox | |||||
---|---|---|---|---|---|
Filename | Oracle_Database_23ai_Free_Developer.ova | ||||
Sha256sum | 074c80f81b0a95c2d3bc0576791e61c0cd47f17d2fc55fe426fc4d656e328dc6 | ||||
Size (in bytes) | 6083107840 | ||||
Notes | Import the 23ai Free .ova file into your local Oracle VM VirtualBox setup. See Oracle Database 23ai Free VirtualBox Appliance for what’s in the Oracle VM VirtualBox image and Resource requirements. |
Oracle Linux 8 | |||||
---|---|---|---|---|---|
Filename | oracle-database-free-23ai-1.0-1.el8.x86_64.rpm | ||||
Sha256sum | e6cccec7f101325c233f374c2aa86f77d62123edd3125450d79404c3eec30b65 | ||||
Size (in bytes) | 1378076936 | ||||
Notes | Run Run |
Oracle Linux 9 | |||||
---|---|---|---|---|---|
Filename | oracle-database-free-23ai-1.0-1.el9.x86_64.rpm | ||||
Sha256sum | 427ac8f337a9aa880e661d2574e9fac1427e9899a34c8459720432905bd30873 | ||||
Size (in bytes) | 1378076936 | ||||
Notes | Run Run |
Oracle Instant Client | |||||
---|---|---|---|---|---|
Filename Sha256sum Size (in bytes) |
instantclient-basic-linux.x64-23.4.0.24.05.zip 63835bf433b6b3e212082dfbd55662830d2104d71cc7e750cecda039726fe956 118377607 |
||||
Filename Sha256sum Size (in bytes) |
instantclient-sdk-linux.x64-23.4.0.24.05.zip 8c1b596c515121e280b555b2957baf363f3164dbff0c20a064d5c30551700d8d 1043624 |
||||
Filename Sha256sum Size (in bytes) |
instantclient-sqlplus-linux.x64-23.4.0.24.05.zip eb6550aa7ceaaa2824bd951f5fe79e3da81e396accaed59852f7e1a62110b4ed 5471693 |
||||
Notes | For development and deployment of applications that connect to Oracle Database |
Oracle Database Client | |||||
---|---|---|---|---|---|
Filename | LINUX.X64_234000_client_home.zip | ||||
Sha256sum | 43062559ac7970e6d581d288d3e32938bc5fdd2e975c3740a7547412f75a151f | ||||
Size (in bytes) | 778147876 |
Global Service Manager | |||||
---|---|---|---|---|---|
Filename | LINUX.X64_234000_gsm.zip | ||||
Sha256sum | 5f31eeb1047a8d2c43f1fe44ce39968f8caeb18a8a68a5e2cdf24f1aa364ea2f | ||||
Size (in bytes) | 704518035 |
RedHat compatible Oracle Linux 8 distribution | |||||
---|---|---|---|---|---|
Filename Sha256sum Size (in bytes) |
oracle-database-preinstall-23ai-1.0-2.el8.x86_64.rpm 4578e6d1cf566e04541e0216b07a0372725726a7c339423ee560255cb918138b 31152 |
||||
Filename Sha256sum Size (in bytes) |
oracle-database-free-23ai-1.0-1.el8.x86_64.rpm e6cccec7f101325c233f374c2aa86f77d62123edd3125450d79404c3eec30b65 1378076936 |
||||
Notes | Run Run Run |
RedHat compatible Oracle Linux 9 distribution | |||||
---|---|---|---|---|---|
Filename Sha256sum Size (in bytes) |
oracle-database-preinstall-23ai-1.0-2.el9.x86_64.rpm aa7bc3a62f4118cc8e02ece2f67ddd276b2256833e4d66f939725b2ef22bebf9 35689 |
||||
Filename Sha256sum Size (in bytes) |
oracle-database-free-23ai-1.0-1.el9.x86_64.rpm 427ac8f337a9aa880e661d2574e9fac1427e9899a34c8459720432905bd30873 1378076936 |
||||
Notes | Run Run Run |
Windows | |||||
---|---|---|---|---|---|
Filename | |||||
Sha256sum | 4f771b7f1d54c7c713fb18b15f948591cd3bee409732acba9e2c5e302e115c7c | ||||
Size (in bytes) | 1334113752 | ||||
Notes | Oracle Database 23ai Free for Windows Installation Guide |
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)
}
}