0x-4-Oracle 23 ai-sqlcl 25.1.1 独立安装-配置和优化
一、独立安装sqlcl
1. 安装 Java 环境
SQLcl 需要 Java 1.8.0_220 或更高版本,
Oracle Linux9.6 上已经默认安装Oracle 23ai后Java 是11 lts版本
如果java jdk安装错误将遇上SQLcl困扰n多人的bug
sql /nolog
错误:找不到或加载主类 oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli
原因:java.lang.ClassNotFoundException:oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli
bash复制# 检查当前 Java 版本
java -version# 若未安装或版本过低,安装 OpenJDK 17(推荐)
sudo dnf install java-17-openjdk-devel# 设置 JAVA_HOME(根据实际路径调整)
echo "export JAVA_HOME=/usr/lib/jvm/java-17-openjdk" >> ~/.bashrc
source ~/.bashrc[oracle@OL96 ~]$ which java
/usr/bin/java
[oracle@OL96 ~]$ which sqlcl
/usr/bin/which: no sqlcl in (/opt/oracle/product/23ai/dbhomeFree/bin:/home/oracle/.local/bin:/home/oracle/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/lib/jvm/java-11-openjdk/bin:/opt/sqlcl/bin:/opt/sqlcl/bin:/opt/sqlcl/bin:/usr/lib/jvm/java-11-openjdk/bin)
2. 下载并安装 SQLcl--默认安装了一个版本
可以独立下载
SQLcl Downloads
也可以直接wget
# 下载最新版 SQLcl(当前最新为 25.1.1)--20250607
wget https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-latest.zip
unzip sqlcl-latest.zip -d /opt/
[root@OL96 home]# wget https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-latest.zip
--2025-06-08 00:10:08-- https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-latest.zip
Resolving download.oracle.com (download.oracle.com)... 23.35.208.76
Connecting to download.oracle.com (download.oracle.com)|23.35.208.76|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 87557295 (84M) [application/zip]
Saving to: ‘sqlcl-latest.zip’sqlcl-latest.zip 100%[=============================================================>] 83.50M 2.26MB/s in 57s2025-06-08 00:11:07 (1.47 MB/s) - ‘sqlcl-latest.zip’ saved [87557295/87557295]# 设置环境变量
echo 'export PATH=$PATH:/opt/oracle/sqlcl/bin' >> ~/.bashrc
source ~/.bashrc
2. 查找默认的sqlcl路径和rpm安装的sqlcl
---可以使用默认的sql也可以用dnf install 下载最新的sqlcl,需要提前添加oracle linux repo
sudo dnf config-manager --add-repo https://yum.oracle.com/repo/OracleLinux/OL9/oracle/software/x86_64
sudo dnf install sqlcl
--这个sqlcl安装后,会在/opt/oracle/sqlcl路径下。
而原生的随着oracle 23 ai free安装的sql在/opt/oracle/product/23ai/dbhomeFree/sqlcl/bin--需要修改oracle下的.bash_profile文件,才能正常使用sqlcl
--关键设置export PATH=$PATH:/opt/oracle/product/23ai/dbhomeFree/sqlcl/bin
[oracle@OL96 ~]$ vi .bash_profile
--
[oracle@OL96 ~]$ cat .bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programs
export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
export ORACLE_SID=FREE
export PATH=$ORACLE_HOME/bin:$PATH
export PATH=$PATH:/opt/oracle/product/23ai/dbhomeFree/sqlcl/bin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$PATH:$JAVA_HOME/bin
[oracle@OL96 ~]$
--
[oracle@OL96 ~]$ source .bash_profile
[oracle@OL96 ~]$ sql / as sysdba
SQLcl: Release 25.1 Production on Sun Jun 08 09:33:25 2025Copyright (c) 1982, 2025, Oracle. All rights reserved.Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.8.0.25.04
3. 配置 SQLcl 基础连接
# 连接 Oracle 23ai Free 数据库
sql username/password@//localhost:1521/FREE# 或使用 EZConnect 格式
sql user@//db_host:1521/service_name
4. 启用 23ai 特性支持
在 SQLcl 中设置兼容性参数:
-- 在 SQLcl 会话中执行
SET SQLCOMPATIBILITY '23'
5. 常用配置优化
-- 启用自动补全(默认开启)
SET AUTOTRACE ON-- 设置历史记录(保存 1000 条命令)
SET HISTSIZE 1000-- 启用 JSON 输出格式(适合 23ai 的 JSON 功能)
SET SQLFORMAT JSON-- 显示执行时间
SET TIMING ON
6. 23ai 特定功能配置
-- 向量搜索示例(使用 23ai 的 AI Vector Search)
SELECT content
FROM documents
ORDER BY VECTOR_DISTANCE(embedding, :query_vector)
FETCH FIRST 5 ROWS ONLY;
7. 登录属性配置
创建 $HOME/sqlcl/login.sql 自动加载脚本:
-- login.sql 内容
SET SQLFORMAT ANSICONSOLE
SET FEEDBACK 1
DEFINE _EDITOR = vim
SET HISTSIZE 1000
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
8. 异常排除
# 启用调试模式
SQLCL_DEBUG=true sql user/pass@db# 检查 23ai 特性兼容性
SELECT * FROM v$compatibility WHERE feature_id LIKE '%23AI%';
TIPS:
undefined.Oracle 23ai 的 AI Vector Search 需要单独启用
undefined.使用 SET COMPATIBILITY 确保语法兼容性
undefined.通过 ALTER SYSTEM SET enable_vector_engine=TRUE 启用向量引擎(需要 DBA 权限)
9. 常用 SQLcl 命令
命令 | 说明 |
INFO | 显示表结构 |
DDL | 生成对象 DDL |
SET SQLFORMAT JSON | JSON 格式输出 |
HISTORY | 查看命令历史 |
LB STATUS | Liquibase 状态 |
VECTOR | 向量搜索 |
相关文章:
0x-4-Oracle 23 ai-sqlcl 25.1.1 独立安装-配置和优化
一、独立安装sqlcl 1. 安装 Java 环境 SQLcl 需要 Java 1.8.0_220 或更高版本, Oracle Linux9.6 上已经默认安装Oracle 23ai后Java 是11 lts版本 如果java jdk安装错误将遇上SQLcl困扰n多人的bug sql /nolog 错误:找不到或加载主类 oracle.dbto…...

