<Oracle基本的数据存储机制-表>

微软悄悄移除了记事本?盘点5款替代Notepad++的免费文本编辑器(Win10/11可用) 微软在Windows10系统更新中移除了经典记事本应用,本文推荐5款专业级免费文本编辑器替代方案,包括Notepad++、Notepad3、VS Code等,帮助用户提升文本编辑效率。这些工具支持语法高亮、多标签管理等专业功能,适用于开发者和日常办公场景。 阅读详情

表是Oracle数据库中最基本的数据存储结构,是一种逻辑结构,建议大家去读一些关于sql的书籍一般都有提到一些基本的概念,这里就不做详细讲解了。为了后面的内容继续,我在这里只做简单的提及。

     Oracle的数据类型:

数据的存储类型:标量数据类型、集合数据类型和关系数据类型。

1 > 标量数据类型:

               VARCHAR2(szie)/NVARCHAR2(size): 它们的size默认为1,最大为4000,都是变长字符型数据,它会依据存储数据的长度进行动态分配存储区,定义该数据类型是需要指定长度,后者是它支持全球化数据类型,支持定长和变长字符集。

              CHAR(szie)/NCHAR(szie) : 该数据类型一旦定义,则存储变量的存储区的大小就固定下来。最小和默认SZIE为1,最大为2000.

              DATE: Oracle服务器使用7个定长的存储区存储日期类型数据,它可以是月、年、日、时、分、秒。范围是公元前4712年1月1日到公元9999年12月31日。

              NUMBER(p,s) : 参数p指十进制数中的长度,s为小数点后位数,p最大为38,最小为1,s最大为124 ,最小为-84。

             CLOB或LONG:用于存储大数据对象,该对象为定长的字符型数据,如论文等,对于clob数据类型的列的操作不能直接使用Oracle数据库指令,需要一个DBMS_LOB的PL/SQL软件包来维护该数据类型的列。

              BLOB 或LONG RAW:存储无结构的大对象,如相片、ppt等,bolb也需要DBMS_LOB来实现。

              BFILE:在操作系统文件中存储无结构的二进制对象,它是一个Oracle外部数据类型,必须有操作系统来维护。

              RAW:可以直接存储二进制,在计算机之间传输此类型数据时,数据库不需要做任何类型转换,所以存储和传输效率较高,最大长度为2000个字节。

  (注:long 和 long raw是Oracle8以前的用的,现在LONG 数据类型完全可以用clob 和blob数据类型替换)           

2 >集合数据类型:

              Oracle集合数据类型包括嵌套表和VARRY数据类型。在嵌套表的列值中又包含表,嵌套表中的元素数量没有限制,当然不能超过表所在的表空间,VARRY中的元素是有数量限制的。

3 >关系数据类型

              REF指向一个对象,Oracle中常用的就是游标了cursor。

以上就是我们常用的存储类型了。

贴士:

在讲述建表前我们来解释下Oracle常用的rowid的含义,概念:它是数据库中每一行的唯一标识符,作为列它是隐式存储的,不直接给出行的物理地址,但是可以用它来定位行,提供了最快速的访问表中行的方法。前6位为数据对象号,在数据库中每个对象都是唯一的。接着三位为相当文件号,它和表空间中的一个数据文件对应。接着4位为块号,块号为相对文件中存储该行的快的位置,最后三位为行号,行号标识块头中行目录的位置,而使用该行目录的位置可以找到行的起始地址,这个了解即可 不需要深究。

 

建表

标准:命名简单,但具有具体的含义;每个表都有一个表空间,这样便于管理和维护;使用EXTENT尺寸减少表空间碎片;表名最大字符30个。

创建一个普通表:

------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL>CREATE TABLE scott.temp_emp(emp_id numebr(4),ename varchar2(30),emp_sex char) TABLEspace users;

------------------------------------------------------------------------------------------------------------------------------------------------------------------

一旦使用DDL语句创建了表对象,对象的信息如表名,表存储的表空间等将记录在数据字典中,数据字典后期再说,数据字典表 dba_tables中可以看到传教的表。

------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL>select owner,table_name, tablespace_name from dba_tables where owner='SCOTT';

------------------------------------------------------------------------------------------------------------------------------------------------------------------

创建表的时候如果不指定表用户和空间则默认为当前用户和空间创建该表。

在创建表的时候,Oracle推荐一个表最好放在一个表空间而且该表空间是本地管理的(减少维护数据字典的负担),所以假如我们已经创建了一个本地的表空间,可以使用更多的参数在本地管理表空间中创建的表,如何创建一个表空间呢?

------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL> create TABLEspace lin datafile 'd:\temp\lin.dbf' size 30M extent management local uniform size 1M;

       表空间已创建。

SQL>CREATE TABLE scott.temp_emp(emp_id numebr(4),ename varchar2(30),emp_sex char)

      2   storage(inital 100k next 100k pctincrease 0 minextents 1 maxextents 8)

      3   TABLEspace lin;

      表已创建。

------------------------------------------------------------------------------------------------------------------------------------------------------------------

storage中 initial指该表数据量增加时,需要的自动分配磁盘空间第一次分配为100K,第二次也是100K,所分配的最大磁盘为8个extends。最小为1个,pctincrease是一个权值参数,从第三次开始按规则计算:next*(1+pctincrease/100)的(n-2)次方,其中n>=3。

验证表是否创建成功

------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL> select table_name,tablespace_name,initial_extent,next_extent

2          from dba_tables where owner ='SCOTT' and table_name='tmp_emp';

table_name                         tablespace_name           initial_extent              next_extent

--------------------                  ----------------------------          ---------------          --------------------------

    tmp_emp                                   LIN                                102400                    1048574

------------------------------------------------------------------------------------------------------------------------------------------------------------------

创建临时表:

               它是一个非常特殊的表,只对当前用户的当前会话有效。目的就是是的某些操作效率更高,临时表中的数据时当前会话的私有数据,当前会话只操作自己的数据,没有数据锁的征用,这极大提高了临时表操作的效率。

------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL> create global temporary table

2          SCOTT.emp_temporary on commit preserve rows as

3          select  *  from scott.emp where job = 'MANAGER';

表已创建。

------------------------------------------------------------------------------------------------------------------------------------------------------------------

这种临时表删除切记要先关闭当前session 然后再去删除。

验证是否成功创建了临时表

------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL> select owner,table_name,tablespace_name

2        from dba_tables

3        where table_name='EMP_TEMPORARY';

OWNER                          TABLE_NAME                     TABLESPACE_NAME

------------------------           ----------------------------                 -----------------------------------

SCOTT                         EMP_TEMPORARY

------------------------------------------------------------------------------------------------------------------------------------------------------------------

 切记如果你查不出来请核对下你的表名是否大写了,由上可知临时表默认是不放在表空间中的,也不存放在临时表空间中,而是存储在临时段中,他是一个磁盘区,当SQL语句执行查询时,如果需要对返回的数据进行排序,oracle首先需要在内存完成排序工作,如果内存容量不够,就需要把计算的中间结果放在临时段中。

查看创建的是否为临时表

------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL>select table_name,tablespace_name,temporary

2       from dba_tables

3       where  owner='SCOTT'

4       and   table_name='EMP_TEMPORARY';

TABLE_NAME                          TABLESPACE_NAME                     TEMPORARY

----------------------------           ------------------------------------------------------       -----------------------

EMP_TEMPORARY                                                                                Y

------------------------------------------------------------------------------------------------------------------------------------------------------------------ 

查询临时表输出结果 

------------------------------------------------------------------------------------------------------------------------------------------------------------------ 

 

SQL> desc SCOTT,EMP_TEMPORARY

名称                                      是否为空?      类型
-----------------------------------------    -------         -------------------
U_ID                                                         NUMBER
U_NAME                                                 VARCHAR2(40)

------------------------------------------------------------------------------------------------------------------------------------------------------------------ 

 

段空间管理(这个地方比较乏味 因为都是概念 知道就好)

段空间管理不仅仅是指表段的空间管理,其他段数据都需要自己的段管理方式,段是oracle的一个逻辑结构,表段是最常用的一类段,但我们向表中插入数据、删除数据时以及修改数据时都会造成段空间变化,此时段空间的回收和分配就是一个问题,在9i之前oracle都是手动段空间管理,此时需要用户自己设置FREELIST、PCTUSED、PCTFREE等参数。9i以后开始使用自动段空间管理(ASSM),它使用位图来管理段空间的使用情况。如果表空间ASSM,则表空间中的段自然也是ASSM。在ASSM中FREELIST、PCTUSED都被忽略,手工段空间管理的MAXTRANS参数在10g中被所有段忽略。

HWM(高水位线)

对于表段使用属于“高水位线”来标记使用过的数据块的边界对于新建的表,高水位线位于第一个块,随着时间的推移,这些表段中存入数据,高水位线会随之移动。如果删除了表中的数据,此时某些数据块即使为空,如果对表进行全表扫描,此时依然保持高水位线的高度,但是在发生表重建、TRUNCATE以及SHINK时会调整高水位线,调整后的高水位线下的数据块都包含数据。使用truncate 而不是使用 delete删除表中的所有数据,此时会调整高水位线到表段的第一个数据块。

行迁移

是指某一行的数据量过大,导致该行无法存储在创建这行的数据块中,此时oracle就会使得该行离开原来的块,存储到另一个块中,该行的原始块和新块之间使用rowid记录这种变迁关系,使得原始行知道后续数据存储的位置。所以如果某行插入的数据过大,导致该行即使通过空闲空间合并也无法放下新插入的数据,此时oracle就考虑使用行迁移,将无法放下的行数据插入到新的数据块中,虽然可行,请尽量避免。

索引组织表(IOT)

它是一个特殊的表,它将数据和索引存储在一起,安装索引的结构来组织和存储表中的数据。它的存储结构不是堆组织表。堆中数据时无序的,而索引组织表中的数据是按照某个主键排序后存储的,然后再以B tree的组织结构存储在数据段中。索引组织表对于经常使用主键字段来实现查询的事物非常高效,索引组织表的主键约束不能被删除、延期和禁止。它使用的场合

           完全由主键组成的表。这样的表如果采用堆组织表,则表本身完全是多余的开销,因为所有的数据同样也保存在索引里,此时堆表是没用的。

           如果你只会通过一个主键来访问一个表,这样的表也比较合适。

           数据以某种特点的顺序物理存储,如果经常在一个主键或唯一键上使用between查询,也是如此。

下面就从一个实例来简单介绍 IOT 表的结构

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL> create table tiot

2        (x int primary key,

3         y number,

4         z varchar2(20))

5         organization index;

表已创建。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

查看创建的表

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL> select DBMS_METADATA.GET_DDL('TABLE','TIOT') FROM DUAL;

          DBMS_METADATA.GET_DDL('TABLE','TIOT')

       -----------------------------------------------------------------------------------

        create table "SYS","TIOT"

        (    "X"  NUMBER(*,0),

             "Y" NUMBER,

             "Z" VARCHAR2(20),

             PRIMARY KEY("X") ENABLE

          )ORGANIZATION INDEX NOCOMPRESS PCTFREE 10 INITRANS 2 MAXTRANS 255 LOGGING STORAGE

     (INITIAL 45534 NEXT 1048574 MINEXTENTS 2147483445 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS1 BUFFER_POOL DEFAULT)

     TABLESPACE "SYSTEM"

     PCTTHRESHOLD 50 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

注意:创建IOT时,必须要设定主键,否则报错,索引组织表实际上将所有数据都放入了索引中。

ORGANIZATION INDEX :说明这是一个索引组织表

OVERFLOW:允许我们创建一个新段,如果IOT的行记录太大,则可以存储到这个新段上去。那么什么时候使用这个新段就要去看PCTTHRESHOLD和INCLUDING这两个参数。

INCLUDING:行中从第一列直到INCLUDING所指定的列的所有列数据都存储在索引块上,其余列存储在溢出段上。

PCTTHRESHOLD:如果行中的数据量超过了数据块大小的百分比,行中其余的数据就要放入溢出段了。

COMPRESS:和普通的索引一样,索引组织表也可以使用COMPRESS子句进行键压缩以消除重复值。具体的操作时,在 organization index之后加上COMPRESS,n的意义在于指定压缩的列数,默认无穷大。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL> create table iot_test

2        (x int,

3         y number,

4         z varchar2(20),

5         constraint iot_test_pk primary key(x)

6            )

7          organization index

8          prcthreshold 10

9          including y

10        overflow tablespace users;

表已创建。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以上组织索引表大家可是尝试一下

下面就讲讲表参数以及参数维护:

Heap Table 就是一般的表,获取表中的数据时按命中率来得到的。没有什么明确先后之分,在进行全表扫描的时候不是说先插入的数据就先获取,数据存放是随机的,当然根据可用空闲的空间决定。

IOT 就类似是一个全是索引的表,表中所有子都放在索引上,所以就等于约定了数据存放的时候是按照严格规定的,在数据插入以前其实就已经确定了数据的顺序,所以不管插入先后顺序,都没关系,当然插入数据的时候就稍微慢些。在创建表的时候我们用到的表空间和storage参数,如initial、next、pctincrease 等,而在数据库维护过程中,这些参数是不允许变化的,但是oracle管理器和控制块,引入了4个参数,当使用手工管理进行段空间管理时需要设置一下几个参数:

INTRANS:是控制对数据块并行操作的参数(这里介绍一下事物槽的概念:事物槽在数据块头中,存储了有关事务的控制信息,而每行数据都有一个锁位,该锁位号和事物槽号相同,数据块服务器就是通过每行的锁位找到数据块头中的事物槽,利用存储在该事物槽中的事务信息完成对该行数据的操作。每个事务只使用一个事物槽)定义了创建数据块时事物槽的初始值,该参数默认值为1,如该参数为2,说明数据库服务器实现在一个数据块中可以有最多2个并行的事务,每个事务独立地并行通过自己的事物槽还实现对该行数据的事务操作。

 

 

 

这些东西知道就可以了有个概念不必深究。下面讲的东西希望大家都能熟练使用。当然如果说的不对的希望读者能给出指正,相互学习。

 

 

 

 

 

 

 

 

 

 

 

 

如何在 Ubuntu 24.04 或 22.04 上安装和使用 GDebi 本文介绍了在Ubuntu 24.04上安装和使用GDebi的方法。GDebi是DPKG的轻量级替代品,能够自动解析并安装.deb包的依赖项。文章详细说明了系统更新、安装GDebi的步骤,并演示了通过GUI和CLI两种方式安装.deb包的操作流程。此外,还提供了验证安装和卸载包的方法。GDebi虽然非必需,但为用户提供了处理依赖项的另一种选择,适合需要安装本地Debian包的用户。 阅读详情

相关推荐

RTAB-MAP实战:用Realsense D435i在ROS中搭建室内3D地图(附避坑指南)

本文详细介绍了如何在ROS环境下,使用Intel Realsense D435i深度相机和RTAB-MAP算法进行室内3D地图构建的完整实战流程。内容涵盖环境配置、核心节点数据流解析、关键参数调优、地图保存与重定位,并提供了实用的避坑指南,帮助机器人开发者和研究者快速实现稳定的视觉SLAM应用。

weixin_29095049的博客 490

Oracle数据库- 03命名规范、数据类型

表名和列名:SQL:为了构建易读易编的有效语句,其规则和准则如下:字段类型中文说明限制条件其它CHAR 固定长度字符串 最大长度2000 bytesVARCHAR2 可变长度的字符串最大长度4000 bytes varchar2中文占2字节,英文占1字节。NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytesNvarchar2中英文占一样的字节,具体占多少字节因字符集而定。DATE日期(日-月-年),时间可有可无YYYY-MM-DD(HH24:MI:SS)TIMESTAMP(6)

Richgui的博客 1841

时序分析28 - 时序预测 格兰杰因果关系(中) python实践1

时序分析28 - 时序预测 - 格兰杰因果关系(中) Python 实践 1 上一篇文章我们介绍了格兰杰因果关系的基本概念、背景以及相关统计检验法。本篇文章我们使用Python编程实践一下。 实践1:股票价格数据之间的格兰杰因果关系 问题:苹果公司今天的股价是否可以用来预测明天的特斯拉的股价? 数据:来自雅虎财经 import matplotlib.pyplot as plt import seaborn as sns import numpy as np import pandas as pd 读入数据

weixin_43171270的博客 8836

oracle 12c (内存列存储)IM column store

IM column store ,内存列存储

charels 1992

5分钟搞定Nano-Banana图片编辑API对接:从Base64编码到生成图片全流程

本文详细介绍了如何快速对接Nano-Banana图片编辑API,基于gemini-2.5-flash-image-preview模型,从环境准备、Base64编码到API调用的全流程。通过实战示例和优化技巧,帮助开发者高效集成AI图片处理能力,提升产品竞争力。

dog123的博客 259

实战分享:如何用本地替换和插桩调试搞定Kasada最新版x-kpsdk-cd环境检测

本文深入解析Kasada最新版x-kpsdk-cd环境检测机制,提供动态请求拦截、本地替换和函数插桩等实战调试策略。通过Proxy保护破解、关键函数断点调试和环境检测对抗方案,帮助逆向工程师有效应对从280位扩展到294位的加密数组挑战,实现高效补环境调试。

weixin_29251567的博客 569

oracle 12c 内存列式存储选项(基础知识)

内存列式存储(IM column store)(此特性在12cr1(12.1.0.2)版本后开始可用)是系统全局区中一个可选的部分,表中的数据是以列的形式而不是行的形式存储在内存里面的,如下图所示.在针对某列作查询的应用场景中,列式存储能极大地提升语句的执行速度. IM的列存储在SGA中一个新的静态池。传统的表数据是以行为单位存储,列作为行的一个个片断,列式存储是以一种新的列格式。每个...

weixin_30892037的博客 422

人工智能训练师三级考试题型全解析|190道真题样例+30天备考路线

人工智能训练师三级考试并不神秘:理论考190道选择题(刷题就能过),实操考代码+方案设计(练练就会)。核心是花时间——30天系统备考,足以从容通过。如果你想从零开始系统备考,覆盖所有考点和实操技能,欢迎查看我的专栏:📖《人工智能训练师三级·从零到拿证完全指南》80篇系统化内容,覆盖报名、备考、冲刺、拿证全流程六大模块知识点逐个击破,每个考点都讲透实操代码题手把手教学,附带完整参考代码高频考点速记 + 易错题精讲 + 3套模拟试卷30天备考计划 + 冲刺复习策略。

白话机器学习 6072

深入理解Oracle表(7):10种表类型的数据存储和适用场景浅析

本博文Think主要从两个问题着手:       ① 在哪些情况下某种类型的表比其他表类型更适用?       ② 不同类型的表其数据是如何组织和存储的?              闲言少叙,一家之言,欢迎拍砖:              ㈠ 堆组织表                    ⑴ 数据存储                          如果把一个区当作一个箱子,那么一个表就是一组

记录创业路上的一些想法 3100

基于 PCL 的工业盒体点云精准分割

本文提出一种基于PCL点云库的工业盒体点云分割算法,采用由粗到精的分层策略解决传统方法在噪声、稀疏和堆叠场景下的分割问题。算法通过区域生长粗分割、RANSAC平面筛选、球面回溯补全、凹包边界提取和圆柱回溯精分割五大核心模块,充分利用盒体几何先验特征,实现高效精准的分割效果。文章详细阐述了算法流程、参数调优指南及工程化要点,指出该方法相比深度学习具有速度快、鲁棒性强、部署简单的优势。同时分析了算法在倾斜、异形目标上的局限性,并展望了结合深度学习特征的混合模型发展方向。该算法为工业自动化场景中的3D视觉检测提供

weixin_45196569的博客 172

微软推出突破性AI医疗诊断系统MAI-DxO:诊断准确率85.5%,是医生的4倍,成本更低

微软推出医疗AI系统MAI-DxO,通过多AI模型协作实现高效诊断,准确率达85.5%,是传统医生团队的4倍。该系统整合自然语言处理、计算机视觉等技术,模拟专家会诊流程,显著降低医疗成本60%。具备罕见病识别、基层医疗支持等功能,同时注重伦理安全和可解释性。微软计划开放部分架构,推动医疗AI普惠化。这一突破标志着医疗AI从单点工具向系统级智能的跨越,有望重塑更精准、高效的智能医疗未来。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 637

Oracle表类型:选择最适合的数据存储方案

Oracle数据库常见的表类型有以下几种:普通堆表、全局临时表、分区表、索引组织表和簇表。

renkejia1988的博客 924

YOLO26改进策略【Neck】| arXiv 2025 分层多头注意力HMHA 子空间拆分提多样 + 通道重排降冗余,强化目标检测精度

HMHA(Hierarchical Multi-Head Attention,分层多头注意力)旨在解决传统多头注意力(MHA)在图像恢复任务中的核心缺陷——特征冗余。传统MHA将通道均匀拆分给各个头,导致不同头学习的子空间信息相似,进而出现多头关注同一区域、忽略退化区域修复的问题,限制了模型的特征表达能力。HMHA通过“分层子空间拆分+通道重排序”策略,让每个头学习差异化、互补的上下文特征,从根源上缓解冗余,提升图像恢复任务中对复杂退化场景的特征捕捉能力。

Limiiiing的博客 210

oracle数据类型分配,Oracle数据类型

Oracle数据类型字符类型CHAR 、 NCHAR VARCHAR2 、 NVARCHAR2 LONGNUMBER 数值类型NUMBER 日期类型TIMESTAMPRAW、LONG RAW 其它类型LOBBFILEXMLTYPE及用户自定义类型1、CHAR及VARCHAR2类型如果对某个CHAR类型字段/变量赋值,其长度小于规定的长度,那么Oracle自动用空格填充;如果大于规定的长度,则出错...

weixin_39715652的博客 305

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

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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

浅谈Oracle存储管理(一):存储结构

Oracle数据库浅谈存储管理第1篇:存储结构。 逻辑结构:块、区、段、表空间;物理结构:数据文件。

但行好事,莫问前程 2996

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

数据库的存储原理

1. 数据存取 在数据库管理系统中,数据的存取过程为: 应用程序通过 DML 向 DBMS 发出存取请求,如 SELECT 语句; 对命令进行语法检查,正确后检查语义和用户权限(通过数据字典 DD),并决定是否接收; 执行查询优化,将命令转换成一串单记录的存取操作序列; 执行存取操作序列; 在缓冲区中找记录,若找到转 10,否则转 6; 查看存储模式,决定从哪一个文件,用什么方式读取物理记录; 根据 6 的结果向操作系统(OS)发出读取记录的命令; OS 执行该命令,并读取记录数据; 在 OS 控制下,将

qq_45378738的博客 9188

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Oracle数据库的体系结构(上)——存储结构

Oracle数据库系统由Oracle数据库和Oracle实例组成,分别对应着数据库的存储结构和软件结构。

weixin_62616638的博客 1609

oracle按列存储,oracle 12c (内存列存储)IM column store

oracle 12c (内存列存储)IM column store1.关于内存列存储的说明1)内存列存储是SGA里的一个静态的池。以列为单位的方存储元数据。不替代buffer pool,只是其的补充。因此oracle可以存储列或行的方式存储元数据在内存里。2)列存储的数据可以压缩,且sql查询语句直接访问压缩数据3)当你想把对象放到列存储里时,可以控制对象的优先级。4)支持的版本为12.1.0.2...

weixin_34805048的博客 728

计算机数据存储机制

1 主存存取原理   目前计算机使用的主存基本都是随机读写存储器(RAM),现代RAM的结构和存取原理比较复杂,这里本文抛却具体差别,抽象出一个十分简单的存取模型来说明RAM的工作原理。   从抽象角度看,主存是一系列的存储单元组成的矩阵,每个存储单元存储固定大小的数据。每个存储单元有唯一的地址,现代主存的编址规则比较复杂,这里将其简化成一个二维地址:通过一个行地址和一个列地址可以唯一定位到一个存储单元。上图展示了一个4 x 4的主存模型。 1.1 主存的存取过程   当系统需要读取主存时,则将地址信号放

lingdian23的专栏 3121

oracle内部机制,Oracle-内部存储机制(概念)

事务数据库的事务:处理数据的最小的功能模块begin执行语句;end;事务四个特性原子性独立的最小的功能模块一致性一个模块中所有的事务应该同时成功或者失败隔离性模块和事务之间不会互相影响都是完成各自的功能持久性数据应该是永久保存的锁锁:一个人在操作某个数据的时候,另一个人不能对这个数据同时进行操作分类按修改的范围分类行锁A用户update或者delete某行数据的时候,B用户不能再去对这行数据做任...

weixin_32815027的博客 317

Oracle学习笔记:INITRANS和MAXTRANS参数的作用

每个块都有一个块首部。这个块首部中有一个事务表。事务表中会建立一些条目来描述哪些事务将块上的哪些行/元素锁定。这个事务表的初始大小由对象的INITRANS 设置指定。对于表,这个值默认为2(索引的INITRANS 也默认为2)。事务表会根据需要动态扩展,最大达到MAXTRANS 个条目(假设块上有足够的自由空间)。所分配的每个事务条目需要占用块首部中的23~24 字节的存储空间。注意,对于Orac

老紫竹的专栏 1万+

oracle中PCTFREE, PCTUSED, INITRANS, MAXTRANX参数

1. PCTFREE 要形容一个 BLOCK 的运作,我们可以把一个 BLOCK 想成一个水杯。侍者把水倒入放在我们面前的水杯,要多满呢,我们要求他倒 9 分满好了,这时候 PCTFREE 代表着设定为 10 ,意思就是说,当 BLOCK 使用到达 90% 的时候,就不可以在使用了,这个 BLOCK 应该从 FREELIST 列表中移除 (un-link) 。为何要保留 10% 的空间呢?这是为...

zhangziyueup 679

Oracle中INITRANS和MAXTRANS参数

每个块都有一个块首部。这个块首部中有一个事务表。事务表中会建立一些条目来描述哪些事务将块上的哪些行/元素锁定。这个事务表的初始大小由对象的INITRANS 设置指定。对于表,这个值默认为2(索引的INITRANS 也默认为2)。事务表会根据需要动态扩展,最大达到MAXTRANS 个条目(假设块上有足够的自由空间)。所分配的每个事务条目需要占用块首部中的23~24 字节的存储空间。注意,对于Orac

lanyuxinkong的专栏 2万+

Oracle 12c in memory 组件浅谈

随着信息搜集技术的不断成熟,大量的公司已经积累了海量的数据,于是有大量的客户需要一种能够对大量数据进行实时分析的技术来满足决策支持类型的应用,实现对海量数据的实时分析。与此同时,越来越多的企业用户也需要能够满足混合型应用,即传统的OLTP应用和OLAP应用同时运行的数据库系统,实现基于实时数据的决策支持。随着Oracle 12c推出了in memory组件,使得Oracle数据库具有了双模式数据存...

rnifeasy 1274

[转]Oracle中INITRANS和MAXTRANS参数

每个块都有一个块首部。这个块首部中有一个事务表。事务表中会建立一些条目来描述哪些事务将块上的哪些行/元素锁定。这个事务表的初始大小由对象的INITRANS 设置指定。对于表,这个值默认为2(索引的INITRANS 也默认为2)。...

cnmcsdn8786的博客 295
上一篇: 《Oracle 网络配置 本人最感兴趣的章节之一》
下一篇: Ext 树节点属性操作总结
leaf_ping
博客等级 码龄16年 1粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值