Erro no impdp, ORA-39083: Tipo de objeto TABLE

Backup, Recover, Import, Export, Datapump, etc
Responder
dejambo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 68
Registrado em: Qua, 27 Jun 2012 8:58 am

Bom dia.

Hoje tentei subir um dump usando o impdp e surigiu o seguinte erro:

ORA-39083: Tipo de objeto TABLE:"schema"."tabela" falhou ao ser criado com o erro:
ORA-00922: opção não encontrada ou inválida

Isso ocorreu somente com uma das tabelas do dump. Qual seria o motivo deste erro?

Orbigado.
dejambo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 68
Registrado em: Qua, 27 Jun 2012 8:58 am

Alguém teria uma ideia do por que desse erro? seria problema na exportação?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Foi só esse erro que deu?
Coloque pra gente um pouco mais do log e nos informe a versão do seu banco.
:roll:
dejambo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 68
Registrado em: Qua, 27 Jun 2012 8:58 am

Bom Dia dr_gori.

Versão do banco: Release 11.2.0.1.0.

Mais sobre o log:

Selecionar tudo

Processando o tipo de objeto SCHEMA_EXPORT/TABLE/TABLE
ORA-39083: Tipo de objeto TABLE:"USER"."TABELA" falhou ao ser criado com o erro:
ORA-00922: opção não encontrada ou inválida
O código sql com falha é:
CREATE TABLE "USER"."TABELA" ("NRO_INT_PI" NUMBER(10,0) NOT NULL ENABLE, "NRO_INT_COND_USUARIO" NUMBER(8,0) NOT NULL ENABLE, "NRO_INT_PESSOA_PROP_TERRA" NUMBER(8,0), "NRO_INT_DISTRITO" NUMBER(8,0), "NRO_INT_BACIA" NUMBER(8,0) NOT NULL ENABLE, "NRO_INT_CORPO_HIDRICO" NUMBER(8,0), "NRO_INT_TIPO_INTERVENCAO" NU
Processando o tipo de objeto SCHEMA_EXPORT/TABLE/TABLE_DATA
Processando o tipo de objeto SCHEMA_EXPORT/TABLE/COMMENT
Processando o tipo de objeto SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processando o tipo de objeto SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processando o tipo de objeto SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processando o tipo de objeto SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processando o tipo de objeto SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
O job "SYSTEM"."SYS_IMPORT_TABLE_01" foi concluído com 1 erro(s) em 10:51:58
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, bom dia.

Só uma dúvida minha neste export, você utilizou algum parfile? Caso positivo, teria como passar pra gente?
Essa tabela que está dando erro, está no mesmo OWNER dos demais ?

Valeu mesmo.

Abraço,

Trevisolli
dejambo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 68
Registrado em: Qua, 27 Jun 2012 8:58 am

Olá Trevisoli.

Na verdade não foi eu que fiz o export, eu recebi esse dump e tenho que subir qui no meu ambiente local. Segue um trecho do log de exportação. O owner é o mesmo sim.

Selecionar tudo

Export: Release 11.2.0.4.0 - Production on Mon Jul 13 16:07:33 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
;;; Legacy Mode Active due to the following parameters:
;;; Legacy Mode Parameter: "consistent=TRUE" Location: Command Line, Replaced with: "flashback_time=TO_TIMESTAMP('2015-07-13 16:07:33', 'YYYY-MM-DD HH24:MI:SS')"
;;; Legacy Mode has set reuse_dumpfiles=true parameter.
Starting "NOME"."SYS_EXPORT_SCHEMA_02":  NOME/******** dumpfile=nome:dump.dp logfile=nome:log.log schemas=schema exclude=grant flashback_time=TO_TIMESTAMP('2015-07-13 16:07:33', 'YYYY-MM-DD HH24:MI:SS') reuse_dumpfiles=true 
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 7.118 GB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Uma outra dica, seria você "extrair" o DDL que ele está tentando importar (através do parâmetro sqlfile) e, tentar executar "na mão", para ver onde está o erro com essa tabela:

Selecionar tudo

$ impdp directory=expdir dumpfile=myexp.dmp sqlfile=ddl.sql
Fonte: http://www.dba-oracle.com/t_data_pump_s ... ameter.htm

Tenta fazer isso e, ver o que contém neste sql gerado.

Qualquer coisa, manda pra gente.
Abraço,

Trevisolli
dejambo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 68
Registrado em: Qua, 27 Jun 2012 8:58 am

Boa Tarde Trevisolli.

Gerei o arquivo .sql como você sugeriu e notei que na tabela existe o seguinte comando de criação:

Selecionar tudo

LOB ("CAMPO") STORE AS BASICFILE "BASICFILE"(
        TABLESPACE "P_128M" ENABLE STORAGE IN ROW CHUNK 16384
       NOCACHE LOGGING 
       STORAGE(INITIAL 131072 NEXT 4194304 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT       CELL_FLASH_CACHE DEFAULT)) ;
Copiei e colei o script de criação da tabela e deu erro justamente nesse parte em

Selecionar tudo

 LOB ("CAMPO") STORE AS BASICFILE "BASICFILE"
O erro é o seguinte:

Selecionar tudo

ORA-22850:duplicar a opção de armazenamento LOB especificada
Fiz um teste substituindo o nome "BASICFILE" por outro ou pelo mesmo nome em minusculo e deu certo. O problema pode estar aí, mas não sei dizer o que ocorreu ao certo.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Que bom que achou o prolema.
Essa parte de segmento de lob, tem uma explicação da própria Oracle aqui:
http://docs.oracle.com/cd/B28359_01/app ... tables.htm

Agora pode tentar realizar o teu import.

Qualquer dúvida, manda pra gente.

Grande abraço,

Trevisolli
dejambo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 68
Registrado em: Qua, 27 Jun 2012 8:58 am

Muito Obrigado Trevisolli pela ajuda.

Vou tentar descrever aqui qual foi a solução do problema em questão:

1) Foi executado o seguinte comando para gerar um script com o DDL no arquivo de exportação:

Selecionar tudo

impdp DIRECTORY=MEU_DIR DUMPFILE=exp.dp SQLFILE=meu_sql_file.sql
2)Com o arquivo .sql gerado copiei e colei o script de criação da tabela que deu o erro e tentei cria-la no meu banco. Percebi que era um erro na criação do armazenado do LOB, então renomei com um outro nome e a tabela foi criada.

3)Com a tabela criada no meu banco, executei novamente o impdp somente da tabela com problema com o parâmetro table_exists_action=APPEND. Com isso o oracle verifica se a tabela já existe, se existe ele faz os inserts na tabela que está vazia criada no passo anterior.

Selecionar tudo

impdp user@sid directory=meu_dir dumpfile=exp.dp tables=tabela_com_problema table_exists_action=APPEND
Assim minha tabela foi populada.

Obrigado a todos pela ajuda.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes