Você já tentou fazer o export com owner= ? Vai trazer todos os objetos, grants que o usuário concede a outros usuários ou roles, etc... Tenta depois fazer o import com fromuser touser. Se não me engano, a única coisa que ele não traz é database link.
Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g _________________________________ DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mobile: 551192344290 fone: 551162165375 e-mail: [EMAIL PROTECTED] site: www.dbcom.com.br Carlos Henrique Correa wrote: > > Vc tem razão mas aí esta a questão, todos os passos apontados por vc: > verificar tablespaces, criar usuarios, etc, foram efetuados antes da > importação ser efetuada. Estes usuários foram criados novamente no > banco em Windows. > Por isso não entendemos o que aconteceu para que alguns objetos > (trigger, indexes, procedures, functions) não fossem migrados. Muitos > destes objetos foram migrados mas alguns não. Por exemplo um dos > usuários tem 1238 objetos e apenas 1046 foram importados. > > Obrigado pela ajuda. > > > > rflribeiro <[EMAIL PROTECTED] > <mailto:rflribeiro%40dbcom.com.br>> escreveu: > O problema neste caso não está relacionado ao exp/imp ou ao expdp/impdp. > O caso é que você não está trabalhando corretamente com os usuários. > Eu normalmente crio uma relação de usuários e roles a serem exportados > antes de efetuar a exportação. Cada um trabalha de um jeito... > > Verificar no banco origem quais os tablespaces que o usuário tem quota. > Criar os tablespaces no banco destino. > Criar o usuário no banco destino. > Criar os usuários e roles que precisam receber grants do usuário owner. > Verificar que alguns roles podem ter senha. > O script abaixo faz uma verificação do usuário owner e grants p/ > usuários e roles. No entanto, não trata da parte de criação de > tablespaces. Mas isso você pega facinho também na dba_ts_quotas. > > [EMAIL PROTECTED]> begin > 2 for cUsuario in (select distinct u.name, > 3 u.password, > 4 d.default_tablespace > 5 from user$ u, dba_users d > 6 where u.type# = 1 > 7 and u.name = d.username) loop > 8 dbms_output.put_line(''); > 9 dbms_output.put_line('create user ' || cUsuario.name); > 10 dbms_output.put_line('identified by values ''' || cUsuario.password > || ''''); > 11 dbms_output.put_line('default tablespace ' || > cUsuario.default_tablespace); > 12 dbms_output.put_line('temporary tablespace temp'); > 13 dbms_output.put_line('quota unlimited on ' || > cUsuario.default_tablespace); > 14 dbms_output.put_line('quota unlimited on ' || > replace(cUsuario.default_tablespace, 'DADO', 'INDICE')); > 15 dbms_output.put_line('profile default account unlock;'); > 16 dbms_output.put_line(''); > 17 dbms_output.put_line('grant connect, resource to ' || cUsuario.name > || ';'); > 18 dbms_output.put_line(''); > 19 for cRoles in (select distinct p.grantee, > 20 decode(u.password, '', ' not identified;', ' identified by values > ''' || u.password || ''';') password > 21 from dba_tab_privs p, user$ u > 22 where p.grantor = cUsuario.name > 23 and u.name = p.grantee) loop > 24 dbms_output.put_line('create role ' || cRoles.grantee || > cRoles.password); > 25 end loop; > 26 dbms_output.put_line(''); > 27 dbms_output.put_line('-- > ---------------------------------------------------------- --'); > 28 end loop; > 29 end; > 30 / > > create user ADMINISTRATOR > identified by values 'D91F53B5F30C5B90' > default tablespace ITSUMARE_DADO > temporary tablespace temp > quota unlimited on ITSUMARE_DADO > quota unlimited on ITSUMARE_INDICE > profile default account unlock; > > grant connect, resource to ADMINISTRATOR; > > create role ADMINISTRATOR_USR_S not identified; > create role ADMINISTRATOR_USR_SPIINTERFACE not identified; > create role ADMINISTRATOR_USR_SPIM not identified; > create role EDI identified by values '75EE8705419FB91A'; > create role PUBLIC not identified; > create role SPIINTERFACE identified by values '3FE4CF3E7427BE60'; > create role SPIM identified by values '8CFDC5AAA9CC2083'; > > Reginaldo Ribeiro > Administrador de Bancos de Dados > Oracle Certified Associate 10g > _________________________________ > DBcom IT Experts > skype: rflribeiro > msn: [EMAIL PROTECTED] <mailto:rflribeiro%40dbcom.com.br> > mobile: 551192344290 > fone: 551162165375 > e-mail: [EMAIL PROTECTED] <mailto:rflribeiro%40dbcom.com.br> > site: www.dbcom.com.br > > Carlos Henrique Correa wrote: > > > > Exatamente Reginaldo. Quando importamos o "dono" ele tenta dar > > direitos ao "Visitante" e o "visitante" ao ser criado tenta acessar > > algo que não lhe é permitido ainda. > > > > Como posso proceder nesta situação no data_pump tem a cláusula > > schemas, posso usá-la escrevendo todos os schemas de uma vez para que > > a importação ocorra na sequencia correta, sem erros e falta de objetos. > > > > rflribeiro > > escreveu: > > Neste caso, acompanhando seu raciocínio, você informa que importa > > primeiro o user "owner" dos objetos. Neste caso, importando também os > > grants, o user tenta dar grant diretamente ao user "viewer" ou a alguma > > role logo após a criação do objeto e não vai conseguir, porque o user > > "viewer" não existe ainda, ou a role, se for o caso. > > > > Quando da importação do user "viewer" ele tenta criar views, por > > exemplo, acessando uma table à qual ele não tem permissão de leitura, > > concorda? > > > > Verifique se é este seu caso. > > > > Reginaldo Ribeiro > > Administrador de Bancos de Dados > > Oracle Certified Associate 10g > > _________________________________ > > DBcom IT Experts > > skype: rflribeiro > > msn: [EMAIL PROTECTED] <mailto:rflribeiro%40dbcom.com.br> > > mobile: 551192344290 > > fone: 551162165375 > > e-mail: [EMAIL PROTECTED] <mailto:rflribeiro%40dbcom.com.br> > > site: www.dbcom.com.br > > > > Carlos Henrique Correa wrote: > > > > > > Vou repetir o procedimento usando o data_pump. e sobre os direitos, o > > > user dono da direitos ao user viewer a alguns de seus objetos. > > > > > > rflribeiro > > escreveu: Sendo 10g as versões de > > > ambos os bancos, por que você não utiliza o > > > data_pump? Basta informar a versão no comando. > > > > > > Não deveria ocorrer erro em virtude de estatísticas. Não há nenhuma > > > atribuição relacionada a roles? O user dono das tabelas concede grants > > > p/ algumas roles que o user "viewer" recebe? Isso é bem comum > acontecer. > > > > > > Reginaldo Ribeiro > > > Administrador de Bancos de Dados > > > Oracle Certified Associate 10g > > > _________________________________ > > > DBcom IT Experts > > > skype: rflribeiro > > > msn: [EMAIL PROTECTED] <mailto:rflribeiro%40dbcom.com.br> > > > mobile: 551192344290 > > > fone: 551162165375 > > > e-mail: [EMAIL PROTECTED] <mailto:rflribeiro%40dbcom.com.br> > > > site: www.dbcom.com.br > > > > > > Carlos Henrique Correa wrote: > > > > > > > > Bom dia! Temos dois bancos aqui com a seguinte configuração: > > > > > > > > Windows (XP) > > > > Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Prod > > > > PL/SQL Release 10.1.0.2.0 - Production > > > > CORE 10.1.0.2.0 Production > > > > TNS for 32-bit Windows: Version 10.1.0.2.0 - Production > > > > NLSRTL Version 10.1.0.2.0 - Production > > > > > > > > Linux (Oracle Linux) > > > > Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod > > > > PL/SQL Release 10.2.0.1.0 - Production > > > > CORE 10.2.0.1.0 Production > > > > TNS for Linux: Version 10.2.0.1.0 - Production > > > > NLSRTL Version 10.2.0.1.0 - Production > > > > > > > > Tivemos que recriar alguns usuários e suas tablespaces existentes no > > > > db em Linux para o db em Windows, estes usuários funcionam da > seguinte > > > > forma, um usuário é dono das tabels, views e etc, enquanto outro > > > > relacionado a ele possui vários sinônimos para os objetos do usuário > > > > anterior e alguns objetos próprios. Após realizamos os exports dos > > > > usuários do Linux e começamos as operações de import no Windows, ao > > > > finalizar todas as operações e verificarmos os usuários e seus > > > > objetos, constatamos que alguns usuários estavam com objetos > faltando, > > > > verificando o log das operações vi que os erros apresentados são > todo > > > > em relação a estatísticas (entrada de valor inválido). > > > > > > > > Minhas dúvidas são: > > > > > > > > Devido ao erro de entrada de dados nas estatísticas de algumas > > > > tabelas, estas não foram importadas? > > > > > > > > A diferença de entre as versões pode ter algum relacionamento com a > > > > não importação de alguma tabela, devido a sintaxe e comandos > > utilizados? > > > > > > > > > > > > Obs.: O import foi feito seguindo a ordem dos usuários, primeiro os > > > > donos dos objetos e depois o usuário que o espelha. > > > > > > > > Sintaxe do Import: > > > > > > > > imp system/???? file=\arquivo.dmp log=\arquivo.log rows=y ignore=y > > > > fromuser=usuario touser=usuario > > > > > > > > exp system/???? file=\arquivo.dmp log=\arquivo.log rows=y > > > > owner=(usuario,usuario1,usuario2...) >