Importar DUMP varios schemas

Backup, Recover, Import, Export, Datapump, etc
Responder
alexandre_costa
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Seg, 25 Ago 2008 11:18 am
Localização: Nova Mutum-MT
Alexandre Costa


DBA Oracle

Informações do Ambiente:
* Versão do Oracle: 10G
* Sistema Operacional: RedHat 5

Boa tarde galera do forum,

Estou com um problema para importar um DUMP.
Tenho duas bases, uma de producao e outra de teste. Fiz um export full da base de producao( que tem muitos usuarios), fui subir o DUMP na base teste, segui os seguintes passos:

1 - Criei os usuario que existiam na producao na base teste, respeitando as tablespaces e cotas.
2 - Subi usuario por usuario ( com execao dos usuarios padraoes do oracle, sys, sysman.....)

Por ter varios usuarios, muitas ( MUITAS ) triggers não subiram, pois elas faziam referencia a outros usuarios, e as senhas não continuam as mesmas, pois quando criei os usuarios tive que colocar uma senha nova.

alguém saberia me dizer qual é o procedimento adequado para subir esse DUMP ? ( todas as triggres subirem sem ter que recria-las(na mao) e as senhas dos usuario ficarem igual a base de producao )
se precisa


abracos!
ricardocmoreno
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 51
Registrado em: Qua, 12 Mar 2008 2:11 am
Localização: São Bernardo - SP
Ricardo Moreno
DBA Oracle Pleno

“Só sei que nada sei, e o fato de saber isso, me coloca em vantagem sobre aqueles que acham que sabem alguma coisa.”
(Sócrates 470 a.C – 399 a.C)

gilbertoca
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 372
Registrado em: Ter, 24 Jan 2006 3:33 pm
Localização: Palmas - TO
Contato:

Você pode extrair os usuários da base original com o seguinte script:

Selecionar tudo

set pages 9999
set lines 180
set hea off
spool create_users_to_move.sql
select 'create user '||username||' identified by '||password||
' default tablespace '||default_tablespace||
' temporary tablespace '||temporary_tablespace||';'
from dba_users
where username not in ('DBSNMP','OUTLN','SYS','SYSTEM')
order by username;
spool off
--end of script

set pages 9999
set lines 180
set hea off
spool grants_for_users_to_move.sql
select 'grant '||granted_role||' to '||grantee||';'
from dba_role_privs
where grantee not in ('DBSNMP','OUTLN','SYS','SYSTEM')
order by grantee;
/*
select 'grant '||privilege||' on '||owner||'.'||table_name||
' to '||grantee||';'
from dba_tab_privs
where grantee not in ('DBSNMP','OUTLN','SYS','SYSTEM')
and owner not in ('SYS','SYSTEM','DBSNMP','OUTLN')
order by grantee;
*/
spool off
Você pode também importar os dados sem constraints em um primeiro momento e depois importar novamente sem dados mas com constraints:

Selecionar tudo

#Importando os dados sem as constraints
imp system/manager file=arquivo full=y grants=n constraints=n

Selecionar tudo

#Importando sem os dados com as constraints
 imp system/manager file=arquivo full=y grants=n constraints=y rows=n ignore=y
Isso pode ser feito usuário por usuário se desejar.

Gilberto
alexandre_costa
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Seg, 25 Ago 2008 11:18 am
Localização: Nova Mutum-MT
Alexandre Costa


DBA Oracle

Fala Gilberto,
Os grants não são problemas... basta eu criar todos os usuario antes de começar a importar.
Mas a senha... não tem como eu criar dessa maneira... pois o usuario ficara com a senha criptografada.. EX:
SENHA = teste CRIPTOGRAFIA= !@#

se eu criar o usuario com a senha CRIPTOGRAFADA ele ficara com a SENHA = !@#

Vlw pela força!

Abraços
Responder
  • Informação
  • Quem está online

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