zoukankan      html  css  js  c++  java
  • Oracle 12C 新特性之扩展数据类型(extended data type)

    Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节。只要可能,扩展字符的大小会降低对LOB数据类型的使用。为了启用扩展字符大小,你必须将MAX_STRING_SIZE的初始数据库参数设置为EXTENDED。

    实验流程:
    1.查看参数max_string_size默认值
    SQL> show parameter max_string_size
    NAME     TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    max_string_size     stringSTANDARD
    说明:12C 参数max_string_size默认值是standard,即不改变varchar2、nvarchar2、和raw数据类型的大小限制,和11g保持一致。
    2. 关闭数据库
    SQL> shutdown immediate;
    3. 以升级模式重启数据库
    SQL> startup upgrade;
    3. 更改参数: ALTERSYSTEM SET MAX_STRING_SIZE=EXTENDED;
    SQL> alter system  set max_string_size=extended scope=spfile;
    System altered.
    4. 执行 utl32k.sql as sysdba:

    SQL> @$ORACLE_HOME/rdbms/admin/utl32k.sql

    说明:如果环境是cdb+pdb,那么所有的cdb + pdb$seed + pdb 都需要在 startup upgrade; 状态下跑脚本 @$ORACLE_HOME/rdbms/admin/utl32k.sql 。不然,只扩展完cdb后,pdb不能打开,报ORA-14694: database must in UPGRADE mode to begin MAX_STRING_SIZE migration 。

    5. 检查一下有没有产生失效对象
    SQL> select count(*) from dba_objects where status<>'VALID';
      COUNT(*)
    ----------
    0
    6. 关闭数据库
    SQL> shutdown immediate;
    7. 以读写模式重启数据库
    SQL> startup;
    8.检查参数max_string_size , 与失效对象。
    SQL> show parameter max_string_size
    NAME     TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    max_string_size     stringEXTENDED
    SQL> select count(*) from dba_objects where status<>'VALID';
      COUNT(*)
    ----------
    0
    9. 测试
    SQL> create table t_32k (name varchar2(32000)); 
    Table created.
    SQL> insert into t_32k values('andy'); 
    1 row created.
    SQL> select * from t_32k;
    NAME
    --------------------------------------------------------------------------------
    andy

    对比LOB数据类型,在ASSM表空间管理中,扩展数据类型的字段以SecureFiles LOB加以存储,而在非ASSM表空间管理中,它们则是以BasciFiles LOB进行存储的。

    注意:一旦更改,你就不能再将设置改回STANDARD。

  • 相关阅读:
    VMware虚拟机下如何安装一个64位的win7系统
    无人驾驶刚刚开始的未来
    Ruby on Rails开发Web应用的基本概念
    Hibernate学习(1)简单介绍
    Linux pipe 源代码分析
    【知识梳理1】Android触摸事件机制
    【CODEFORCES】 C. Dreamoon and Strings
    LightOJ
    [leetcode]Maximum Subarray
    25个增强iOS应用程序性能的提示和技巧 — 中级篇
  • 原文地址:https://www.cnblogs.com/andy6/p/6844666.html
Copyright © 2011-2022 走看看