40-Oracle 23 ai Bigfile~Smallfile-Basicfile~Securefile矩阵对比

小伙伴们是不是在文件选择上还默认给建文件4G/个么,在oracle每个版本上系统默认属性是什么,选择困难症了没,一起一次性文件存储和默认属性看透。

基于Oracle历代在存储架构的技术演进分析,结合版本升级和23ai新特性,一起梳理Smallfile/Bigfile、BasicFiles/SecureFiles的技术差异与应用场景,用脚本验证。

一、表空间技术:Smallfile vs Bigfile的版本演进

​1. 技术特点对比

​版本​

​Smallfile特性

​Bigfile特性​

​关键升级点​

​10g

• 最多1022个文件/表空间

• 单文件最大32GB (8K块)

• 单文件表空间

• 最大32TB (8K块)

引入Bigfile,

扩展单文件容量上限

​11g​

• 保持传统架构

• 支持ASM条带化分散I/O

• 优化ROWID寻址(32位块号)

• 简化ASM管理

性能优化,

强化与ASM集成

​19c​

• 仍为默认类型

• 支持在线迁移至Bigfile

• 支持OMF自动管理文件

• 提升RAC扩展性

管理自动化增强

​23ai​

• 仅PDB的USERS表空间默认Smallfile

​默认启用​:SYSTEM/SYSAUX/

UNDO表空间均Bigfile化

Bigfile成为新标准

2. 使用场景选择
  • Bigfile适用场景​:
  1. 数据仓库​:单表超1TB时避免文件数量爆炸(如23ai中的AI向量库)
  2. ASM环境​:依赖条带化分散I/O压力(11g+最佳实践)
  3. 归档系统​:简化历史数据维护(19c+推荐)
  • Smallfile保留场景
  1. OLTP高并发​:多文件分布提升I/O并行度(如高频交易库)
  2. 兼容性需求​:迁移旧系统且存储设备异构(如10g遗留环境)
Bigfile风险​:23ai中单文件损坏影响扩大,需搭配ASM冗余策略

 

二、LOB存储革命:BasicFiles vs SecureFiles

​1. 架构演进关键版本

​版本​

BasicFiles特性​

​SecureFiles特性​

​技术特点​

​10g​

• 默认LOB存储

• 手动管理CHUNK/PCTVERSION

未支持

-

11g

• 仍可创建

• 易碎片化

• 引入压缩/加密/去重

• ​写性能提升

重构LOB架构,支持高级功能

​19c

• 兼容模式保留

• 官方建议迁移

• ASSM表空间默认启用

• 支持TDE列加密

全面替代BasicFiles

​23ai​

• 仅用于兼容旧数据

• 深度集成AI向量搜索

• 支持JSON二元存储

LOB与AI模型直接交互

2. 功能与性能对比 

--ASSM表空间在上一期建好了
-- SecureFiles核心优势(11g+)
CREATE TABLE contracts1 (id NUMBER,doc CLOB
) LOB(doc) STORE AS SECUREFILE (COMPRESS HIGH          -- 智能压缩DEDUPLICATE            -- 跨分区去重ENCRYPT USING 'AES192' -- 透明加密--不要在SYS管理员用户建
) TABLESPACE ASSM_TS;

三、Oracle 23ai存储新特性:AI向量类型与存储融合 

1. 核心创新方向
  • Bigfile默认化​除TEMP外所有系统表空间默认Bigfile,新表空间自动启用:
-- 23ai默认表空间类型验证
SELECT tablespace_name, bigfile FROM dba_tablespaces;
-- 输出:SYSAUX=YES, SYSTEM=YES, UNDOTBS1=YES
TABLESPACE_NAME    BIGFILE
__________________ __________
SYSTEM             YES
SYSAUX             YES
UNDOTBS1           YES
TEMP               NO
USERS              YES
HR_DATA            YES
HR_TEMP            YES
OE_DATA            YES
SH_DATA            YES
CO_DATA            YES
OE_TEMP            YES
SH_TEMP            YES
PM_TEMP            YES
CO_TEMP            YES
SHRINK_TS          YES
SECURE_LOB_TS      YES
ASSM_TS            YES17 rows selected.Elapsed: 00:00:00.043
  • SecureFiles AI化
    • 向量存储集成​:LOB字段直接映射为AI向量
CREATE TABLE research_papers (id NUMBER PRIMARY KEY,content CLOB,  -- 不在此处指定SecureFileembedding VECTOR(1024)  -- 1024维向量列
) TABLESPACE assm_ts LOB(content) STORE AS SECUREFILE (  -- 正确语法位置COMPRESS HIGH  -- 可选高级功能
);
--Table RESEARCH_PAPERS created.
Elapsed: 00:00:00.098
 2. 自然语言查询​: 
-- 手动输入向量值(需提前通过AI模型生成)
SELECT content 
FROM research_papers 
ORDER BY VECTOR_DISTANCE(embedding, TO_VECTOR('[0.1,0.5,0.8]', 1024, FLOAT32)  -- 实际数组3
) 
FETCH FIRST 5 ROWS ONLY;
--
no rows selected
Elapsed: 00:00:00.018
  • 自治存储优化
    • 自动压缩冷数据SecureFiles
    • Bigfile空间预警与ASM自动扩容
​3. 发展趋势
  • BasicFiles​:23ai仅兼容保留,无功能更新
  • Smallfile​:非核心表空间使用,新项目不建议

四、实操脚本:19c ~ 23ai

​1. 表空间与LOB配置(19c)​
-- 1. 创建Smallfile+SecureFiles表空间(19c)
CREATE TABLESPACE sf_secure DATAFILE '/u01/app/oracle/oradata/TEST19/pdbrs6/sf1.dbf' SIZE 1G;
CREATE TABLESPACE sf_secure DATAFILE '/u01/app/oracle/oradata/TEST19/pdbrs6/sf2.dbf' SIZE 1G;
--Tablespace 已创建
-- 2. 迁移BasicFiles到SecureFiles
CREATE TABLE legacy_data (id NUMBER PRIMARY KEY,          -- 修正:INT 改为 NUMBER,并添加主键约束document CLOB                   -- 修正:明确 LOB 类型为 CLOB/BLOB
)
LOB(document) STORE AS BASICFILE (  -- 显式指定存储类型(19c 默认可能为 SecureFile)TABLESPACE users                -- 指定 LOB 存储表空间(需提前存在)DISABLE STORAGE IN ROW          -- 禁用行内存储(优化大文本性能)CHUNK 8192                     -- 设置 LOB 块大小(需与表空间块大小匹配)
);ALTER TABLE legacy_data MOVE LOB(document) STORE AS SECUREFILE (TABLESPACE sf_secure COMPRESS LOW);
--Table已变更。
-- 3. 验证SecureFiles启用
SELECT table_name, securefile FROM dba_lobs WHERE table_name = 'LEGACY_DATA';
-- 应返回YES
--
SYS@CDB$ROOT> SELECT table_name, securefile FROM dba_lobs WHERE table_name = 'LEGACY_DATA';TABLE_NAME                                                                                                                       SEC
------------------------------
LEGACY_DATA                    YES
3. 跨版本兼容性脚本 
-- 同时兼容19c/23ai的SecureFiles创建
DECLAREv_securefile VARCHAR2(20);
BEGINSELECT VALUE INTO v_securefile FROM v$parameter WHERE name = 'db_securefile';IF v_securefile = 'FORCE' THENEXECUTE IMMEDIATE 'CREATE TABLE t_uni (doc CLOB) LOB(doc) STORE AS SECUREFILE';ELSEEXECUTE IMMEDIATE 'CREATE TABLE t_uni (doc CLOB)';END IF;
END;-- 之前已经新建名为ASSM_TS的ASSM表空间
DECLAREv_securefile VARCHAR2(20);
BEGIN-- 获取db_securefile参数值SELECT VALUE INTO v_securefile FROM v$parameter WHERE name = 'db_securefile';IF v_securefile = 'FORCE' THEN-- 必须在ASSM表空间中创建SecureFile LOBEXECUTE IMMEDIATE 'CREATE TABLE t_uni (doc CLOB)TABLESPACE ASSM_TS  -- 显式指定ASSM表空间LOB(doc) STORE AS SECUREFILE (COMPRESS HIGH  -- 可选:启用高级压缩DEDUPLICATE    -- 可选:启用重复数据删除)';ELSE-- 非SecureFile模式,但仍需指定表空间EXECUTE IMMEDIATE 'CREATE TABLE t_uni (doc CLOB)TABLESPACE ASSM_TS  -- 显式指定表空间';END IF;
END;
/
---
PL/SQL procedure successfully completed.Elapsed: 00:00:00.054
验证19c需手动启用SecureFiles:ALTER SYSTEM SET db_securefile=FORCE;

五、技术选型与未来趋势

  • 版本对比决策

​需求

10g/11g​

​19c​

​23ai​

超大规模数据存储

Bigfile+BasicFile

Bigfile+SecureFile

​Bigfile+SecureFile+AI

高频事务处理

Smallfile

Smallfile

Smallfile(仅PDB)

非结构化数据高级管理

不可行

SecureFile

​SecureFile+向量化​

  • 核心趋势
  1. 存储智能化​:Bigfile成为基础设施,SecureFiles支持AI原生交互
  2. 架构融合​:LOB数据可直接参与向量计算,消除ETL链路
  3. 自治运维​:AI驱动存储压缩、扩容、故障预测(23ai OCI增强特性)
​新建系统建议​:
  1. 新项目统一采用 ​Bigfile + SecureFiles​
  2. 旧系统迁移参考脚本优先保障兼容性
  3. 23ai项目重点验证向量搜索与JSON二元存储性能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/85002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【一】零基础--分层强化学习概览

分层强化学习(Hierarchical Reinforcement Learning, HRL)最早一般视为1993 年封建强化学习的提出. 一、HL的基础理论 1.1 MDP MDP(马尔可夫决策过程):MDP是一种用于建模序列决策问题的框架,包含状态&am…

Java延时

在 Java 中实现延时操作主要有以下几种方式,根据使用场景选择合适的方法: 1. Thread.sleep()(最常用) java 复制 下载 try {// 延时 1000 毫秒(1秒)Thread.sleep(1000); } catch (InterruptedExcepti…

电阻篇---下拉电阻的取值

下拉电阻的取值需要综合考虑电路驱动能力、功耗、信号完整性、噪声容限等多方面因素。以下是详细的取值分析及方法: 一、下拉电阻的核心影响因素 1. 驱动能力与电流限制 单片机 IO 口驱动能力:如 STM32 的 IO 口在输入模式下的漏电流通常很小&#xf…

NY271NY274美光科技固态NY278NY284

美光科技NY系列固态硬盘深度剖析:技术、市场与未来 技术前沿:232层NAND架构与性能突破 在存储技术的赛道上,美光科技(Micron)始终是行业领跑者。其NY系列固态硬盘(SSD)凭借232层NAND闪存架构的…

微信开发者工具 插件未授权使用,user uni can not visit app

参考:https://www.jingpinma.cn/archives/159.html 问题描述 我下载了一个别人的小程序,想运行看看效果,结果报错信息如下 原因 其实就是插件没有安装,需要到小程序平台安装插件。处理办法如下 在 app.json 里,声…

UE5 读取配置文件

使用免费的Varest插件,可以读取本地的json数据 获取配置文件路径:当前配置文件在工程根目录,打包后在 Windows/项目名称 下 读取json 打包后需要手动复制配置文件到Windows/项目名称 下

【kdump专栏】KEXEC机制中SME(安全内存加密)

【kdump专栏】KEXEC机制中SME&#xff08;安全内存加密&#xff09; 原始代码&#xff1a; /* Ensure that these pages are decrypted if SME is enabled. */ 533 if (pages) 534 arch_kexec_post_alloc_pages(page_address(pages), 1 << order, 0);&#x1f4cc…

C# vs2022 找不到指定的 SDK“Microsof.NET.Sdk

找不到指定的 SDK"Microsof.NET.Sdk 第一查 看 系统盘目录 C:\Program Files\dotnet第二 命令行输入 dotnet --version第三 检查环境变量总结 只要执行dotnet --version 正常返回版本号此问题即解决 第一查 看 系统盘目录 C:\Program Files\dotnet 有2种方式 去检查 是否…

Pytest断言全解析:掌握测试验证的核心艺术

Pytest断言全解析&#xff1a;掌握测试验证的核心艺术 一、断言的本质与重要性 什么是断言&#xff1f; 断言是自动化测试中的验证检查点&#xff0c;用于确认代码行为是否符合预期。在Pytest中&#xff0c;断言直接使用Python原生assert语句&#xff0c;当条件不满足时抛出…

【编译原理】题目合集(一)

未经许可,禁止转载。 文章目录 选择填空综合选择 将编译程序分成若干个“遍”是为了 (D.利用有限的机器内存,但降低了执行效率) A.提高程序的执行效率 B.使程序的结构更加清晰 C.利用有限的机器内存并提高执行效率 D.利用有限的机器内存,但降低了执行效率 词法分析…

uni-app项目实战笔记13--全屏页面的absolute定位布局和fit-content自适应内容宽度

本篇主要实现全屏页面的布局&#xff0c;其中还涉及内容自适应宽度。 创建一个preview.vue页面用于图片预览&#xff0c;写入以下代码&#xff1a; <template><view class"preview"><swiper circular><swiper-item v-for"item in 5&quo…

OVS Faucet Tutorial笔记(下)

官方文档&#xff1a; OVS Faucet Tutorial 5、Routing Faucet Router 通过控制器模拟三层网关&#xff0c;提供 ARP 应答、路由转发功能。 5.1 控制器配置 5.1.1 编辑控制器yaml文件&#xff0c;增加router配置 rootserver1:~/faucet/inst# vi faucet.yaml dps:switch-1:d…

PCB设计教程【大师篇】stm32开发板PCB布线(信号部分)

前言 本教程基于B站Expert电子实验室的PCB设计教学的整理&#xff0c;为个人学习记录&#xff0c;旨在帮助PCB设计新手入门。所有内容仅作学习交流使用&#xff0c;无任何商业目的。若涉及侵权&#xff0c;请随时联系&#xff0c;将会立即处理 1. 布线优先级与原则 - 遵循“重…

Phthon3 学习记录-0613

List&#xff08;列表&#xff09;、Tuple&#xff08;元组&#xff09;、Set&#xff08;集合&#xff09;和 Dictionary&#xff08;字典&#xff09; 在接口自动化测试中&#xff0c;List&#xff08;列表&#xff09;、Tuple&#xff08;元组&#xff09;、Set&#xff08…

UVa12298 3KP-BASH Project

UVa12298 3KP-BASH Project 题目链接题意输入格式输出格式 分析AC 代码 题目链接 UVa12298 3KP-BASH Project 题意 摘自 《算法竞赛入门经典&#xff1a;训练指南》刘汝佳&#xff0c;陈锋著。有删改。 你的任务是为一个假想的 3KP 操作系统编写一个简单的 Bash 模拟器。由于操…

云打包生成的ipa上传构建版本经验分享

在上架ios应用&#xff0c;在苹果开发者中心操作的时候&#xff0c;需要提供一个构建版本&#xff0c;如下图所示&#xff1a; 点击蓝色加号&#xff0c;添加构建版本&#xff0c;但是点击蓝色加号后&#xff0c;并没有构建版本可以选。 原因是需要下载下面它推荐的工具来上传…

ESP32的spi通讯(Arduino)

目录 一.基本配置 1.esp32-wroom-32引脚图 2.接线方式 3.Arduino芯片选择和库文件 3.1Arduino配置&#xff08;2.0.11&#xff09; 3.2 下载ESP32SPISlave库&#xff08;0.6.8&#xff09;文件 二、代码编写 1.主机代码 2.从机代码 3.注意事项 三、运行效果 一.基本…

Spring-rabbit重试消费源码分析

在集成RabbitMQ与Spring Boot 3.1.x时&#xff0c;RetryOperationsInterceptor 是实现消息重试机制的关键组件。这里将深入分析 RetryOperationsInterceptor 的工作原理&#xff0c;尤其是在消费者消费失败时的行为&#xff0c;并结合底层源码进行详解。 一、配置解析 首先&a…

如何使用JacksonTypeHandler处理mysql json字符串转List对象的问题

在使用mysql5.7或更高版本时&#xff0c;json类型字段应用场景越来越多&#xff0c;对于普通的对象或者List<Integer>、List<String>这些基础类型&#xff0c;jacksonTypeHandler都能很好的处理&#xff0c;如下&#xff1a; 1、定义一个person对象 import com.f…

华为云Flexus+DeepSeek征文 | 基于Dify构建股票分析助手

华为云FlexusDeepSeek征文 | 基于Dify构建AI 图片生成应用 一、构建股票分析助手前言二、构建股票分析助手环境2.1 基于FlexusX实例的Dify平台2.2 基于MaaS的模型API商用服务 三、构建股票分析助手实战3.1 配置Dify环境3.2 配置Dify工具3.3 创建股票分析助手3.4 使用股票分析助…