Eu tenho um banco de dados Oracle 11g (11.2.0.1) em execução no Linux (x64). Dentro do banco de dados eu tenho um esquema e 33 tabelas para ele (todos no mesmo tablespace). Quando eu logar via sqlplus eu posso listar todas as tabelas via
SELECT OBJECT_NAME FROM USER_OBJECTS WHERE OBJECT_TYPE = 'TABLE';
Mas quando eu exporto o Tablespace usando
exp ... BUFFER=65536 FULL=N COMPRESS=N CONSISTENT=Y TABLESPACES=... FILE=...
Só exporta 24 das 33 tabelas.
Eu tentei exportar as tabelas ausentes via
exp ... TABLES=<missing_table> ...
Mas então recebo um erro:
EXP-00011: <schema>.<missing_table> does not exist
Como posso descobrir o que há de errado aqui?
Como posso exportar todas as tabelas?
ATUALIZAÇÃO:
Depois de seguir o conselho de Gary, encontrei a seguinte diferença entre as tabelas exportadas e ausentes. DDL de uma tabela exportada:
CREATE TABLE "MY_SCHEMA"."EXPORTED_TABLE" ( ... ) TABLESPACE "MY_TS" PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K BUFFER_POOL DEFAULT) LOGGING NOCOMPRESS
E agora o DDL de uma tabela não exportada:
CREATE TABLE "MY_SCHEMA"."MISSING_TABLE" ( ... ) TABLESPACE "MY_TS" PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( BUFFER_POOL DEFAULT) LOGGING NOCOMPRESS
Os DDLs acima foram gerados pelo Enterprise Manager. Os criados com o sqlplus continham nenhuma seção de ARMAZENAMENTO para as tabelas que faltavam.
Descobri que as tabelas são exportadas quando eu as reorganizo e coloco o valor de STORAGE INITIAL em 64K.
Problema resolvido. (Esperançoso;))