Pergunta

Estou importando um despejo de banco de dados de uma instalação do Oracle 10G para outra. A fonte possui um layout com vários espaços de tabela. O destino possui um espaço de tabela padrão para o usuário em que estou importando o despejo.

Tudo funciona bem, para tabelas comuns. As tabelas são realocadas do espaço de tabela original para o padrão do usuário. O problema que estou enfrentando, várias tabelas contêm clobs com diretivas de armazenamento explícitas. Ou seja, eles nomeiam seu espaço de tabela de armazenamento. O comando IMP parece não conseguir realocar esses clobs para o espaço de tabela padrão do usuário.

Existe alguma opção de linha de comando oculta para o comando IMP realocar o armazenamento CLOB para o espaço de tabela padrão do usuário ou até mesmo um tabela de tabela de nome?

A mensagem de erro Oracle 959 se parece com o seguinte:

IMP-00017: Nachfolgende Anweisung war wegen Oracle-Fehler 959 erfolglos:
 "CREATE TABLE "IF_MDE_DATA_OUT" ("OID" NUMBER(10, 0) NOT NULL ENABLE, "CLIEN"
 "T_OID" NUMBER(10, 0) NOT NULL ENABLE, "TS_CREATE" TIMESTAMP (6) NOT NULL EN"
 "ABLE, "TS_UPDATE" TIMESTAMP (6) NOT NULL ENABLE, "OP_CREATE" VARCHAR2(30) N"
 "OT NULL ENABLE, "OP_UPDATE" VARCHAR2(30) NOT NULL ENABLE, "IDENTIFIER" VARC"
 "HAR2(50), "TRANSFERTYPE" VARCHAR2(20) NOT NULL ENABLE, "STORE" NUMBER(10, 0"
 "), "DATUM" DATE, "STATE" NUMBER(3, 0) NOT NULL ENABLE, "DATA_OLD" LONG RAW,"
 " "SUPPLIER" NUMBER(10, 0), "BUYER" NUMBER(10, 0), "GOODS_OUT_IDS" VARCHAR2("
 "4000), "CUSTOM_FIELD" VARCHAR2(50), "DATA_ARCHIVE" BLOB, "DATA" BLOB)  PCTF"
 "REE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1"
 " FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "DATA32M" LOGGING NOCOMP"
 "RESS LOB ("DATA_ARCHIVE") STORE AS  (TABLESPACE "DATA32M" ENABLE STORAGE IN"
 " ROW CHUNK 8192 PCTVERSION 10 NOCACHE LOGGING  STORAGE(INITIAL 65536 FREELI"
 "STS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)) LOB ("DATA") STORE AS  (TABLE"
 "SPACE "DATA32M" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10 NOCACHE LOGG"
 "ING  STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAUL"
 "T))"
IMP-00003: ORACLE-Fehler 959 aufgetreten
ORA-00959: Tablespace 'DATA32M' nicht vorhanden
Foi útil?

Solução

Você pode pré-criar a tabela usando os parâmetros de armazenamento necessária e definir a importação para ignorar erros.

Outras dicas

Como Karl, eu recomendo Datadump, mas use REMAP_TABLESPACE

Se você estiver usando dumps da bomba de dados, poderá experimentar a opção REMAP_SCHEMA para corrigir o espaço de tabela.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top