DBMS_MAX_STRING_SIZEパッケージ
DBMS_MAX_STRING_SIZEパッケージは、DBMS_MAX_STRING_SIZE初期化パラメータの値をチェックおよび変更するためのインタフェースを提供します。
CHECK_MAX_STRING_SIZEファンクション
このファンクションは、MAX_STRING_SIZEパラメータを特定の値に更新できるかどうかを確認し、パラメータの更新を妨げる違反のリストを戻します。
構文
DBMS_MAX_STRING_SIZE.CHECK_MAX_STRING_SIZE(
new_value IN VARCHAR2)
RETURN DBMS_MAX_STRING_SIZE_TBL;パラメータ
| パラメータ | 説明 |
|---|---|
|
|
設定する新しい |
使用上のノート
戻りリストが空の場合、違反はなく、MAX_STRING_SIZE更新を実行できます。
例
SELECT * FROM TABLE(DBMS_MAX_STRING_SIZE.CHECK_MAX_STRING_SIZE('STANDARD'));
TYPE OBJECT_OWNER OBJECT_NAME COLUMN_NAME REASON
------ ------------ ----------- -------------- ---------------------------------------------
COLUMN ADMIN SALES CUST_NOTES Physical column exceeds STANDARD length limit
1 rows selected.
MODIFY_MAX_STRING_SIZEプロシージャ
このプロシージャは、MAX_STRING_SIZEパラメータの値を特定の値に更新します。
構文
DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE(
new_value IN VARCHAR2);
この場合、user_accountはユーザー・アカウント名(スキーマ名)です。
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
設定する新しい |
使用上のノート
-
DBMS_MAX_STRING_SIZEを使用すると、MODIFY_MAX_STRING_SIZEは、元に戻すことができない一方向の変更です。VARCHAR2、NVARCHAR2およびRAWデータ型で最大4000バイト長のサポートをサポートするSTANDARDスタイルにデータベースを切り替えた後、EXTENDEDデータ型を再有効化することはできません。 -
ADMINユーザーには、
DBMS_MAX_STRING_SIZEに対するEXECUTE権限のWITH GRANT OPTION句が付与されます。 このパッケージのGRANT EXECUTEは他のユーザーに対して実行しないことをお薦めします。 -
エラー
ORA-20000は、MAX_STRING_SIZEの更新を妨げるオブジェクトが存在する場合に発生します。 -
ADMINユーザーには、
DBMS_MAX_STRING_SIZEに対するEXECUTE権限WITH GRANT OPTION句が付与されます。 Oracleでは、このパッケージのGRANT EXECUTEを他のユーザーに対して行わないことをお薦めします。
例
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME = 'max_string_size';
NAME VALUE
max_string_size EXTENDED
BEGIN
DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE('STANDARD');
END;
/
PL/SQL procedure successfully completed.
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME = 'max_string_size';
NAME VALUE
max_string_size STANDARD