Oracle Database Free 版本快速入门

通过 Oracle Database 23ai 体验新一代数据库创新。该融合数据库平台旨在简化 AI、微服务、图形、文档、空间和关系应用的开发,在一个强大的解决方案中提供您所需的一切。更棒的是,您可以免费使用 Oracle Database 23ai Free,适用于任何想要开始构建数据驱动的现代应用的用户。无论您选择在云端或在本地环境部署商业产品(查看可用性列表),还是选择免费版,您都将拥有创建未来数据管理所需的所有工具。

Oracle Database 23ai Free 平台


Microsoft Windows x64
文件名 WINDOWS.X64_239000_free.zip
下载 下载链接
SHA256 a573fa914113fae53ed5123b17f893436aa5dd1489faa8344b3150b33f523eab
大小(字节) 1,380,731,534
附注

Oracle Database Free 安装指南
Oracle Database 客户端安装指南

Oracle Linux 8 (OL8)
文件名 oracle-database-free-23ai-23.9-1.el8.x86_64.rpm
下载 下载链接
SHA256 a6e64941ad940dd23e152e3d51213aeaea6d93b43688fbd030175935e0efe03d
大小(字节) 1,412,957,372
附注

Oracle Linux 8 (OL8) 和 Oracle Enterprise Linux (EL8) 使用相同的 RPM。EL8 需要额外的预安装下载和安装(请参见下文)。

Oracle Database Free 安装指南
Oracle Database 客户端安装指南

Oracle Linux 9 (OL9)
文件名 oracle-database-free-23ai-23.9-1.el9.x86_64.rpm
下载 下载链接
SHA256 35a5b2e4065747eea3258d4f0c8d9a6e5440a818945da183fc631750cce4d999
大小(字节) 1,412,957,372
附注

Oracle Linux 9 (OL9) 和 Oracle Enterprise Linux (EL9) 使用相同的 RPM。EL9 需要额外的预安装下载和安装(请参见下文)。

Oracle Database Free 安装指南
Oracle Database 客户端安装指南

Oracle Enterprise Linux 8 (EL8)
文件名 oracle-database-preinstall-23ai-1.0-2.el8.x86_64.rpm
下载 下载链接
SHA256 4578e6d1cf566e04541e0216b07a0372725726a7c339423ee560255cb918138b
大小(字节) 31,152
附注

请先下载并安装此预安装 RPM。然后依照下面的主要 RPM。
运行 dnf install -y oracle-database-preinstall*

文件名 oracle-database-free-23ai-23.9-1.el8.x86_64.rpm
下载 下载链接
SHA256 a6e64941ad940dd23e152e3d51213aeaea6d93b43688fbd030175935e0efe03d
大小(字节) 1,412,957,372
附注

Oracle Linux 8 (OL8) 和 Oracle Enterprise Linux (EL8) 使用相同的 RPM。EL8 需要额外的预安装下载和安装(请参见下文)。

Oracle Database Free 安装指南
Oracle Database 客户端安装指南

Oracle Enterprise Linux 9 (EL9)
文件名 oracle-database-preinstall-23ai-1.0-2.el9.x86_64.rpm
下载 下载链接
SHA256 aa7bc3a62f4118cc8e02ece2f67ddd276b2256833e4d66f939725b2ef22bebf9
大小(字节) 35,689
附注

请先下载并安装此预安装 EPM。然后依照下面的主要 RPM。
运行 dnf install -y oracle-database-preinstall*

文件名 oracle-database-free-23ai-23.9-1.el9.x86_64.rpm
下载 下载链接
SHA256 35a5b2e4065747eea3258d4f0c8d9a6e5440a818945da183fc631750cce4d999
大小(字节) 1,412,957,372
附注

Oracle Linux 9 (OL9) 和 Oracle Enterprise Linux (EL9) 使用相同的 RPM。EL9 需要额外的预安装下载和安装(请参见下文)。

Oracle Database Free 安装指南
Oracle Database 客户端安装指南

Oracle Linux 8 for Arm (aarch64)
文件名 oracle-database-preinstall-23ai-1.0-4.el8.aarch64.rpm
下载 下载链接
SHA256 0603e020ddd3b19cb051fd47c122ee1c63af837c10ed9a9304acd938a43fd084
大小(字节) 31,468
附注

请先下载并安装此预安装 RPM。然后依照下面的主要 RPM。
运行 dnf install -y oracle-database-preinstall*

文件名 oracle-database-free-23ai-23.9-1.el8.aarch64.rpm
下载 下载链接
SHA256 59faac204495cc6a08b6e99cd0997226c17fe4d7362e16b73ae5446b3e5b688e
大小(字节) 1,282,234,128
附注

Oracle Database Free 安装指南

Docker/Podman
下载 链接到容器注册表
附注 通过 docker pull container-registry.oracle.com/database/free:latest,直接从 Oracle Container Registry 拉取容器映像。
Oracle VirtualBox
文件名 Oracle_Database_23ai_Free_Developer.ova
下载 下载链接
SHA256 b998e36dbcbddafa77f92ea220758cefdb17e41bccce307792cd17ec90eb1aaf
大小(字节) 6,284,277,760
附注

将 .ova 文件导入您的本地 Oracle VM VirtualBox 设置。

参阅 Oracle Database 23ai Free VirtualBox Appliance,了解 Oracle VirtualBox 映像内容以及资源要求。

连接到 Oracle Database Free

SQL

  • 连接字符串格式:[username]@[hostname]:[port]/[DB service name] [AS SYSDBA]
  • 要连接到每一个 Pluggable Database (PDB),请使用:
    
    
    
    					sqlplus sys@localhost:1521/FREEPDB1 as sysdba
    					
  • 要连接到 Container Database (CDB),请使用:
    
    
    
    					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)
      }
     
}		
		

注:为免疑义,本网页所用以下术语专指以下含义:

  1. 除Oracle隐私政策外,本网站中提及的“Oracle”专指Oracle境外公司而非甲骨文中国 。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。