standingzzz's Oracle memo

OracleSQLチューニングの豊富な経歴を生かして、主に11gと12cのオプティマイザ動作の違いなどについて、実用的な検証結果をメモしています。

Oracle12c Centos7 VARCHAR2のカラム長の拡張を検証 Part3.

概要

Part2.の続きです。
拡張データ型カラムの追加、変更、インデックスの作成を検証します。

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
CentOS Linux release 7.3.1611 (Core) 

検証

拡張データ型カラムの追加、変更
拡張データ型カラムへのインデックス作成
MAX_STRING_SIZEをSTANDARDに変更(ダメ元)

MAX_STRING_SIZEを変更して、拡張データ型カラムを作成することは特に難しいことはないものの、
インデックスはあるサイズになると作成出来なかったり、設定は元に戻せないということもあるので、
本番DBに適用するのは慎重に検討した方が良さそうです。

Oracle12c Centos7 VARCHAR2のカラム長の拡張を検証 Part2.

概要

Part1.の続きです。
マニュアルの記載に沿ってMAX_STRING_SIZEを変更してみます。

しかし、

MAX_STRING_SIZEの値はSTANDARDからEXTENDEDに変更できます。
ただし、MAX_STRING_SIZEの値をEXTENDEDからSTANDARDには変更できません。

この仕様はちょっと怖いですね。もしも本番DBに適用して、不可避なバグでも踏んでしまったら・・・

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
CentOS Linux release 7.3.1611 (Core) 

検証

MAX_STRING_SIZEの変更
MAX_STRING_SIZEの確認

変更したPDBにテストユーザで接続して、

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         4 PDBORCL2                       READ WRITE NO
SQL>

MAX_STRING_SIZEがEXETENDEDに変更されていることを確認出来ました。

SQL> show parameter max_string_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_string_size                      string      EXTENDED
SQL>

Part3.では、拡張データ型カラムの追加、変更、インデックスの作成を検証します。

Oracle12c Centos7 VARCHAR2のカラム長の拡張を検証 Part1.

概要

PDBのVARCHAR2の最大サイズを増加する」を検証していきます。
テーブル、インデックスを事前に作成して、カラムのmodify、add、そのカラムに対するインデックスの作成を実施します。
VARCHAR2(4000)やCLOBにインデックス貼りたいという要望は、結構あるのですよね。

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
CentOS Linux release 7.3.1611 (Core) 

検証

拡張実施前の準備色々

Part2.では、MAX_STRING_SIZEを変更します。