AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 49527
Accepted
Roeland Van Heddegem
Roeland Van Heddegem
Asked: 2013-09-10 06:01:06 +0800 CST2013-09-10 06:01:06 +0800 CST 2013-09-10 06:01:06 +0800 CST

Falha ao ativar a redefinição baseada em edição com ora-33819. Eu poderia perguntar por quê?

  • 772

Desejo habilitar a redefinição baseada em edição para um usuário. A execução deste comando fornece uma exceção ORA-33819:

ALTER USER user ENABLE EDITIONS;

Eu sei que há uma opção para habilitá-lo com o parâmetro Force

ALTER USER user ENABLE EDITIONS FORCE;

mas como essa operação é retroativa e irreversível, prefiro ver de antemão por que ela falhou. Alguém sabe como obter uma lista de problemas antes de alterar o usuário?

Trabalhando em um Oracle 12.1.0.1.0

oracle
  • 2 2 respostas
  • 1392 Views

2 respostas

  • Voted
  1. Balazs Papp
    2013-09-11T04:56:02+08:002013-09-11T04:56:02+08:00

    Você pode consultar algo assim:

    select o.owner, o.object_name, o.object_type, edition_name, editionable from dba_dependencies d, dba_objects o 
    where o.owner = d.referenced_owner
    and o.object_name = d.referenced_name
    and d.owner = 'USER'
    and o.editionable = 'Y'
    and o.edition_name is NULL;
    

    Isso listará os objetos referenciados pelo usuário 'USER', que são editáveis, mas não possuem nenhuma edição - evitando assim que você habilite o EBR para 'USER'.

    • 0
  2. Best Answer
    Roeland Van Heddegem
    2013-09-17T00:27:39+08:002013-09-17T00:27:39+08:00

    1) Primeiro você precisa ter certeza de que não há ADT (Abstract Data Types) mais evoluídos:

    select t.*
    from DBA_TYPE_VERSIONS t
    where Owner = 'USER'
      and t.version# > 1;
    

    Você precisa redefinir todos esses tipos antes de ativar a redefinição baseada em edição para um usuário.

     ALTER TYPE *TYPE_NAME* RESET;
    

    Restrição ao RESET: Não é possível especificar RESET se o tipo tiver algum dependente de tabela (direto ou indireto)

    Link: Instrução ALTER TYPE

    2) Se você tiver tabelas baseadas em esquemas XML, terá que mover a definição para outro esquema e recriar a tabela com base nessa definição. É um pouco estranho, porém, eu esperava que esses tipos fossem gerados "NONEDITIONABLE" por padrão?

     select *
     from USER_XML_SCHEMAS;
    

    Link: Armazenamento de esquema XML

    3) Se você estiver usando o Advanced Queueing, elimine suas filas e tipos e recrie os tipos com a propriedade NONEDITIONABLE:

    select * --> Look for "Object_Type" = Type_Name
    from User_Queue_Tables;
    
    drop queue ...;
    drop type *TYPE_NAME*;
    
    create NONEDITIONABLE type *TYPE_NAME* as ...;
    create queue ...;
    

    Então, isso fez isso por mim

    • 0

relate perguntas

  • Backups de banco de dados no Oracle - Exportar o banco de dados ou usar outras ferramentas?

  • ORDER BY usando prioridades personalizadas para colunas de texto

  • Interface sqlplus confortável? [fechado]

  • Como encontrar as instruções SQL mais recentes no banco de dados?

  • Como posso consultar nomes usando expressões regulares?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Conceder acesso a todas as tabelas para um usuário

    • 5 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve