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 系统要求
| 组件 | 要求 |
|---|---|
| OS | Oracle Linux 8 / 9 |
| CPU | 2+ 核 |
| 内存 | 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
7. 启用 AI Vector Search
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. 最佳实践
- OL 8/9:现代
- RPM 简单:开发
- ZIP 完整:生产
- CDB 强制:23ai
- AI Vector Search:现代应用
- SQL Firewall:安全
- Boolean 类型:现代
- JSON Duality:灵活
- 验证:完整性
- 文档化:记录
15. 参考资料
[1] Oracle Database Installation Guide 23ai for Linux https://docs.oracle.com/en/database/oracle/oracle-database/23/lnxdb/