这篇文章主要为大家展示了“Oracle 12.2如何使用dbms_redefinition.redef_table过程来重定义表的存储属性”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle 12.2如何使用dbms_redefinition.redef_table过程来重定义表的存储属性”这篇文章吧。

Oracle 12.2使用dbms_redefinition.redef_table过程来重定义表的存储属性,下面的例子将介绍使用redef_table过程来联机重定义表的存储属性,原始表名为test,存储在pm方案中:

SQL>descpm.testNameTypeNullableDefaultComments---------------------------------------AD_IDNUMBER(6)YAD_TEXTCLOBY

表test中的LOB数据类型列ad_text使用BasicFile LOB存储,执行下面的语句来创建索引test_idx

SQL>createindexpm.test_idxonpm.test(ad_id)tablespaceusers;Indexcreated

表test将按以下规则进行联机重定义:
.表使用高级行压缩来进行压缩
.表的存储表空间从users变为example
.索引压缩使用compress 1选项
.索引的存储表空间也从users变为example
.表中的LOB类型列ad_text使用compress high选项进行压缩
.LOB类型列ad_text的存储空间从users变为example
.LOB类型列ad_text变为SecureFiles LOB存储

联机重定义操作如下:
1.用要执行联机重定义操作的用户登录数据库

SQL>connpm/pm@jypdbConnected.

2.执行dbms_redefinition.redef_table过程

SQL>execdbms_redefinition.redef_table(uname=>'PM',tname=>'TEST',table_compression_type=>'ROWSTORECOMPRESSADVANCED',table_part_tablespace=>'EXAMPLE',index_key_compression_type=>'COMPRESS1',index_tablespace=>'EXAMPLE',lob_compression_type=>'COMPRESSHIGH',lob_tablespace=>'EXAMPLE',lob_store_as=>'SECUREFILE');PL/SQLproceduresuccessfullycompleted.

3.查看重定义结果

以上是“Oracle 12.2如何使用dbms_redefinition.redef_table过程来重定义表的存储属性”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!