Eu tenho um usuário encarregado de implantar DDL em outros esquemas que não o seu.
Esse usuário pode criar uma tabela nesses esquemas, também pode criar sequências nesses esquemas.
Mas quando tento criar uma tabela com uma coluna GENERATED IDENTITY nesses esquemas,
o usuário encontra umaORA-01031: privileges insuffisants
Quando este usuário tenta criar a mesma tabela em seu próprio esquema, ele pode fazê-lo corretamente.
Este usuário recebeu os seguintes direitos:
GRANT CREATE ANY SEQUENCE TO ddl_role;
GRANT CREATE ANY TABLE TO ddl_role;
Aqui está um exemplo da consulta executada:
CREATE TABLE "sch1"."tab1"
( "col1" NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE NOKEEP NOSCALE)
TABLESPACE "sch1_data";
As seguintes consultas funcionam:
CREATE TABLE "sch1"."tab1"
( "col1" NUMBER )
TABLESPACE "sch1_data";
CREATE SEQUENCE "sch1"."seq1";
Referências:
https://oracle-base.com/articles/12c/identity-columns-in-oracle-12cr1