Я получаю ORA-00904: «DBMS_METADATA». «GET_DDL»: ошибка неверного идентификатора при запуске dbms_metadata.
Эта ошибка из-за неправильного имени столбца или псевдонима. Я не уверен, почему я получаю это.
Вот код, показывающий ошибку: я создаю таблицу:
create table test_table (
column1 varchar2(300));
Я вставляю строку данных:
insert into test_table values (55);
Я пытаюсь получить DDL для него:
SELECT DBMS_METADATA.GET_DDL('TABLE','test_table') FROM dual;
Вот ошибка:
>> SELECT DBMS_METADATA.GET_DDL('TABLE','test_table') FROM dual
*
Error at line 1
ORA-00904: "DBMS_METADATA"."GET_DDL": invalid identifier
Я проверил разрешения, и, похоже, у меня есть правильные разрешения:
select * FROM DBA_ROLE_PRIVS where granted_role = 'SELECT_CATALOG_ROLE';
Мой пользователь (он же схема) находится в этом списке.
Вот, как я считаю, документы: https://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_metada.htm#i1016867