Alguém sabe selecionar alguns usuários de um DUMP FULL?

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
Avatar do usuário
wbarrence
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Qui, 06 Out 2011 10:30 am
Localização: SP
--
WABS

Olá Pessoal!!!

Aqui na empresa todo dia é gerado um dump full do Banco de Dados (Política da Empresa), e muitas vezes eu tenho que atualizar alguns ambientes: Desenv, Testes e Homolog, todavia eu não preciso atualizar todos os usuários do dump full, com exceção de 3 usuários, alguém como eu posso importar com o "impdp" somente esses 3 usuários???

Att,
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Ola wbarrence,

Pelo que eu pude consultar nos foruns da ORACLE, você poderia usar duas sintaxes para importar schemas específicos de seu DUMP full.

Selecionar tudo

REMAP_SCHEMA=schema1:schema1,schema2:schema2,schema3:schema3

ou então:

SCHEMAS=schema1,schema2,schema3
Um link onde você pode obter maiores informações se encontra abaixo:

http://download.oracle.com/docs/cd/B141 ... m#BEHFIEIH

Abraços,

Sergio Coutinho
Avatar do usuário
wbarrence
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Qui, 06 Out 2011 10:30 am
Localização: SP
--
WABS

Olá Sergio Coutinho,

E se o DUMP FULL foi gerado a partir de um EXP, existe como selecionar usuários ou tablespaces?

Att,
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Então wbarrence,

Se você gerou o DUMP com EXP, recomendo que use o programaIMP para a importação dos dados.

Os parâmetros neste caso são

Selecionar tudo

IMP ..... FROMUSER=schema1,schema2,schema3 TOUSER=schema1,schema2,schema3 ....
Abraços,

Sergio Coutinho
Avatar do usuário
wbarrence
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Qui, 06 Out 2011 10:30 am
Localização: SP
--
WABS

Olá Sérgio Coutinho,

Desde já fico agradecido pela sua ajuda, na verdade não fui eu quem gerou o DUMP FULL através do EXP, se fosse eu pelo menos teria usado o EXPDP, sendo que neste caso, sei que na verdade o ideal seria o RMAN, mas agora é que empresa está investindo em Banco de Dados, e este de um FULL que é gerado a partir do EXP, é um processo da empresa que vou alterar com certeza.

Só mais uma pergunta para tirar dúvida, o antigo DBA extraía do DUMP FULL que é composto por 89 tablespaces, apenas 3 tablespaces. Existe alguma maneira de fazer isso somente utilizando o comando IMP, citando somente os nomes das tablespaces?

Eu tentei extrair por usuários com um comando similar ao que você me passou, mas deu um monte de erros de grant's e contraint's. O pessoal me falou que da maneira que o antigo DBA fazia por tablespace, não acontecia nenhum tipo problema com as constraint's e nem com os grant's.

Mas até agora não descobri a forma que o antigo DBA fazia!!!

Att,
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

wbarrense,

Eu não estou acostumado com este forma de export e import de dados.

Uma pergunta básica: você está antes limpando o banco de dados do destino? Em outras palavras, quando você faz o EXP e IMP de um usuário (digamos XPTO), você está apagando os objetos deste XPTO na base que vai receber este import?

Seja como for, existe uma forma de exportar e importar tablespaces que é chamado TRANSPORTABLE TABLESPACES, mas eu não o conheço a fundo e não saberia dizer se você conseguirá transferir os dados de um usuário específico, pois em teoria, não há relação/amarração entre USUARIO e TABLESPACE.

Eu não cheguei a testar o TRANSPORTABLE TABLESPACE, mas você pode consultar abaixo um artigo de ARUP NANDA (um DBA norte-americano que deu palestra no encontro GUOB do ano passado. O link do artigo se encontra abaixo:

http://www.rampant-books.com/art_otn_tr ... tricks.htm

Abraços e boa sorte,

Sergio Coutinho
Avatar do usuário
wbarrence
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Qui, 06 Out 2011 10:30 am
Localização: SP
--
WABS

Perfeito Sérgio Coutinho,

Todavia eu ainda acho que o DBA aqui da empresa não deve ter usado o transportable tablespace, acho que ele nem deve saber que existe!!! Mas de qualquer forma vou fazer mais alguns testes, e ver se consigo transportar as tablespaces.

Só para complementar, antes de realizar o import, dou um drop user cascade nos usuários que serão atualizados e que foram indicados no momento de realizar o export, mas ainda tenho muitos erros parecidos com o erro abaixo:

Selecionar tudo

Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
ORA-39083: Object type OBJECT_GRANT failed to create with error:
ORA-01917: user or role SAGRE_1_2_REL' does not exist
Failing sql is:
GRANT SELECT ON "SAGRE_1_2"."TBL_ACIONAMENTOS_TI" TO "SAGRE_1_2_REL"
ORA-39083: Object type OBJECT_GRANT failed to create with error:
ORA-01917: user or role 'SAGRE_1_2_REL' does not exist
Responder
  • Informação
  • Quem está online

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