12c 扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE

0    145    1

Tags:

👉 本文共约5455个字,系统预计阅读时间或需21分钟。

目录

    Database SQL Language Reference ---- 》》 Data Types

    12c 扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE

    在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中的扩展的数据类型只是针对 非CDBPDB 而言的,而 CDB的根容器不支持扩展的数据类型 ,即使在根容器中修改成功也不能在CDB的根容器中创建超过 4000 字节的列。

    ②  从Oracle 12.2版本开始,可以在不修改 MAX_STRING_SIZE 参数的情况下创建最大 32767 字节的列,但是,实际最大存储依然是 4000 字节。所以,要想真正支持扩展数据类型,那么必须修改 MAX_STRING_SIZE 参数,而且运行相关脚本 utl32k.sql 和 utlrp.sql 。

    与早期版本相比,诸如 VARCHAR2, NAVARCHAR2 这些数据类型的大小会从 4K 字节扩展至 32K 数据类型的使用。为了启用扩展字符大小,你必须将 MAX_STRING_SIZE 。

    要使用扩展字符类型需要执行以下过程:
    1.关闭数据库
    2.以升级模式重启数据库
    3.更改参数: ALTER SYSTEM SET MAX_STRING_SIZE=EXTENDED;
    4.执行 utl32k.sql as sysdba :SQL> @?/rdbms/admin/utl32k.sql
    5.关闭数据库
    6.以读写模式重启数据库

    varcha2、nvarchar2和raw字段的定义长度将影响字段的内部存储方式

    本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
    12c 扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章!
    验证码:
    请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

    标签:

    Avatar photo

    小麦苗

    学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

    您可能还喜欢...

    发表回复

    嘿,我是小麦,需要帮助随时找我哦。
    • 18509239930
    • 个人微信

    • DB宝
    • 个人邮箱
    • 点击加入QQ群
    • 个人微店

    • 回到顶部