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。

文章可以转载,必须以链接形式标明出处。


本文转自 张冲andy 博客园博客,原文链接:  http://www.cnblogs.com/andy6/p/6844666.html ,如需转载请自行联系原作者

相关文章
|
9月前
|
SQL 存储 Oracle
在Oracle 12c中,在RMAN方面有哪些增强的新特性?
在Oracle 12c中,在RMAN方面有哪些增强的新特性?
97 0
|
SQL 存储 Oracle
PostgreSQL Oracle 兼容性 - Oracle 19c 新特性在PostgreSQL中的使用
PostgreSQL Oracle 兼容性 - Oracle 19c 新特性在PostgreSQL中的使用
2563 0
|
SQL 存储 Oracle
PostgreSQL Oracle 兼容性 - Oracle 19c 新特性在PostgreSQL中的使用
标签 PostgreSQL , Oracle 兼容性 , Oracle 19c 背景 《PostgreSQL 覆盖 Oracle 18c 重大新特性》 Oracle 19c 新特性摘自盖老师《Oracle 19c 新特性及官方文档抢鲜下载》文章,其中有一些特性在PostgreSQL中很早以前已经支持。本文旨在介绍PG如何使用这些特性。 1.Data Guard 备库DML自动重定向
597 0
|
存储 关系型数据库 数据库
Oracle 11g 新特性(一)-- 虚拟列
数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bitOracle11g 增加了虚拟列的新特性, 具体说明如下:1> 只能在堆组织表(普通表)上创建虚拟列,不能在索引组织表、外部表、临时表上创建虚拟列2> 虚...
1218 0
|
SQL 存储 Oracle
分而治之:Oracle 18c 及 12.2 分区新特性的 N 种优化实践
很高兴,又和大家重聚在 DTCC 2018 的数据库性能优化专场。这次我想和大家分享与分区相关的优化特性,主要会和大家介绍一些 Oracle 最新的分区技术以及我们在日常运营中的最佳实践。
2540 0
推荐文章
更多
推荐镜像
更多