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

Backup, Recover, Import, Export, Datapump, etc
  

Mensagemem Sex, 10 Jul 2015 11:33 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

Mensagemem Qui, 23 Jul 2015 11:10 am

Alguém teria uma ideia do por que desse erro? seria problema na exportação?
dejambo

Mensagemem Qui, 23 Jul 2015 12:07 pm

Foi só esse erro que deu?
Coloque pra gente um pouco mais do log e nos informe a versão do seu banco.
:roll:
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Sex, 24 Jul 2015 10:44 am

Bom Dia dr_gori.

Versão do banco: Release 11.2.0.1.0.

Mais sobre o log:

Código: Selecionar todos
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
dejambo

Mensagemem Seg, 27 Jul 2015 10:57 am

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
Trevisolli
Localização: Araraquara - SP

Abraço,

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

Mensagemem Seg, 27 Jul 2015 4:39 pm

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.

Código: Selecionar todos
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
dejambo

Mensagemem Qua, 29 Jul 2015 11:57 am

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:

Código: Selecionar todos
$ impdp directory=expdir dumpfile=myexp.dmp sqlfile=ddl.sql


Fonte: http://www.dba-oracle.com/t_data_pump_sqlfile_parameter.htm

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

Qualquer coisa, manda pra gente.
Abraço,

Trevisolli
Trevisolli
Localização: Araraquara - SP

Abraço,

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

Mensagemem Qua, 29 Jul 2015 3:08 pm

Boa Tarde Trevisolli.

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

Código: Selecionar todos
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 LOB ("CAMPO") STORE AS BASICFILE "BASICFILE". O erro é o seguinte:

Código: Selecionar todos
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.
dejambo

Mensagemem Qua, 29 Jul 2015 3:21 pm

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/appdev.111/b28393/adlob_tables.htm

Agora pode tentar realizar o teu import.

Qualquer dúvida, manda pra gente.

Grande abraço,

Trevisolli
Trevisolli
Localização: Araraquara - SP

Abraço,

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

Mensagemem Qua, 29 Jul 2015 4:05 pm

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:

Código: Selecionar todos
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.

Código: Selecionar todos
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.
dejambo



Voltar para DBA Backup / Recover

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante