oracle12C中max,【12c】扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE

Oracle 12C允许VARCHAR2、NVARCHAR2和RAW数据类型的最大大小提升至32767字节,通过设置MAX_STRING_SIZE为EXTENDED启用此功能。扩展数据类型在行外存储,且有特定限制,如不支持聚簇表、并行DDL等。启用扩展数据类型涉及数据库重启、脚本执行等步骤,并需注意对CDB和PDB的不同处理。在启用后,原有索引可能需要重建。
摘要由CSDN通过智能技术生成

Database SQL Language Reference

----

》》

Data Types

9436c2b9d8c0c83c745015d144e8fce9.png

在Oracle Database 12c中,可以指定

VARCHAR2

NVARCHAR2

RAW

数据类型的最大大小为

32767

字节。这样,用户便可以在数据库中存储更长的字符串。在本发行版之前,

VARCHAR2和

NVARCHAR2

数据类型的最大大小为

4000

字节,

RAW

数据类型的最大大小为

2000

字节

。声明的VARCHAR2、

NVARCHAR2

RAW

列长度影响如何在内部存储列。

•声明列长度为

4000

字节或更少的

VARCHAR2

NVARCHAR2

列以及声明列长度为

2000

字节或更少的

RAW

列在行内存储。

•声明列长度大于

4000

字节的

VARCHAR2

NVARCHAR2

列以及声明列长度大于

2000

字节的

RAW

列称为“扩展字符数据类型列”,它们在行外存储。

MAX_STRING_SIZE控制

SQL

中扩展数据类型的最大大小:

STANDARD

表示在

Oracle 12c

之前使用的数据类型长度限制。

EXTENDED

表示

Oracle Database 12c

中的

32767

字节限制。

扩展字符数据类型具有以下限制:

•在聚簇表和按索引组织的表中不受支持。

•没有分区内并行

DDL

UPDATE

DELETE DML

•对于在使用自动段空间管理

(Automatic Segment Space Management,ASSM)

进行管理的表空间中存储的表,没有分区内并行直接路径插入。

对比

LOB

数据类型,在

ASSM

表空间管理中,扩展数据类型的字段以

SecureFiles LOB

加以存储,而在非

ASSM

表空间管理中,它们则是以

BasciFiles LOB

进行存储的。

注意点:

Ø

不能将值从EXTENDED更改为

STANDARD

The only way to revert is to restore the database from backup prior to running the conversion script, $ORACLE_HOME/rdbms/admin/utl32k.sql

Ø

在RAC环境中,要关闭所有实例。只有将数据库实例参数

MAX_STRING_SIZE

设置为

EXTENDED

后,才能创建包含扩展字符数据类型列的表。

RAC

环境中所有

RAC

节点上

MAX_STRING_SIZE

初始化参数的值也必须相同。

Ø

需要特别注意的是:

Oracle 12c中的扩展的数据类型只是针对

非CDB

PDB

而言的,而

CDB的根容器不支持扩展的数据类型

,即使在根容器中修改成功也不能在CDB的根容器中创建超过

4000

字节的列。

从Oracle 12.2版本开始,可以在不修改

MAX_STRING_SIZE

参数的情况下创建最大

32767

字节的列,但是,实际最大存储依然是

4000

字节。所以,要想真正支持扩展数据类型,那么必须修改

MAX_STRING_SIZE

参数,而且运行相关脚本

utl32k.sql</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值