CSS for code highlight

26 июля 2021

SQL Developer -- "Unable to render TABLE DDL for object OBJECTNAME with DBMS_METADATA attempting internal generator" или "ORA-06502: PL/SQL: numeric or value error ..." во время выполнения DBMS_METADATA.GET_DDL

В SQL Developer (ver 4.0.3.16) при просмотре информации по объекту на вкладке SQL выдается сообщение типа:

-- Unable to render TABLE DDL for object OBJECTNAME with DBMS_METADATA attempting internal generator

Это связано с тем, что он не может использовать dbms_metadata.get_ddl. Так же и при выполнении запроса

SELECT DBMS_METADATA.GET_DDL('TABLE','T_SOMETABLE') FROM dual;

возникает ошибка:

ORA-06502: PL/SQL: numeric or value error
LPX-00210: expected '<' instead of 'n'
ORA-06512: at "SYS.UTL_XML", line 0
ORA-06512: at "SYS.DBMS_METADATA_INT", line 3688
ORA-06512: at "SYS.DBMS_METADATA_INT", line 4544
ORA-06512: at "SYS.DBMS_METADATA", line 466
ORA-06512: at "SYS.DBMS_METADATA", line 629
ORA-06512: at "SYS.DBMS_METADATA", line 1246
ORA-06512: at line 1
06502. 00000 -  "PL/SQL: numeric or value error%s"
*Cause:    An arithmetic, numeric, string, conversion, or constraint error
           occurred. For example, this error occurs if an attempt is made to
           assign the value NULL to a variable declared NOT NULL, or if an
           attempt is made to assign an integer larger than 99 to a variable
           declared NUMBER(2).
*Action:   Change the data, how it is manipulated, or how it is declared so
           that values do not violate constraints.

И т.к. с привилегиями все в порядке, то скорее всего необходимо перегрузить XML API (в restrict режиме):

shutdown immediate;
startup restrict;

-- from $ORACLE_HOME/rdbms/admin
-- to remove the xml subsystem:

@$ORACLE_HOME/rdbms/admin/catnomet.sql
@$ORACLE_HOME/rdbms/admin/rmxml.sql

-- and after that, to reload it:

@$ORACLE_HOME/rdbms/admin/catxml.sql
@$ORACLE_HOME/rdbms/admin/utlcxml.sql
@$ORACLE_HOME/rdbms/admin/prvtcxml.plb
@$ORACLE_HOME/rdbms/admin/catmet.sql

PS: После перезагрузки XML API все заработало.

Ссылки:
[1] DBMS_METADATA Error
[2] ORA-06502: PL/SQL: numeric or value error While Exporting in Oracle 10g

Комментариев нет:

Отправить комментарий

Последнее...

CURL вместо Postman / Swagger