DBMS_MAX_STRING_SIZE-Package
Das Package DBMS_MAX_STRING_SIZE stellt eine Schnittstelle zum Prüfen und Ändern des Wertes des Initialisierungsparameters DBMS_MAX_STRING_SIZE bereit.
Funktion CHECK_MAX_STRING_SIZE
Diese Funktion prüft, ob der Parameter MAX_STRING_SIZE auf einen bestimmten Wert aktualisiert werden kann, und gibt eine Liste von Verletzungen zurück, die verhindern, dass der Parameter aktualisiert wird.
Syntax
DBMS_MAX_STRING_SIZE.CHECK_MAX_STRING_SIZE(
new_value IN VARCHAR2)
RETURN DBMS_MAX_STRING_SIZE_TBL;Parameter
| Parameter | Beschreibung |
|---|---|
new_value |
Gibt den neuen MAX_STRING_SIZE-Parameterwert an, der festgelegt werden soll. Der einzig gültige Wert ist:'STANDARD' . |
Hinweise zur Verwendung
Wenn die Retourenliste leer ist, gibt es keine Verletzungen, und die Aktualisierung von MAX_STRING_SIZE kann ausgeführt werden.
Beispiel
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.Prozedur MODIFY_MAX_STRING_SIZE
Diese Prozedur aktualisiert den Wert des Parameters MAX_STRING_SIZE auf einen bestimmten Wert.
Syntax
DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE(
new_value IN VARCHAR2);Dabei ist user_account der Benutzeraccountname (Schemaname).
Parameter
| Parameter | Beschreibung |
|---|---|
new_value |
Gibt den neuen MAX_STRING_SIZE-Parameterwert an, der festgelegt werden soll. Der einzig gültige Wert ist: 'STANDARD'. |
Hinweise zur Verwendung
-
Die Verwendung von
DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZEist eine unidirektionale Änderung, die nicht rückgängig gemacht werden kann. Nachdem eine Datenbank auf denSTANDARD-Stil zurückgeschaltet wurde, der eine maximale Länge von 4000 Byte für die DatentypenVARCHAR2,NVARCHAR2undRAWunterstützt, können Sie die DatentypenEXTENDEDnicht erneut aktivieren. -
Dem ADMIN-Benutzer wird die
WITH GRANT OPTION-Klausel der BerechtigungEXECUTEinDBMS_MAX_STRING_SIZEerteilt. Oracle empfiehlt, dass Sie in diesem Package nichtGRANT EXECUTEfür andere Benutzer verwenden. -
Der Fehler
ORA-20000wird ausgelöst, wenn ein Objekt vorhanden ist, das die Aktualisierung vonMAX_STRING_SIZEverhindern würde. -
Dem ADMIN-Benutzer wird die
WITH GRANT OPTION-Klausel der BerechtigungEXECUTEinDBMS_MAX_STRING_SIZEerteilt. Oracle empfiehlt, dass Sie in diesem Package nichtGRANT EXECUTEfür andere Benutzer verwenden.
Beispiel
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