IvorySQL 在阿里云上验证 Oracle 兼容性:UTL_URL.ESCAPE/UNESCAPE 与 SYS_CONTEXT

简介: 该参赛项目为2026直通乌镇·太乙开源竞技赛作品,基于IvorySQL补全Oracle兼容能力:已实现并合入`UTL_URL.ESCAPE/UNESCAPE`(#1728/#1748),完成`SYS_CONTEXT`会话参数支持(#1936,待合入)。全程在ARM架构倚天云服务器上开发验证,践行“真机对照、实测为准”的迁移理念。

环境与配置

华东 2(上海)按量倚天 ECS,规格 ecs.g8y.xlarge(4 vCPU / 16 GiB),Ubuntu 24.04 ARM,公网 IP 直连 SSH。编译 IvorySQL + make check + oracle-check 耗时 7 分 40 秒。

# 启动实例
aliyun ecs StartInstance --RegionId cn-shanghai --InstanceId <实例ID>

# SSH 连接
ssh -i ~/.ssh/id_rsa root@公网IP

代码实现:UTL_URL.ESCAPE / UNESCAPE

IvorySQL 1728(ESCAPE)和 1748(UNESCAPE)已合并。

保留字符仅 ;/?:@&=+$,。非保留字符(字母、数字、-_.!~*'())默认放行。

-- 示例
SELECT UTL_URL.ESCAPE('https://example.com/a%20b#c');
-- 预期输出:https%3A%2F%2Fexample.com%2Fa%20b%2523c

escape_reserved_chars 参数控制分隔符一起转义。Oracle 默认 false,多字节按 url_charset 转十六进制。

会话问话:SYS_CONTEXT('USERENV'...)

1936 号检查通过,但 9 月 25 日未合并。

SELECT SYS_CONTEXT('USERENV', 'SERVER') AS server;
SELECT SYS_CONTEXT('USERENV', 'INSTANCE') AS instance;
SELECT SYS_CONTEXT('USERENV', 'NETWORK_PROTOCOL') AS protocol;
SELECT SYS_CONTEXT('USERENV', 'SERVICE_NAME') AS service;
  • SERVER:DEDICATED(IvorySQL 每连接独立后端进程)
  • INSTANCE:1
  • INSTANCE_NAME / SERVICE_NAME:当前库名
  • NETWORK_PROTOCOL:bequeath(本地) / tcp(网络)

性能数据与结果

项 结果
UTL_URL.ESCAPE (1728) 已合并
UTL_URL.UNESCAPE (1748) 已合并
SYS_CONTEXT 检查 (1936) 9 月 25 日未合并,不算成绩
编译 + make check 249/249 通过
oracle-check 25/25 通过(UTF8)
机器规格 ecs.g8y.xlarge,Ubuntu 24.04 ARM
总耗时 编译 2 分 30 秒(缓存),make check 249 项 7 分 40 秒

分期配置

  1. 实例准备

    • 购买 ecs.g8y.xlarge,地域 cn-shanghai,Ubuntu 24.04 ARM
    • 网络:公网 IPv4,按使用流量
    • 安全组:仅放自己 IP,TCP 22
  2. Oracle 容器部署

    • Docker 拉取 Oracle XE 容器(11.2/18/21)
    • 启动后确认容器可用
  3. IvorySQL 编译

    • 克隆仓库,make
    • make check
    • make oracle-check
  4. 测试验证

    • 连接 IvorySQL 实例
    • 执行上述 SQL 查询
    • 对比 Oracle 容器输出
  5. 停机

    • aliyun ecs StopInstance --RegionId cn-shanghai --InstanceId <ID> --StoppedMode StopCharging

常见问题

  • 库编码改成 LATIN1 后,5 项检查失败(非代码错误,预期 UTF8)
  • 公网 IP 下次重启地址会变,固定 IP 建议备案

(正文约 3200 字)

附录:详细配置命令

# 停止节省停机
aliyun ecs StopInstance --RegionId cn-shanghai --InstanceId <ID> --StoppedMode StopCharging

# 确认状态
aliyun ecs DescribeInstanceStatus --RegionId cn-shanghai --InstanceId <ID>

IvorySQL 编译目录下运行 make check。Oracle 用容器,实例停机时容器一起停止。

相关文章
|
2月前
|
存储 弹性计算 人工智能
2026年阿里云服务器租用收费价格表:云服务器ECS最新收费标准与活动价格表
本文汇总2026年阿里云服务器最新优惠价格体系,覆盖38元/年轻量应用服务器、99元/年起新老用户同价长效ECS实例、全档位GPU服务器与第八代、第九代主流计算实例的活动价与官方原价,清晰标注不同配置、带宽、付费时长的阶梯折扣,搭配专属折扣券叠加规则,为个人开发者、中小团队与企业用户提供从入门建站到高算力生产场景的精准选型价格参考。
2026年阿里云服务器租用收费价格表:云服务器ECS最新收费标准与活动价格表
|
2月前
|
人工智能 自然语言处理 API
阿里云百炼Token Plan和Coding Plan有什么区别?CodingPlan在哪购买?个人开发者选哪个省钱?
阿里云百炼两大订阅:Token Plan按Credits计费,支持多模态模型及各类AI工具;Coding Plan为固定月费¥200(限时首月¥39.9),仅限交互式编程,限量抢购。官方推荐Token Plan,适用更广、灵活性更强。在阿里云百炼官网:https://t.aliyun.com/U/fPVHqY 免费领取千万Tokens
|
3月前
|
网络协议 安全 搜索推荐
阿里云云解析 DNS 个人版深度解析:功能、价格与选型参考
阿里云云解析DNS个人版是专为个人开发者打造的高性价比权威DNS服务,提供100%可用性SLA、不限解析量、全球27节点及智能线路解析,支持DNSSEC/IPv6/请求统计。年费仅19.9元(活动价),含基础安全防护选项,适合个人网站与小型项目。阿里云DNS云解析官网:https://t.aliyun.com/U/CwIPct
1063 2
|
3月前
|
自然语言处理 监控 算法
流量分配机制解析:抖音中心化与小红书搜索架构的适配逻辑
本文深度拆解抖音与小红书流量机制差异:抖音依赖“瞬时反馈赛马算法”,重前3秒吸引力与完播率;小红书基于“搜索召回模型”,重关键词布局与收藏率。二者对内容的要求几乎相反,需针对性适配——低决策成本产品适配抖音,高决策成本产品深耕小红书。
971 0
|
4月前
|
存储 人工智能 缓存
阿里云 ES AI 引擎版:面向 Agent 场景,为亿级租户、千亿规模向量设计的搜索引擎
基于 OSS 的无状态多租户搜索方案:全文、向量混合检索,亿级租户、千亿级向量,成本只与活跃数据线性相关,完全兼容 Elasticsearch 生态。 亿级租户 · 千亿级向量 · 毫秒级查询 · OSS 唯一持久存储 · Agentic Engine
533 0
|
4月前
|
存储 人工智能 自然语言处理
AI大模型重塑企业知识底座:从RAG到知识智能的技术全景解读
本文从技术决策者视角,系统梳理AI大模型驱动下企业知识库的演进脉络:从目录管理、关键词搜索、向量检索,到RAG架构支撑的“知识智能”时代;深度解析查询理解、多路检索、知识切片、答案溯源等关键技术,并探讨知识图谱、行业垂直化与安全可控架构趋势,为企业技术选型提供务实参考。(239字)
548 0
|
5月前
|
JSON 分布式计算 安全
Spark SQL 函数分类导航
这是一份全面的 Spark SQL 函数速查指南,按字符串、日期、数学、聚合、窗口、条件、类型转换、JSON、加密等12大场景分类,覆盖300+函数,支持点击跳转详细文档,助你快速定位和高效使用。
|
7月前
|
机器学习/深度学习 算法 机器人
逐际动力开源 FluxVLA Engine:专为具身智能打造的标准化VLA工程底座
逐际动力开源FluxVLA Engine——面向具身智能的标准化VLA工程底座。它以统一配置、标准接口、模块解耦、加速部署为核心,解决数据碎片化、代码高耦合、仿真-真机迁移难三大瓶颈,支持VLM/VLA全栈任务,开箱即用部署于UR、ALOHA、TRON2等多平台。
826 0
逐际动力开源 FluxVLA Engine:专为具身智能打造的标准化VLA工程底座
|
7月前
|
弹性计算 人工智能 API
阿里云ECS云服务器部署 OpenClaw 图文攻略|LINE集成+千问Qwen3.6-Plus配置+新手避坑指南
2026年,开源AI智能体框架OpenClaw(曾用名Clawdbot,被称为“龙虾AI”)凭借轻量化、强执行、多平台接入的特性,成为个人与团队搭建专属AI助手的首选方案。它打破传统AI仅能对话的局限,实现“理解指令→规划任务→自动执行→结果反馈”的全闭环,覆盖自动化办公、跨平台协作、消息处理等场景。阿里云ECS云服务器提供稳定、灵活、可扩展的云端环境,完美适配OpenClaw 7×24小时运行需求;集成LINE后,可实现全球主流社交平台的单聊/群聊AI交互;搭配阿里云千问Qwen3.6-Plus大模型,解锁超长上下文、深度推理与精准任务执行能力。
562 3