Appium+python自动化(十一)- 元素定位- 下
1、 List定位 List顾名思义就是一个列表,在python里面也有list这一个说法,如果你不是很理解什么是list,这里暂且理解为一个数组或者说一个集合。首先一个list是一个集合,那么他的个数也就成了不确定性,所以这里需要用复…...

免费批量PDF转Word工具
免费批量PDF转Word工具 工具简介 这是一款简单易用的批量PDF转Word工具,支持: 批量转换多个PDF文件保留原始格式和布局快速高效的转换速度完全免费使用 工具地址 下载链接 网盘下载地址:点击下载 提取码:8888 功能特点 ✅…...
OD 算法题 B卷【水果摊小买卖】
文章目录 水果摊小买卖 水果摊小买卖 小王手里有点闲钱,想做点水果买卖,给出两个数组m, n, m[i]表示第i个水果的成本价,n[i]表示第i个水果能卖出的价格;假如现在有本钱k,试问最后最多能赚多少钱࿱…...

Mac/iOS 如何解压 RAR 格式压缩包:常用工具与详细操作步骤
一、Mac 系统解压 RAR 文件之法 Mac 系统上解压 RAR 文件有多种方法,除了系统自带的一些简单功能外,还可以借助特定的软件来实现高效解压。以下将介绍几款常用工具的解压操作。 (一)解压专家解压步骤 解压专家 是一款在 Mac 和 …...
二进制安全-IDA Pro-API
idaapi 是 IDA Pro(Interactive Disassembler Professional) 反汇编工具的 Python API 接口,用于开发自动化脚本、插件和自定义分析工具。通过 idaapi,开发者可以访问 IDA Pro 的核心功能(如反汇编、符号分析、交叉引用…...

机器学习监督学习实战四:九种回归算法对波士顿房价数据进行回归预测和评估方法可视化
本项目代码在个人github链接:https://github.com/KLWU07/Machine-learning-Project-practice/tree/main 处理流程 1.导入波士顿房价数据集并进行预处理。2.使用 GradientBoostingRegressor 模型进行回归分析。3.通过交叉验证评估模型的性能,计算 MAE、…...
1. Web网络基础 - IP地址核心知识解析
深入解析IP地址与ipconfig命令:网络工程师的必备技能 在网络世界中,IP地址是设备通信的基石。本文将全面解析IP地址的核心概念,并通过ipconfig命令实战演示如何获取关键网络配置信息。 一、IP地址核心知识解析 1. IP地址的本质 定义&#x…...

微软重磅发布Magentic UI,交互式AI Agent助手实测!
微软重磅发布Magentic UI,交互式AI Agent助手实测! 何为Magentic UI? Magentic UI 是微软于5.19重磅发布的开源Agent助手,并于24日刚更新了第二个版本0.04版 从官方的介绍来看,目标是打造一款 以人为中心 的智能助手,其底层由多个不同的智能体系统驱动,能够实现网页浏览…...
c# 完成恩尼格玛加密扩展
c# 完成恩尼格玛加密扩展 恩尼格玛扩展为可见字符恩尼格玛的设备原始字符顺序转子的设置反射器的设置连接板的设置 初始数据的设置第一版 C# 代码第二版 C# 代码 总结 恩尼格玛 在之前,我们使用 python 实现了一版恩尼格玛的加密算法,但是这一版&#x…...
华为 “一底双长焦” 专利公布,引领移动影像新变革
6 月 6 日,国家知识产权局公布的一项专利发明申请吸引了众多目光,该专利发明人为华为技术有限公司,名为 “光学镜头、摄像头模组及电子设备” 。从展示的技术图来看,这一光学镜头呈现出独特的 “一底双镜头结构”,其中…...

老年生活照护实训室建设规划:照护质量评估与持续改进实训体系
随着人口老龄化程度的不断加深,老年生活照护需求日益增长,对专业照护人才的培养提出了更高要求。老年生活照护实训室建设方案作为培养高素质照护人才的重要载体,其核心在于构建科学完善的照护质量评估与持续改进实训体系。通过该体系的建设&a…...

【python深度学习】Day 48 PyTorch基本数据类型与操作
知识点: 随机张量的生成:torch.randn函数卷积和池化的计算公式(可以不掌握,模型会自动计算的)pytorch的广播机制:加法和乘法的广播机制 ps:numpy运算也有类似的广播机制,基本一致 作…...
Go深入学习延迟语句
1 延迟语句是什么 编程的时候,经常会需要申请一些资源,比如数据库连接、文件、锁等,这些资源需要再使用后释放掉,否则会造成内存泄露。但是编程人员经常容易忘记释放这些资源,从而造成一些事故。 Go 语言直接在语言层…...

【大模型】【推荐系统】LLM在推荐系统中的应用价值
文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点B.4 两大推荐方法 C 模型结构C.1 知识蒸馏(训练过程)C.2 轻量推理(部署过程) D 实验设计E 个人总结 A 论文出处 论文题目:SLMRec:Distilling…...

uni-app学习笔记二十九--数据缓存
uni.setStorageSync(KEY,DATA) 将 data 存储在本地缓存中指定的 key 中,如果有多个key相同,下面的会覆盖掉原上面的该 key 对应的内容,这是一个同步接口。数据可以是字符串,可以是数组。 <script setup>uni.setStorageSyn…...
csharp基础....
int[][] jaggedArray new int[3][]; jaggedArray[0] new int[] { 1, 2 }; jaggedArray[1] new int[] { 3, 4, 5 }; jaggedArray[2] new int[] { 6, 7, 8, 9 }; 嵌套 反转和排序 List<int> list new List<int> { 1, 2, 3, 4, 5 }; list.Reverse(); Cons…...
【C/C++】EBO空基类优化介绍
空对象优化(Empty Base Optimization,简称 EBO)是 C 编译器的一种 优化技术,用于消除空类作为基类时占用的内存空间,从而避免浪费空间、提升结构体或类的存储效率。 1 什么是“空对象”? 一个**空类&#…...

工作邮箱收到钓鱼邮件,点了链接进去无法访问,会有什么问题吗?
没事的,很可能是被安全网关拦截了。最近做勒索实验,有感而发,不要乱点击邮箱中的附件。 最初我们采用钓鱼邮件投递恶意载荷,发现邮件网关把我们的 exe/bat 程序直接拦截了,换成压缩包也一样拦截了,载荷始终…...

基于安卓的线上考试APP源码数据库文档
摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存…...

【数据结构】顺序表和链表详解(下)
前言:上期我们从顺序表开始讲到了单链表的概念,分类,和实现,而这期我们来将相较于单链表没那么常用的双向链表。 文章目录 一、双向链表二,双向链表的实现一,增1,头插2,尾插3&#x…...

【系统架构设计师】绪论-系统架构概述
目录 绪论 系统架构概述 单选题 绪论 系统架构概述 单选题 1、软件方法学是以软件开发方法为研究对象的学科。其中,()是先对最高居次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去…...

SQL-事务(2025.6.6-2025.6.7学习篇)
1、简介 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 默认MySQL的事务是自动提交的,也就是说࿰…...
OpenCV 图像通道的分离与合并
一、知识点 1、一张彩色图像可以由R、G、B三个通道的灰度图合并而成。 2、void split(InputArray m, OutputArrayOfArrays mv); (1)、将多通道阵列划分为几个单通道阵列。 (2)、参数说明: m: 要分离的多通道阵列。 mv: 输出的vector容器,每个元素都…...

Virtex II 系列FPGA的配置原理
对FPGA 芯片的配置,本质上是将根据设计生成的包含配置命令和配置数据的比特流文件写入到配置存储器中。 1 配置模式 Virtex II 系列FPGA 一共有五种配置模式,配置模式的选择是根据管脚M[2:0]来决定。 (1)串行配置模式 串行配置模…...

蓝桥杯 国赛2024python(b组)题目(1-3)
第一题 试卷答题页 - 蓝桥云课 问题描述 在今年蓝桥杯的决赛中,一共有 1010 道题目,每道题目的分数依次为 55 分,55 分,1010 分,1010 分,1515 分,1515 分,2020 分,2020 分…...
低代码平台前端页面表格字段绑定与后端数据传输交互主要有哪些方式?华为云Astro在这方面有哪些方式?
目录 🔧 一、低代码平台中常见的数据绑定与交互方式 1. 接口绑定(API 调用) 2. 数据源绑定(DataSource) 3. 变量中转(临时变量 / 页面状态) 4. 数据模型绑定(模型驱动) 🌐 二、华为云 Astro 轻应用的实现方式 ✅ 1. 数据源绑定(API服务+API网关) ✅ 2. 变…...
stm32——UART和USART
串口通信协议UART和USART 1. UART与USART协议详解 特性UART (Universal Asynchronous Receiver/Transmitter)USART (Universal Synchronous Asynchronous Receiver/Transmitter)全称通用异步收发器通用同步/异步收发器同步/异步异步:不共享时钟,数据通过…...

算法题(165):汉诺塔问题
审题: 本题需要我们找到最优的汉诺塔搬法然后将移动路径输出 思路: 方法一:递归 我们先分析题目 n为2的情况,我们先将第一个盘子移动到三号柱子上,然后再将二号盘子移动到二号柱子上 n为3的情况,我们先将前…...

玄机——某次行业攻防应急响应(带镜像)
今天给大家带来一次攻防实战演练复现的过程。 文章目录 简介靶机简介1.根据流量包分析首个进行扫描攻击的IP是2.根据流量包分析第二个扫描攻击的IP和漏扫工具,以flag{x.x.x.x&工具名}3.提交频繁爆破密钥的IP及爆破次数,以flag{ip&次数}提交4. 提…...