
大家好,我是 JiekeXu,江湖人称“强哥”,荣获 Oracle ACE 称号,墨天轮 MVP,墨天轮年度“墨力之星”,拥有 Oracle 11g OCP/OCM 认证,MySQL 5.7/8.0 OCP 认证以及 PCA、PCTA、OBCA、OGCA、KCP 等众多国产数据库认证证书,今天和大家一起来看看 Oracle 23ai free 版本地化安装指南,欢迎点击最上方蓝字“JiekeXu DBA之路”关注我的微信公众号,然后点击右上方三个点“设为星标”顶,更多干货文章才能第一时间推送,谢谢!
北京时间 2024年 5 月 3 日凌晨, Oracle Database 23ai 正式发布!在过去四年中,Oracle 数据库开发部门一直在努力研发 Oracle 数据库的下一个长期支持版本,重点是 AI 和提高开发人员的工作效率。鉴于此版本数据库中对 AI 的关注,Oracle Database 23c 更名为 Oracle Database 23ai。
Oracle Database 23ai 现已在 Oracle Exadata Cloud@Customer、OCI Exadata 数据库服务和 OCI 基础数据库服务上推出。Azure Oracle数据库服务中也有提供。对于开发人员,Oracle Database 23ai 现在可在 Always Free 自治数据库中使用,也可以在 Autonomous Database 23ai Container Image 和 Oracle Database 23ai Free 中下载。

您现在可以下载和试用 Oracle Database 23ai Free 本地版本:
https://www.oracle.com/database/free/get-started 下载 Oracle Database 23ai rpm 和 VM VirtualBox ova 镜像文件,https://www.oracle.com/autonomous-database/free-trial/#free-container-image 下载 Autonomous Database 23ai 容器镜像
安装方式有如下图三种:

1)rpm 包安装方式
自 Oracle 18c 以后的版本,除传统的 zip 包安装方式外,便可以使用 rpm 包安装单机数据库。20 年的时候也写过 rpm 安装 19c 企业版的文章,感兴趣的可以点此查看:Oracle 19c 之 RPM 包安装初体验(一),去年 11 月份的时候,写静默安装文章的时候在文末第四章写了 23c rpm 包安装的方式:Oracle 主流版本不同架构下的静默安装指南。
今天我们在 Oracle Linux 8.7 上通过 rpm 包安装 23ai 版本时,需要卸载之前安装的 23c。
卸载 23c free 版

[root@jiekexu init.d]#/etc/init.d/oracle-free-23c deleteDeleting Oracle Listener.Deleting OracleDatabase FREE.[WARNING] [DBT-19202] The DatabaseConfiguration Assistant will delete the Oracle instances anddatafilesfor yourdatabase. All information in the database will be destroyed.Preparefor db operation32% completeConnecting todatabase35% complete39% complete42% complete45% complete48% complete52% complete65% completeUpdating network configuration files68% completeDeleting instanceanddatafiles84% complete100% completeDatabase deletion completed.Look at the logfile"/opt/oracle/cfgtoollogs/dbca/FREE/FREE0.log"for further details.[root@jiekexu init.d]# yum removeoracle-database-free-23cDependencies resolved.=============================================================================================================================================================================================================================================Package Architecture Version Repository Size=============================================================================================================================================================================================================================================Removing:oracle-database-free-23c x86_64 1.0-1 @@commandline 5.2 GTransaction Summary=============================================================================================================================================================================================================================================Remove1 PackageFreed space: 5.2 GIs this ok [y/N]: yRunning transactioncheckTransactioncheck succeeded.Running transactiontestTransactiontest succeeded.Running transactionPreparing : 1/1Running scriptlet: oracle-database-free-23c-1.0-1.x86_64 1/1Erasing :oracle-database-free-23c-1.0-1.x86_64 1/1Running scriptlet: oracle-database-free-23c-1.0-1.x86_64 1/1Verifying :oracle-database-free-23c-1.0-1.x86_64 1/1Removed:oracle-database-free-23c-1.0-1.x86_64Complete!
卸载preinstall rpm 包
yum remove oracle-database-preinstall-23ai
安装 23 ai free
下载 Linux8 下的 rpm 包oracle-database-free-23c-1.0-1.el8.x86_64.rpm
https://www.oracle.com/database/free/get-started/

下载 23ai preinstall rpm 包
https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/
oracle-database-preinstall-23ai-1.0-2.el8.x86_64.rpm
然后我们需要将下载好的这两个软件包上传到服务器任意目录下,通过 yum 去安装。
安装 preinstall 和 rpm 软件包
dnf -y install oracle-database-preinstall-23ai-1.0-2.el8.x86_64.rpmdnf-yinstalloracle-database-free-23ai-1.0-1.el8.x86_64.rpm
[root@jiekexu soft]# dnf -y install oracle-database-preinstall-23ai-1.0-2.el8.x86_64.rpmLast metadata expiration check: 0:00:47 ago on Tue 07 May 202403:13:05 PM CST.Dependencies resolved.=============================================================================================================================================================================================================================================Package Architecture Version Repository Size=============================================================================================================================================================================================================================================Installing:oracle-database-preinstall-23ai x86_64 1.0-2.el8 @commandline 30 kreplacing oracle-database-preinstall-23c.x86_64 1.0-0.5.el8Transaction Summary=============================================================================================================================================================================================================================================Install1PackageTotal size: 30 kDownloading Packages:Running transactioncheckTransactioncheck succeeded.Running transactiontestTransactiontest succeeded.Running transactionPreparing : 1/1Installing : oracle-database-preinstall-23ai-1.0-2.el8.x86_64 1/2Running scriptlet: oracle-database-preinstall-23c-1.0-0.5.el8.x86_64 2/2Obsoleting : oracle-database-preinstall-23c-1.0-0.5.el8.x86_64 2/2Running scriptlet: oracle-database-preinstall-23c-1.0-0.5.el8.x86_64 2/2Running scriptlet: oracle-database-preinstall-23ai-1.0-2.el8.x86_64 2/2Running scriptlet: oracle-database-preinstall-23c-1.0-0.5.el8.x86_64 2/2Verifying : oracle-database-preinstall-23ai-1.0-2.el8.x86_64 1/2Verifying : oracle-database-preinstall-23c-1.0-0.5.el8.x86_64 2/2Installed:oracle-database-preinstall-23ai-1.0-2.el8.x86_64Complete![root@jiekexu soft]# dnf -y install oracle-database-free-23ai-1.0-1.el8.x86_64.rpmLast metadata expiration check: 0:01:51 ago on Tue 07 May 202403:13:05 PM CST.Dependencies resolved.=============================================================================================================================================================================================================================================Package Architecture Version Repository Size=============================================================================================================================================================================================================================================Installing:oracle-database-free-23ai x86_64 1.0-1 @commandline 1.3 GTransaction Summary=============================================================================================================================================================================================================================================Install1PackageTotal size: 1.3 GInstalled size: 3.6 GDownloading Packages:Running transactioncheckTransactioncheck succeeded.Running transactiontestTransactiontest succeeded.Running transactionPreparing : 1/1Running scriptlet: oracle-database-free-23ai-1.0-1.x86_64 1/1Installing : oracle-database-free-23ai-1.0-1.x86_64 1/1Running scriptlet: oracle-database-free-23ai-1.0-1.x86_64 1/1[INFO] Executing post installation scripts...[INFO] Oracle home installed successfully and ready to be configured.To configure OracleDatabase Free, optionallymodify the parametersin'/etc/sysconfig/oracle-free-23ai.conf'andthen run '/etc/init.d/oracle-free-23ai configure'as root.Verifying : oracle-database-free-23ai-1.0-1.x86_64 1/1Installed:oracle-database-free-23ai-1.0-1.x86_64Complete!
配置数据库
/etc/init.d/oracle-free-23ai configure

[root@jiekexuinit.d]# etc/init.d/oracle-free-23ai configureSpecify apassword to be used for database accounts. Oracle recommends that the passwordenteredshould be at least 8 characters in length, contain at least 1 uppercasecharacter,1 lower case character and 1 digit [0-9]. Note that the samepasswordwill be used for SYS, SYSTEM and PDBADMIN accounts:Confirmthepassword:ConfiguringOracleListener.Listenerconfigurationsucceeded.ConfiguringOracleDatabase Free.EnterSYSuserpassword:***********EnterSYSTEMuserpassword:***********EnterPDBADMINUser Password:***********Preparefordboperation7%completeCopyingdatabasefiles29%completeCreatingandstartingOracle instance30%complete33%complete36%complete39%complete43%completeCompletingDatabaseCreation47%complete49%complete50%completeCreatingPluggableDatabases54%complete71%completeExecutingPostConfiguration Actions93%completeRunningCustomScripts100%completeDatabasecreationcomplete. For details check the logfiles at:/opt/oracle/cfgtoollogs/dbca/Free.DatabaseInformation:GlobalDatabaseName:FreeSystemIdentifier(SID):FreeLookat thelogfile "/opt/oracle/cfgtoollogs/dbca/Free/Free1.log" for furtherdetails.ConnecttoOracleDatabase using one of the connect strings:Pluggabledatabase: jiekexu/FREEPDB1Multitenantcontainer database: jiekexu
配置环境变量
[root@jiekexu init.d]# su - oracle[oracle@jiekexu ~]$ vi .bash_profile# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsexport ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFreeexport ORACLE_SID=Freeexport PDB_NAME=FREEPDB1export NLS_LANG=AMERICAN_AMERICA.AL32UTF8export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:/lib:/usr/libexport PATH=${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch:$OGG_HOME:${PATH}export HOST=`hostname | cut -f1 -d"."`export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:$OGG_HOME:/lib/usr/lib:/usr/local/lib# General exports and varsexport PATH=$ORACLE_HOME/bin:$PATHLSNR=$ORACLE_HOME/bin/lsnrctlSQLPLUS=$ORACLE_HOME/bin/sqlplusalias sys='sqlplus as sysdba'stty erase ^H
登录数据库查看
[oracle@jiekexu~]$ sysSQL*Plus: Release 23.0.0.0.0 - Production on Tue May 7 16:41:35 2024Version23.4.0.24.05Copyright(c) 1982, 2024, Oracle. All rights reserved.Connectedto:OracleDatabase 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for FreeVersion23.4.0.24.05SQL>set line 240colprofile for a20 SQL>setpages 999colusername for a25colACCOUNT_STATUS for a18selectUSERNAME,ACCOUNT_STATUS,CREATED,LOCK_DATE,PROFILE,PASSWORD_VERSIONS,DEFAULT_TABLESPACE from dba_users where account_status='OPEN' order by CREATED asc;SQL>SQL> SQL> SQL>USERNAMEACCOUNT_STATUS CREATED LOCK_DATE PROFILE PASSWORD_VERSIONS DEFAULT_TABLESPACE------------------------------------------- ------------------- ------------------- -------------------- ----------------- ------------------------------SYSOPEN 2024-04-24 10:23:46 DEFAULT 11G 12C SYSTEMSYSTEMOPEN 2024-04-24 10:23:46 DEFAULT 11G 12C SYSTEMSYSRACOPEN 2024-04-24 10:23:47 DEFAULT USERSSQL>show pdbsCON_IDCON_NAME OPEN MODE RESTRICTED---------------------------------------- ---------- ----------2PDB$SEED READ ONLY NO3FREEPDB1 READ WRITE NOSQL>select TABLESPACE_NAME,BIGFILE from dba_tablespaces;TABLESPACE_NAMEBIG---------------------------------SYSTEMYESSYSAUXYESUNDOTBS1YESTEMPNOUSERSYESSQL>alter session set container=FREEPDB1;Sessionaltered.SQL>select TABLESPACE_NAME,BIGFILE from dba_tablespaces;TABLESPACE_NAMEBIG---------------------------------SYSTEMYESSYSAUXYESUNDOTBS1YESTEMPNOUSERSNOSQL>create tablespace jiekexu DATAFILE '/opt/oracle/oradata/FREE/FREEPDB1/jiekexu01.dbf' size 10m;Tablespace created.


开机自启动设置
Oracle 建议您将系统配置为在系统启动时自动启动 Oracle Database Free,并在系统关闭时自动关闭系统。自动关闭数据库可防止不正确的数据库关闭。
要自动启动和关闭侦听器和数据库,请按以下方式运行以下命令
# systemctl daemon-reload# systemctl enable oracle-free-23ai
使用 Configuration Services 脚本关闭和启动
配置侦听器后,可以运行配置服务脚本来检查数据库和侦听器的状态。
# /etc/init.d/oracle-free-23ai statusStatusof the Oracle Free 23ai service:LISTENERstatus: RUNNINGFreeDatabase status: RUNNING# systemctl start oracle-free-23ai# systemctl stop oracle-free-23ai# systemctl restart oracle-free-23ai

验证开机自启动是否设置成功

2)Docker 版 oracle 23 ai 安装
docker 安装也非常简单,这里并不需要 Linux8,在一台可以联网的 Linux7 即可完成安装,启动 docker,直接 docker pull 就好了。

Su– dockersystemctlstatus dockersystemctlstart dockersystemctlstatus dockerdockerpull container-registry.oracle.com/database/free:latestdockerrun -d --name jieke23ai -h JiekeXu -p 1521:11521 container-registry.oracle.com/database/free:latestdocker exec -it jieke23ai sqlplus as sysdba

[docker@JiekeXu~]$ docker psCONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES9c66d08f839acontainer-registry.oracle.com/database/free:latest "/bin/bash -c $ORACL…" 12 hours ago Up 12 hours (healthy) 1521/tcp, 0.0.0.0:1521->11521/tcp, :::1521->11521/tcp jieke23ai[docker@JiekeXu~]$ docker exec -it jieke23ai bashbash-4.4$bash-4.4$lsnrctl statusLSNRCTLfor Linux: Version 23.0.0.0.0 - Production on 09-MAY-2024 15:27:11Copyright(c) 1991, 2024, Oracle. All rights reserved.Connectingto (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_FREE)))STATUSof the LISTENER------------------------AliasLISTENERVersionTNSLSNR for Linux: Version 23.0.0.0.0 - ProductionStartDate 09-MAY-2024 03:33:16Uptime0 days 11 hr. 53 min. 55 secTraceLevel offSecurityON: Local OS AuthenticationSNMPOFFDefaultService FREEListenerParameter File /opt/oracle/product/23ai/dbhomeFree/network/admin/listener.oraListenerLog File /opt/oracle/diag/tnslsnr/JiekeXu/listener/alert/log.xmlListeningEndpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_FREE)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))ServicesSummary...Service"16df542da83f091ce0630500580a27e7" has 1 instance(s).Instance"FREE", status READY, has 1 handler(s) for this service...Service"FREE" has 1 instance(s).Instance"FREE", status READY, has 1 handler(s) for this service...Service"FREEXDB" has 1 instance(s).Instance"FREE", status READY, has 1 handler(s) for this service...Service"PLSExtProc" has 1 instance(s).Instance"PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...Service"freepdb1" has 1 instance(s).Instance"FREE", status READY, has 1 handler(s) for this service...Thecommand completed successfullybash-4.4$bash-4.4$sqlplus / as sysdbaSQL*Plus: Release 23.0.0.0.0 - Production on Thu May 9 15:27:43 2024Version23.4.0.24.05Copyright(c) 1982, 2024, Oracle. All rights reserved.Connectedto:OracleDatabase 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for FreeVersion 23.4.0.24.05

3)导入 ova 安装
oracle 官方提供了一个已经在虚拟机上安装好了的 Oracle 23 ai,并将其打包成 ova 文件,可直接在官方下载,然后安装 VM VitualBox。完了将下载好的 ova 文件导入到虚拟机中,去年 4 月份也写过相关的文章,感兴趣的可点此链接查看:只需三步快速体验 Oracle 23c FREE 开发版,这里就不介绍了。ova 文件自带了 Oracle Linux 8.9+ oracle 23ai free (Oracle Database 23ai Free Release 23.0.0.0.0 – Develop, Learn, and Run for Free Version 23.4.0.24.05)。
在 2022 年 9 月份的时候, Oracle 23c 的一些新特性就广为人知了,当时我也转载过一篇《Oracle Database 23c 十小新特性速览》,今年 5 月发布的 23 ai 涵盖了 300+ 的新特性,一下子全部掌握了还是比较困难的,需要细嚼慢咽。比如,sqlplus 中就有五六个新特性:
SQL>SHOW CONNECTIONSP2-0306: Invalid option.Help: https://docs.oracle.com/error-help/db/sp2-0306/Usage: SHOW CONN[ECTION] NETS[ERVICENAMES] [<net_service_name 1> <net_service_name 2> ..]SQL>SQL>SHOW CONNECTION NETSLocalNet Naming configuration file: /opt/oracle/product/23ai/dbhomeFree/network/admin/tnsnames.oraEXTPROC_CONNECTION_DATAFREELISTENER_FREEFREEPDB1SQL>SQL>pingOk(0.902 msec)SQL>ping freepdb1LocalNet Naming configuration file: /opt/oracle/product/23ai/dbhomeFree/network/admin/tnsnames.oraAttemptingto contact: (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = FREEPDB1)))Ok(0.725 msec)SQL>CONFIG EXPORT TNS FILEGeneratingconfig store JSON for Local Net Naming configuration file /opt/oracle/product/23ai/dbhomeFree/network/admin/tnsnames.oraConfigstore JSON file generated successfully (/home/oracle/oraconfig.json)

SQL*Plus CONFIG CommandSQL*Plus OERR Command and Improved HELP SyntaxSQL*Plus PING Command and Command Line OptionSQL*Plus SET ERRORDETAILS CommandSQL*Plus SHOW CONNECTION CommandSQL*Plus ARGUMENT Commandhttps://docs.oracle.com/en/database/oracle/oracle-database/23/sqpug/ping.html#GUID-60C4A1C5-535A-4C9B-88F7-DDE2C198FD6E


参考链接
https://www.oracle.com/database/free/get-started/https://www.oracle.com/database/23ai/https://docs.oracle.com/en/database/oracle/oracle-database/23/xeinl/index.htmlhttps://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/toc.htmhttps://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/application_development.html#GUID-87019-4
全文完,希望可以帮到正在阅读的你,如果觉得有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~

分享几个数据库备份脚本
一文搞懂 Oracle 统计信息
我的 Oracle ACE 心路历程
MOP 系列|MOP 三种主流数据库索引简介
Oracle 主流版本不同架构下的静默安装指南
关机重启导致 ASM 磁盘丢失数据库无法启动
Oracle SQL 性能分析(SPA)原理与实战演练
Oracle 11g 升级到 19c 需要关注的几个问题
Windows 10 环境下 MySQL 8.0.33 安装指南
SQL 大全(四)|数据库迁移升级时常用 SQL 语句
OGG|使用 OGG19c 迁移 Oracle11g 到 19C(第二版)
Oracle 大数据量导出工具——sqluldr2 的安装与使用
从国产数据库调研报告中你都能了解哪些信息及我的总结建议
使用数据泵利用 rowid 分片导出导入 lob 大表及最佳实践
在归档模式下直接 rm dbf 数据文件并重启数据库还有救吗?
欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!
————————————————————————————
公众号:JiekeXu DBA之路
墨天轮:https://www.modb.pro/u/4347
CSDN :https://blog.csdn.net/JiekeXu
ITPUB:https://blog.itpub.net/69968215
腾讯云:https://cloud.tencent.com/developer/user/5645107
————————————————————————————





