Oracle 23ai 安装

Oracle 23ai 安装

适用版本:Oracle Database 23ai 文档版本:v1.0 / 2026-07


1. 概述

Oracle 23ai 是最新 LTS 版本[1]:

特性

  • AI Vector Search
  • JSON Relational Duality
  • SQL Firewall
  • Hybrid Partitioned Tables

详细见:Oracle 23ai 新特性


2. 安装前准备

2.1 系统要求

组件要求
OSOracle Linux 8 / 9
CPU2+ 核
内存4GB+
磁盘20GB+

2.2 预安装

# OL 8
dnf install -y oracle-database-preinstall-23ai

详细见:Oracle Linux 安装与配置


3. RPM 安装

3.1 下载

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

3.2 安装

dnf install -y oracle-database-free-23ai-1.0-1.el8.x86_64.rpm

3.3 配置

# /etc/sysconfig/oracle-free-23ai.conf
ORACLE_CHARACTERSET=AL32UTF8
ORACLE_PASSWORD=******

3.4 创建数据库

/etc/init.d/oracle-free-23ai configure

3.5 验证

sqlplus sys/Oracle123@localhost:1521/FREE as sysdba

4. ZIP 包安装

4.1 解压

mkdir -p ******
chown -R oracle:oinstall /u01
su - oracle
cd $ORACLE_HOME
unzip /tmp/LINUX.X64_230000_db_home.zip

4.2 静默安装

./runInstaller -silent -responseFile /tmp/db_install.rsp

4.3 root 脚本

/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/23.0.0/dbhome_1/root.sh

详细见:Oracle 19c 静默安装


5. 创建数据库

5.1 CDB + PDB

dbca -silent -createDatabase \
  -templateName General_Purpose.dbc \
  -gdbName orcl \
  -sid orcl \
  -createAsContainerDatabase true \
  -numberOfPDBs 1 \
  -pdbName orclpdb \
  -pdbAdminPassword Oracle123 \
  -sysPassword Oracle123 \
  -systemPassword Oracle123 \
  -storageType FS \
  -datafileDestination /u01/app/oracle/oradata \
  -characterSet AL32UTF8 \
  -totalMemory 4096

详细见:Oracle 数据库创建 DBCA


6. 23ai 强制 CDB

23ai 仅支持 CDB 架构:

SQL> SELECT cdb FROM v$database;
-- YES

SQL> SELECT name, open_mode FROM v$pdbs;
-- CDB$ROOT, PDB$SEED, ORCLPDB

详细见:Oracle 多租户 CDB/PDB 管理


7.1 检查

SELECT comp_id, version FROM dba_registry WHERE comp_id = 'Validate';

7.2 创建向量表

CREATE TABLE documents (
  id NUMBER PRIMARY KEY,
  content CLOB,
  embedding VECTOR(768, FLOAT32)
);

7.3 索引

CREATE VECTOR INDEX vec_idx ON documents(embedding)
  ORGANIZATION INMEMORY NEIGHBOR PARTITIONS;

详细见:Oracle 23ai 新特性


8. 启用 SQL Firewall

8.1 配置

BEGIN
  DBMS_SQL_FIREWALL.CREATE_PROFILE('app_profile');
  DBMS_SQL_FIREWALL.ENABLE_PROFILE('app_profile');
END;
/

-- 训练模式
EXEC DBMS_SQL_FIREWALL.SET_MODE('app_profile', 'LEARN');

-- 强制模式
EXEC DBMS_SQL_FIREWALL.SET_MODE('app_profile', 'ENFORCE');

9. JSON Relational Duality

CREATE JSON DUALITY VIEW employees_dv AS
  SELECT id, name, salary FROM employees;

-- JSON 访问
SELECT data FROM employees_dv WHERE data.name = 'Alice';

10. Boolean 数据类型

CREATE TABLE products (
  id NUMBER,
  name VARCHAR2(100),
  is_active BOOLEAN DEFAULT TRUE
);

SELECT * FROM products WHERE is_active = TRUE;

11. 验证

11.1 版本

SELECT banner_full FROM v$version;

11.2 组件

SELECT comp_id, version, status FROM dba_registry;

11.3 PDB

SELECT name, open_mode FROM v$pdbs;

12. 监听

12.1 配置

netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp

12.2 启动

lsnrctl start
lsnrctl status

详细见:Oracle 网络配置与监听器


13. 常见坑与排错

13.1 CDB 强制

- 23ai 仅支持 CDB
- 创建时指定 createAsContainerDatabase=true

13.2 RPM 冲突

dnf remove oracle-database-preinstall-19c
dnf install oracle-database-preinstall-23ai

13.3 Vector 索引失败

-- 1. 检查内存
-- 2. INMEMORY
ALTER TABLE documents INMEMORY;

14. 最佳实践

  1. OL 8/9:现代
  2. RPM 简单:开发
  3. ZIP 完整:生产
  4. CDB 强制:23ai
  5. AI Vector Search:现代应用
  6. SQL Firewall:安全
  7. Boolean 类型:现代
  8. JSON Duality:灵活
  9. 验证:完整性
  10. 文档化:记录

15. 参考资料

[1] Oracle Database Installation Guide 23ai for Linux https://docs.oracle.com/en/database/oracle/oracle-database/23/lnxdb/