25-Oracle 23ai DBMS_SEARCH — Ubiquitous Search(无处不在的搜索)

编程范式的本质:阴阳二分,相融相异 本文源于一次真实的设计讨论,上片博客沿着四种语言实现的路子走下去,本篇博客则沿着设计模式的路线归结到计算机哲学的根。需求本身小得不能再小:给一个存放数据库读取结果的 `Dict` 列表按字段名排序。但当我们把约束加码到"字段演进时排序器永不改动"时,这个需求就不再是工程问题,而成了三种编程范式的正面交锋。沿着这条线走下去,我们最终抵达了一个更根本的结论——**编程范式不是一张并列的表格,而是一棵树,而树的根只有两个。** 阅读详情

一. DBMS_SEARCH Package的核心作用​

DBMS_SEARCH 是Oracle 23ai新增的PL/SQL包,用于实现跨多表/视图的统一全文搜索​(Ubiquitous Search)。DBMS_SEARCH 执行 Oracle Text 普适搜索,可以轻松在多个表和视图上创建单一索引。创建 DBMS_SEARCH INDEX并添加表和视图后,所有可搜索值(包括 VARCHAR、CLOB、JSON 和数字列)都将包含在索引中,并在表或视图内容发生更改时自动进行维护。自动将多个表或视图合成为单个索引,而不是创建各种单独的索引或物化视图。

今天测试医疗场景中同时搜索病历描述、患者主诉、检验、检查报告的案例。

在这个之前,默认基本表的索引和混合索引,按照int,number等属性默认各种优化都用过了。

典型场景​:
  • - 企业知识库中跨文档、邮件、日志表的联合搜索。
  • - 电商平台同时搜索商品描述、用户评论、客服记录。
  • - 医疗客户同时搜索病历描述、患者主诉、检验检查报告
​​跨模态搜索融合​
支持向量搜索与传统文本搜索混合执行(结合AI Vector Search)
优势​:在同一个SQL中实现关键词过滤与语义相似度匹配,适应复杂搜索场景。
​事务一致性保障​
所有索引更新与基表DML操作在同一事务中完成,
确保:搜索结果的实时可见性(提交后立即可查)

二. 工作原理​

DBMS_SEARCH通过以下流程实现统一搜索:
1.​索引创建​:
  • - 调用DBMS_SEARCH.CREATE_INDEX定义索引范围(指定表/视图及文本列)。
  • - 自动调用Oracle Text引擎生成倒排索引,存储词项与源数据的映射关系
2.​查询处理​:
  • - 用户输入自然语言查询(如“诊疗意见”)。
  • - 包将查询解析为SQL语句,在统一索引中检索相关文档。
3.​结果返回​:
  • - 返回包含匹配结果的表名、行ID及相关性评分,支持分页和排序

三. 与历史版本的对比

Oracle 23ai前​,依赖CTXCAT或CTXRULE索引,需手动为每个表创建独立全文索引.跨表搜索需复杂SQL联合查询,维护成本高,性能瓶颈明显。索引碎片化:需定期CTX_DDL.SYNC_INDEX维护,性能瓶颈:百万级数据联合查询超5秒,开发复杂:需管理多个索引一致性任务

​Oracle 23ai,通过DBMS_SEARCH实现单索引覆盖多表,简化架构并提升查询效率,避免跨索引合并结果的性能损耗。仅限23ai及以上版本可用。

--23ai以前版本需要做UNION

-- 需为每个表创建独立索引
CREATE INDEX disease_name_idx ON endocrine_diseases(disease_name) INDEXTYPE IS CTXSYS.CONTEXT;
CREATE INDEX symptom_desc_idx ON symptoms(symptom_desc) INDEXTYPE IS CTXSYS.CONTEXT;

-- 跨表查询需手动UNION
SELECT 'Disease' AS type, disease_id FROM endocrine_diseases 
WHERE CONTAINS(disease_name, '糖尿病')>0
UNION ALL
SELECT 'Symptom' AS type, symptom_id FROM symptoms 
WHERE CONTAINS(symptom_desc, '并发症')>0;

四、电子病历场景实战验证 

0.建库建表 

CREATE TABLESPACE tbs1
DATAFILE 'tbs5.dbf' SIZE 2G AUTOEXTEND ON
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
--
DROP USER docuser cascade;
CREATE USER docuser identified by Oracle_4U default tablespace tbs1;
--
GRANT DB_DEVELOPER_ROLE TO docuser;
GRANT DBA TO docuser;
--
[oracle@OL96 ~]$ sql docuser/Oracle_4U@localhost:1521/FREEPDB1;

 1. 环境搭建(内分泌案例)

    -- 1. 创建医疗数据模型
    CREATE TABLE endocrine_diseases (
        disease_id NUMBER PRIMARY KEY,
        icd_code VARCHAR2(10),
        name VARCHAR2(100),
        description CLOB,
        risk_factors VARCHAR2(200)
    );
    
    CREATE TABLE patients (
        patient_id NUMBER PRIMARY KEY,
        name VARCHAR2(50),
        gender CHAR(1),
        age NUMBER,
        bmi NUMBER(5,2)
    );
    
    CREATE TABLE medical_records (
        record_id NUMBER PRIMARY KEY,
        patient_id NUMBER REFERENCES patients(patient_id),
        disease_id NUMBER REFERENCES endocrine_diseases(disease_id),
        visit_date DATE,
        symptoms CLOB,
        diagnosis CLOB,
        treatment CLOB,
        lab_results CLOB
    );
    
    -- 2. 生成10万+内分泌疾病测试数据
    INSERT INTO medical_records 
    SELECT
        ROWNUM AS record_id,
        p.patient_id,
        d.disease_id,
        TRUNC(SYSDATE) - DBMS_RANDOM.VALUE(1, 1825) AS visit_date,
        TO_CLOB('症状描述:' || DBMS_RANDOM.STRING('X', 150)) AS symptoms,
        TO_CLOB('诊断结果:' || d.name || ',' || DBMS_RANDOM.STRING('X', 100)) AS diagnosis,
        TO_CLOB('治疗方案:' || 
            CASE MOD(ROWNUM, 5)
                WHEN 0 THEN '药物治疗'
                WHEN 1 THEN '手术干预'
                ELSE '生活方式调整'
            END || ',' || DBMS_RANDOM.STRING('X', 120)) AS treatment,
        TO_CLOB('检验结果:' || 
            ROUND(DBMS_RANDOM.VALUE(3, 15), 1) || 'mmol/L,' ||  
            ROUND(DBMS_RANDOM.VALUE(60, 180), 0) || 'mg/dL') AS lab_results  
    FROM 
        (SELECT patient_id FROM patients ORDER BY DBMS_RANDOM.VALUE) p
    CROSS JOIN 
        (SELECT disease_id, name FROM endocrine_diseases ORDER BY DBMS_RANDOM.VALUE) d
    CROSS JOIN 
        (SELECT LEVEL FROM dual CONNECT BY LEVEL <= 10)
    WHERE 
        ROWNUM <= 100000;
    COMMIT;
    --100,000 rows inserted
    -- 3. 创建DBMS_SEARCH索引
    EXEC DBMS_SEARCH.CREATE_INDEX('MED_SEARCH_IDX');
    EXEC DBMS_SEARCH.ADD_SOURCE('MED_SEARCH_IDX', 'ENDOCRINE_DISEASES');
    EXEC DBMS_SEARCH.ADD_SOURCE('MED_SEARCH_IDX', 'MEDICAL_RECORDS');
    --查询 USER_DBMS_SEARCH_INDEXES 字典视图
    SELECT IDX_NAME FROM USER_DBMS_SEARCH_INDEXES;
    
    IDX_NAME
    __________________
    MY_SEARCH_INDEX
    MED_SEARCH_IDX
    --查询 USER_DBMS_SEARCH_INDEX_SOURCES 字典视图。
    SELECT IDX_NAME,SRC_OWNER,SRC_NAME,SRC_TYPE
    FROM USER_DBMS_SEARCH_INDEX_SOURCES
    ORDER BY IDX_NAME, SRC_OWNER,SRC_NAME;
    
    IDX_NAME           SRC_OWNER    SRC_NAME              SRC_TYPE
    __________________ ____________ _____________________ ___________
    MED_SEARCH_IDX     DOCUSER      ENDOCRINE_DISEASES    T
    MED_SEARCH_IDX     DOCUSER      MEDICAL_RECORDS       T
    MY_SEARCH_INDEX    DOCUSER      CUSTOMERS             T
    
    -- 4. 性能测试对比 (索引前 vs 索引后)
    -- 测试前清理缓存
    ALTER SYSTEM FLUSH BUFFER_CACHE;
    ALTER SYSTEM FLUSH SHARED_POOL;
    --查询索引内容(使用JSON_SERIALIZE)
    SELECT JSON_SERIALIZE(DBMS_SEARCH.GET_DOCUMENT('MED_SEARCH_IDX', metadata)) AS document
    FROM MED_SEARCH_IDX;
    
    
    -- 5. 使用JSON_TEXTCONTAINS精确搜索
    SELECT JSON_SERIALIZE(metadata) 
    FROM MED_SEARCH_IDX
    WHERE JSON_TEXTCONTAINS(
      data, 
      '$.medical_records.DIAGNOSIS',
      '肾上腺疾病'
    );
    
    -- 测例1: 关键词搜索
    SET TIMING ON
    -- 无索引传统查询 (LIKE搜索)
    SELECT COUNT(*) 
    FROM medical_records 
    WHERE symptoms LIKE '%多饮多尿%' OR diagnosis LIKE '%糖尿病%';
    --Elapsed: 00:00:02.536
    -- DBMS_SEARCH查询
    SELECT COUNT(*) 
    FROM med_search_idx 
    WHERE CONTAINS(DATA, '多饮多尿 AND 糖尿病') > 0;
    SET TIMING OFF
    Elapsed: 00:00:00.425
    
    -- 测例2. 索引维护监控
    -- 查看索引大小
    SELECT segment_name, bytes/1024/1024 MB 
    FROM user_segments 
    WHERE segment_name = 'MED_SEARCH_IDX';
    

    五、性能优化建议

    1.混合索引策略​:结合关系型索引

    CREATE INDEX idx_patient_age ON patients(age);
    CREATE INDEX idx_disease_name ON endocrine_diseases(name);

    2.缓存优化​:配置结果集缓存 

    ALTER SYSTEM SET result_cache_mode = FORCE;
    
    System altered.

    3.查询优化技术​:

    SELECT /*+ RESULT_CACHE */ COUNT(*) 
    FROM med_search_idx 
    WHERE CONTAINS(DATA, '糖尿病');

     

    [3.4]【机器人运动学MATLAB实战分析】PUMA560机器人逆运动学MATLAB计算 PUMA560是六自由度关节型机器人,其6个关节都是转动副,属于6R型操作臂。各连杆坐标系如图1,连杆参数如表1所示。本文对PUMA560机器人逆运动学进行分析并MATLAB计算 阅读详情

    相关推荐

    AUTO-DL平台快速部署BEVFormer:Nuscenes数据集完整训练避坑指南

    本文详细介绍了在AUTO-DL平台高效部署BEVFormer模型并利用Nuscenes数据集进行完整训练的实战指南。重点解析了平台数据管理、环境配置、数据集迁移解压、预处理及训练启动等全流程中的关键步骤与常见避坑技巧,帮助研究者和工程师快速复现这一前沿视觉感知模型,节省云端训练时间与成本。

    weixin_29188043的博客 331

    Oracle23c FREE的新特性

    Oracle Database 23c Free Developer-Release是下一代 Oracle 数据库的第一个版本,使开发人员能够抢先一步构建具有一些新的 23c 功能的应用程序,为即将发布的下一个长期支持发行版 Oracle Database 23c 做好准备。

    weixin_42329915的博客 821

    ✨使用 vLLM + Docker 部署 Qwen3-Embedding-8B 并实现高效文本向量生成(附 `curl` 测试)

    本文介绍了如何使用 vLLM 和 Docker 部署 Qwen3-Embedding-8B 嵌入模型服务,并通过标准 OpenAI 兼容接口进行调用和结果解析。如果你在部署中遇到任何问题,欢迎留言讨论!

    用大模型重构生活:猫奴程序员的AI智能日常记录 6238

    DBMS 中的索引

    Bitmap 比 B-tress 具有优势,因为 Bitmap 对某些数据的检索速度更快(Bitmap 是根据特定数据制作的,因此检索速度更快)。众所周知,索引指向某个表或数据块,但有时数据本身是以某种方式分区的,因此我们也需要对索引表进行分区。我们可以使用主键创建多个索引表,例如基于年份的索引(分组年份)或基于模型名称的索引等。一本书的索引包含主题名称和页码,同样,数据库的索引表包含键及其相应的块地址。索引表的两列(即键值对)包含数据库表格数据的选定列的副本。有序索引是传统的存储方式,可提供快速检索。

    新华编程特战队 1613

    Paypal开发者中心获取“ClientId”和“ClientSecret”参数

    正式环境设置 1、登录到 paypal开发者中心 网址:https://developer.paypal.com/developer/ 点击右上角登录按钮登录 2、左侧栏 - 我的应用程序和凭证 - 点击“创建新应用” 新注册的paypal账号,需要进行邮箱验证,验证通过后,需要等待一段时间(或重新登录),才会出现相关设置项位置 验证邮箱通过后,点击创建新应用 3、按提示填写,保存创建应用 4、点击刚创建的应用进入应用详情页 5、应用详情页获得网站开发人员所需要的“ClientId”和“Client

    龚清林的博客 1万+

    多雷达协同探测技术研究进展:认知跟踪与资源调度算法

    源自:雷达学报作者:易伟 袁野 刘光宏 葛建军 孔令讲 杨建宇雷达是信息感知的千里眼,具有极高的军用和民用价值,广泛应用在防空预警、遥感测绘、反恐维稳等领域[1–5]。雷达信息获取与探测技术也一直是大国竞相抢占的前沿技术,同时是信息科学的重要组成部分。随着科学技术不断进步,先进电子对抗装备的不断问世和广泛列装,雷达的生存与发展正面临日益严峻的挑战。从生存环境上看,雷达面临通信等各类民用电磁干扰以及复杂的军用电磁干扰;从探测对象上看,集群、微弱、隐身、高空、低空等多样化目标的出现也给雷达探测与识别带来困难。

    renhongxia1的博客 2783

    Oracle 如何实现AI自然语言查询

    本文介绍了如何在Oracle 23ai数据库中通过DBMS_CLOUD_AI包集成第三方AI服务(以Cohere为例),实现自然语言查询功能。主要内容包括:1) 授予用户AI包执行权限并配置网络访问;2) 创建AI服务凭证;3) 配置AI Profile定义模型和访问表对象;4) 启用Profile后即可通过自然语言与数据库交互。该功能降低了数据查询门槛,为开发智能数据库应用提供了便利。文章提供了完整的配置步骤和SQL示例,适合希望在Oracle中嵌入AI能力的开发者参考实践。

    weixin_42329915的博客 842

    Google Earth Engine 红树林制图方法的代码(三个模块)

    谷歌地球引擎红树林制图方法(GEM)提供了一种直观、易用且可复制的工具,适用于广泛的非专业沿海管理者和决策者。该工具全面回顾并整合了相关的红树林遥感文献,并利用云计算的力量,包括简化的基于图像的潮汐校准方法。GEM 可免费用于非营利用途,并在 GEE 中运行,包含全面且详细注释的代码。GEM 专门设计用于绘制全球范围内多日期红树林分布并量化其动态变化。目前可用的工具和方法未能充分利用沿海管理者通常持有的丰富地方专业知识——GEM 致力于填补这一空白,帮助结合地方专业知识与 GEE 的云计算能力。

    此星光明博客 559

    Paper Reading | AI & 数据库融合经典论文回顾

    人工智能(AI)和数据库(DB)在过去的50年里得到了广泛的研究,随着数据库近年来的不断发展,数据库开始与人工智能结合,数据库和人工智能(AI)可以相互促进。一方面,AI 可以使数据库更加智能化(AI4DB)。例如,传统的数据库优化技术无法满足大规模数据库实例、各种应用程序和多样化用户的高性能要求,尤其是在云上。幸运的是,基于机器学习的技术可以缓解这个问题。另一方面,数据库技术可以优化AI模型(DB4AI)。例如,人工智能在实际应用中难以部署,因为它要求开发人员编写复杂的代码并训练复杂的模型。数据库技术可以

    KaiwuDB 数据库 1221

    【100%通过率】华为od机试C卷【部门人力分配】Python 实现

    当前部门需要完成 N 个需求,需求用 requirements[i] 表示,requirements[i] 表示第 i 个需求的工作量大小,单位:人月。2:明显这个人力需求值有上下限的情况下【下限为requirements中的最大值,上限为requirements中的最大两个值相加(因为最多有两个需求同一个月开发)】,可以考虑使用二分法。当选择人力为6时,2个需求量为3的工作可以在1个月里完成,其他2个工作各需要1个月完成。当选择人力为5时,4个工作各需要1个月完成,一共需要4个月才能完成所有需求。

    MISAYAONE的博客 2020

    锂电池SOH估计 | 锂电池SOH基础计算与可视化(Python)

    锂电池SOH估计 | 锂电池SOH基础计算与可视化(Python)

    前程算法屋的博客 900

    Oracle静默安装,含仅软件安装和数据库安装及常见报错处理方法DBT-10317 DBT-05509 [FATAL] ORA-03114

    本文详解Oracle 19c单机版静默安装与数据库创建全流程,涵盖目录配置、响应文件编写、安装及建库命令,附常见报错(如DBT-10317、ORA-03114)解析与解决方案,包含删库指令与日志分析,适合内网环境自学实战,免费干货,实用性强。

    qq_41474349的博客 177

    Codex CLI 手机号验证失败?5 种接码平台实测对比与绕过地区限制的 3 步操作

    揭示 Codex CLI 手机号验证失败的真实原因在于上下文污染而非网络问题,分析其通过 ASN、Accept-Language 和 TLS SNI 三重加权风控的机制,并实测对比 5 种接码平台在 DNS 解析路径、ASN 干净度和复用间隔上的差异,提出剥离浏览器指纹、固化 TLS SNI、隔离

    weixin_42627902的博客 731

    Spring 事务详解:@Transactional 如何生效、何时回滚、传播行为怎么选

    从订单与库存写入出发,拆解 @Transactional 的代理调用链、默认回滚规则与自调用问题;通过 Spring Boot + H2 的五个验证用例比较 REQUIRED、REQUIRES_NEW、NESTED,并说明数据库事务与 Redis、消息和远程接口的边界。

    qq_74421990的博客 305

    迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

    迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

    Devexpress16.2.6破解工具

    Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

    Oracle多租户集群PDB异机恢复至单机部署数据库

    本文详细演示了将Oracle RAC集群中的PDB(RMAN_PDB)通过RMAN备份恢复至单机CDB的全过程。首先在源库创建测试PDB并插入数据,随后配置RMAN备份路径,备份该PDB及其元数据文件。接着将备份文件传输至单机环境,启动实例并恢复控制文件与数据文件,最后利用DBMS_PDB.EXPOSE_PDB_FROM_RMAN生成PDB描述文件,将其插入新单机CDB中,实现PDB的独立使用。整个流程涵盖数据准备、备份、恢复及插入,完整验证了跨环境PDB迁移的可行性。

    qq_57492774的博客 184

    C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

    基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

    Mysql数据库基础篇(三):全面掌握数据库与数据表操作:深度剖析底层文件差异与核心管理机制

    如果你想彻底改掉某个字段的名字,应该使用 change。实例:将 employee表中的 name列修改为xingming注意:使用 change时,即便不改变数据类型,在指定了新列名后依然需要完整地写一遍它的数据类型与约束定义。

    2501_93641778的博客 238

    RU DOS版、EFI版32bit/64bit BIOS常用工具

    DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

    oracle直方图测试

    预期:没有直方图时,优化器假设 status 分布均匀(选择性 = 1/NDV ≈ 1/100),两个查询的预估行数(E-Rows)会非常接近(约 1000 行),很可能对两个查询都选择索引扫描,或者都选择全表扫描,无法区分数据量的巨大差异。

    ZHANG123HUO的博客 51

    Oracle 19c RAC ASM 在线扩容实战

    最近有一套 Oracle 19c RAC 数据库,DATA 磁盘组空间使用率已经接近 90%,需要扩容。环境是两节点 RAC,底层使用 Dell EMC SAN 存储,通过 Multipath 管理共享磁盘,存储侧已经分配好一块 2TB 的新 LUN,只需要在操作系统上识别,然后加入 ASM 磁盘组。整个过程不需要停库,本文记录一下实际操作步骤。这次 Oracle 19c RAC ASM 扩容整体比较顺利。

    LuciferLiu_DBA 293

    带着小白学习-微服务-5 实战:配置中心-数据库连接

    如前所述,服务治理主要包含注册中心,前面所有的微服务子工程均已注册到nacos,然后由相应的应用到nacos进行拉取。接下来,我们将使用nacos的配置中心,用于保存和分发应用运行所需的动态配置。比如数据库的各类信息等。

    wdyan297的博客 215

    任务8-1 数据库用户权限管理

    本实战训练MySQL权限管理的完整流程。通过CREATE USER建用户,GRANT按需授权,SHOW GRANTS核查权限。岗位变动时,使用REVOKE回收多余权限,并用FLUSH PRIVILEGES刷新缓存。全流程旨在落实最小权限原则,规范数据库安全运维。

    howard2005的专栏 153

    用校园小助手生成ER图:从建表语句到可调布局

    从建表语句或自然语言生成,到关系识别、主外键颜色区分,再到布局切换和折叠,校园小助手的ER图功能把画图过程中最耗时的部分交给了工具。它适合大学生论文、研究人员科研、教师教学及企业数据分析等场景,所有功能都在校园小助手平台内实现。下次作业要用ER图时,不妨先从手里的SQL开始。

    weixin_74789176的博客 191

    SQLServer常用指令手册

    覆盖数据库创建、表与约束、增删改查、查询进阶、索引、视图/存储过程/函数/触发器、事务、权限、运维排查。适用版本:SQL Server 2012 及以上(标注的条目为对应版本起可用)。

    lzcbaba的博客 239

    MySQL数据库和表的操作

    本文系统介绍了MySQL数据库与表的基本操作。包括创建、查看、修改和删除数据库,重点讲解字符集与校验规则对大小写敏感性的影响;通过SHOW、ALTER、DROP等命令实现数据库管理;介绍数据备份(mysqldump)与恢复(SOURCE)方法;并详细阐述表的创建、结构查看(DESC)、字段增删改(ALTER TABLE)及表删除操作,涵盖字段类型、注释、索引等关键要素,为数据库开发与维护提供完整指导。

    2201_75570391的博客 367

    Oracle 19c 在线重定义后旧表空间清理及 ASM 存储资源回收 SOP

    Oracle 19c 在线重定义后旧表空间清理与 ASM 存储资源回收 SOP

    「YYL DBA手记」 数据库 · 架构 · 运维 · 实战 yyldba.blog.youkuaiyun.com 486

    搭建Oracle RAC 集群

    配置SSH互信,分别RAC1和RAC2的root,grid,Oracle三个用户下执行以下命令。安装LINUX.X64_193000_grid_home.zip文件包。添加6块硬盘,每块50G,添加控制器,设为虚拟,添加网络适配器。设置主机名,配置网卡,编写/etc/hosts文件()配置磁盘规则,执行writerule.sh脚本。运行test.sh脚本,完成基础配置。

    x_SpiderMan的博客 48

    【服务器数据恢复】RAID5阵列双盘掉线Oracle+OA系统的数据恢复案例

    某医药公司服务器组建RAID5磁盘阵列,阵列内两块硬盘先后离线,直接造成服务器宕机。服务器操作系统为RedhatLinux,承载基于Oracle数据库搭建的OA业务系统,业务数据价值高、恢复时效要求紧急。由于该OA配套Oracle版本早已停止技术支持,客户需求为:完整恢复业务数据,同时尽可能复原原有操作系统环境。

    beiya123的博客 127
    上一篇: 24-Oracle 23 ai ​Lock-Free Reservations​(无锁列值保留)
    下一篇: 26-Oracle 23 ai Automatic Transaction Rollback(行锁终结者)
    远方1609
    博客等级 码龄22年 577粉丝 121原创
    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    个

    红包个数最小为10个

    元

    红包金额最低5元

    当前余额3.43元 前往充值 >
    需支付:10.00元
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付元
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值