Chiappa, A banco esta zerado, criei ele pelo dbca, criei duas tablespace, o usuario e o directory apenas isso e mais nada.
Enfim, irei excluir o schema e refazer como voce orientou, e fazer o import novamente. Grato Ednilson Silva De: [email protected] [mailto:[email protected]] Em nome de J. Laurindo Chiappa Enviada em: sexta-feira, 22 de novembro de 2013 10:38 Para: [email protected] Assunto: Re: RES: RES: RES: [oracle_br] RES: Export/Import Schema Bom dia, Ednilson : então, se há uma coisa que se pode estar certo é que por si só o impdp não sai criando nada sozinho... Se vc tem objetos a mais no banco-destino, Com Certeza ** ou ** esses objetos já estavam criados antes do import (seja por causa de uma tentativa anterior de import que falhou, seja porque qquer programa/aplicativo/usuário os criou), ** ou ** eles foram removidos do banco-origem depois do export, ou derivações.... O que eu faria se fosse vc para inicialmente eliminar a possibilidade de objetos pré-criados no schema destino é um DROP USER syncfw cascade; no banco-destino... Depois re-executa o SELECT de objetos confirmando que não há mais nada no schema syncfw, depois consulta a DBA_SOURCE /DBA_TRIGGERS / views de JOB / cronjobs no servidor / etc Confirmando que não tem nenhum programa/job/trigger/nada que saia criando objetos nesse schema, e depois refaz o import....Depois do import feito, se ao refazer o select de objetos ainda der diferença, se vc puder fazer um dblink entre as duas bases e pedir um SELECT objetosdanovabase MINUS SELECT objetosdabaseorigem@dblink , vc obtém os objetos que estão na base destino mas não na origem, aí vc consulta o LOG do import comprovando que eles estavam no dmp , mas como não estão na origem alguém/algo os removeu... E é claro, se vc nos der as linhas TODAS com as mensagens TODAS de erro a gente pode palpitar em causas do erro : com Absoluta certeza não é normal um import terminar nem com warning nem com erro... []s Chiappa --- Em [email protected], "Ednilson Silva" <ednilson.silva@...> escreveu > > Bom Dia Chiappa, > > > > Utilizei o comando > > > > $ expdp SYSTEM/manager schemas=SYNCFW directory=SYNCFW > dumpfile=expdp_syncfw.dmp logfile=expdp_syncfw.log > > > > Outra coisa, na base origem tenho 535 indices e na base destino ele importou > 552 indices, estranho? > > > > Origem > > > > SQL> conn > > Enter user-name: syncfw/prod > > Connected. > > SQL> select object_type,count(object_type) from user_objects > > group by object_type > > order by 1; 2 3 > > > > OBJECT_TYPE COUNT(OBJECT_TYPE) > > ------------------- ------------------ > > INDEX 535 > > LOB 17 > > SEQUENCE 160 > > TABLE 256 > > VIEW 223 > > > > Destino > > > > SQL> conn > > Enter user-name: syncfw/prod > > Connected. > > SQL> select object_type,count(object_type) from user_objects > > group by object_type > > order by 1; 2 3 > > > > OBJECT_TYPE COUNT(OBJECT_TYPE) > > ------------------- ------------------ > > INDEX 552 > > LOB 17 > > SEQUENCE 160 > > TABLE 256 > > VIEW 223 > > > > Grato, > > > > Ednilson Silva > > > > > > De: [email protected] [mailto:[email protected]] Em > nome de J. Laurindo Chiappa > Enviada em: quinta-feira, 21 de novembro de 2013 16:45 > Para: [email protected] > Assunto: Re: RES: RES: [oracle_br] RES: Export/Import Schema > > > > > > Sim, vc pode sim : o SYSTEM por default já possui o privilégio de exportar > qualquer tabela de qualquer schema E de criar tabelas/objetos em outros > schemas, e já possui acesso ao datapump, sem probs... > Mostra pra gente a linha de comando Completa que vc usou e o texto completo > das mensagens de erro , que a gente pode palpitar melhor... > > []s > > Chiappa > > --- Em [email protected], "Ednilson Silva" <ednilson.silva@> > escreveu > > > > Chiappa, > > > > > > > > Eu posso fazer o expdp e impdp, com o SYSTEM? > > > > Terminei o impdp, e apareceu a mensagem a abaixo: > > > > > > > > Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 1 error(s) at 16:07:05 > > > > > > > > Grato, > > > > > > > > Ednilson Silva > > > > > > > > De: [email protected] [mailto:[email protected]] Em > > nome de J. Laurindo Chiappa > > Enviada em: quinta-feira, 21 de novembro de 2013 14:07 > > Para: [email protected] > > Assunto: Re: RES: [oracle_br] RES: Export/Import Schema > > > > > > > > > > > > pmfji, mas antes de fazer ainda há um ponto que vc deveria estar ciente , > > pra não ter retrabalhos : da mesma forma que o exp/imp, o expdp/impdp usa > a > > cláusula de SCHEMA como uma filtragem de ownership dos objetos a exportar > - > > assim, os Privilégios (de sistema, tablespace quotas, etc, etc) do schema > > exportado não são exportados, e Nem as permissões públicas e Nem os > objetos > > Públicos ... > > Para vc extrair os DDLs de privs do schema exportado, como a origem é 10g > vc > > pode usar o primeiro script abaixo, e para consultar quais existem vc pode > > usar o segundo... > > > > []s > > > > Chiappa > > > > -- script para gerar DDLs de permissões e privs de usuário > > SET LINESIZE 200 > > SET PAGESIZE 0 FEEDBACK off VERIFY off > > -- SET TRIMSPOOL on > > SET LONG 1000000 > > -- COLUMN ddl_string FORMAT A100 WORD_WRAP > > EXECUTE > > > DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'PRETTY',t > > rue); > > EXECUTE > > > DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMIN > > ATOR',true); > > COLUMN ddl FORMAT A4000 > > define username=&&1 > > spool &username._cr_ddl.sql > > SELECT DBMS_METADATA.GET_DDL('USER', upper('&username') ) DDL > > FROM dual; > > prompt -- Role > > SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', upper('&username')) DDL > > from dual > > where exists ( select 1 from dba_role_privs where > grantee=upper('&username') > > ) > > ; > > > > prompt -- Sys priv > > SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT', upper('&username')) > DDL > > FROM dual > > where exists ( select 1 from dba_sys_privs where > grantee=upper('&username') > > ) > > ; > > prompt -- Object priv > > SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', upper('&username')) > DDL > > FROM dual > > where exists ( select 1 from dba_tab_privs where > grantee=upper('&username') > > ) > > ; > > prompt -- tablespace quota > > SELECT > DBMS_METADATA.GET_GRANTED_DDL('TABLESPACE_QUOTA',upper('&username')) > > DDL > > from dual > > where exists ( select 1 from dba_ts_quotas where > username=upper('&username') > > ) > > ; > > spool off > > > ============================================================================ > > ====== > > -- script de Consulta de permissões à Objetos privilégios > > set echo off > > set verify off > > set pages 9999 > > col granted_role form a25 > > col owner form a15 > > col table_name form a33 > > col privilege form a33 > > ACCEPT username prompt 'Enter Username : ' > > PROMPT Roles granted to user > > SELECT granted_role,admin_option,default_role > > FROM dba_role_privs > > WHERE grantee=UPPER('&username') > > ORDER BY 1; > > PROMPT Table Privileges granted to a user through roles > > SELECT granted_role, owner, table_name, privilege > > FROM ( SELECT granted_role > > FROM dba_role_privs WHERE grantee=UPPER('&username') > > UNION > > SELECT granted_role > > FROM role_role_privs > > WHERE role in (SELECT granted_role > > FROM dba_role_privs WHERE grantee=UPPER('&username') > > ) > > ) roles, dba_tab_privs > > WHERE granted_role=grantee > > ORder by 1,2,3,4; > > PROMPT System Privileges assigned to a user through roles > > SELECT granted_role, privilege > > FROM ( SELECT granted_role > > FROM dba_role_privs WHERE grantee=UPPER('&username') > > UNION > > SELECT granted_role > > FROM role_role_privs > > WHERE role in (SELECT granted_role > > FROM dba_role_privs WHERE grantee=UPPER('&username') > > ) > > ) roles, dba_sys_privs > > WHERE granted_role=grantee > > ORDER BY 1,2; > > PROMPT Table privileges assigned directly to a user > > SELECT owner, table_name, privilege > > FROM dba_tab_privs > > WHERE grantee=UPPER('&username') > > ORDER BY 1,2,3; > > PROMPT System privileges assigned directly to a user > > SELECT privilege, admin_option > > FROM dba_sys_privs > > WHERE grantee=UPPER('&username'); > > undefine username > > > > --- Em < < <mailto:[email protected]> mailto:[email protected]> > <mailto:[email protected]> mailto:[email protected]> < <mailto:[email protected]> mailto:[email protected]> > <mailto:[email protected]> [email protected], > > "Ednilson Silva" < < < <mailto:ednilson.silva@> mailto:ednilson.silva@> <mailto:ednilson.silva@> mailto:ednilson.silva@> > < <mailto:ednilson.silva@> mailto:ednilson.silva@> <mailto:ednilson.silva@> ednilson.silva@> escreveu > > > > > > Ederson, > > > > > > Muito obrigado pelas dicas, agora mãos a obra. > > > > > > > > > > > > Ednilson Silva > > > > > > > > > > > > > > > > > > De: [email protected] [mailto:[email protected]] > Em > > > nome de ederson2001br > > > Enviada em: quinta-feira, 21 de novembro de 2013 10:57 > > > Para: [email protected] > > > Assunto: [oracle_br] RES: Export/Import Schema > > > > > > > > > > > > > > > > > > OK Ednilson, > > > > > > A principal diferença entre a dupla EXP/IMP e EXPDP/IMPDP é que a > Exp/Imp > > > roda no lado client da conexão e gera arquivo DMP no local determinado > por > > > FILE= > > > > > > Já a Expdp/Impdp só roda no server, ou melhor, é uma ferramenta do lado > > > server e só gera arquivo no path (directory) configurado no banco onde > > > exige-se permissão de leitura/escrita naquele diretorio. A ferramenta > nova > > > não possui compatibilidade com os arquivos gerados pelo EXP, nem mesmo > se > > > forem da MESMA versão. O EXPDP possui diversos melhoramentos e > ferramentas > > > que otimizaram muito o uso desta ferramenta no quesito de manipulação de > > > dados de schemas. Não convém exportar um schema de um banco usando-se o > > > epxdp de outro banco, prefira exportar (expdp) na origem, transferir > (via > > > ftp, por ex.) para o servidor destino e realizar o impdp no destino, > > > respeitando a versão igual (entre rdbms) ou inferior do banco origem. > > > > > > No seu caso, vc já fez grande parte do trabalho. Já criou usuário e > > > tablespace no destino (lembrou das permissões de resource/qouta nas duas > > > tablespace?). > > > > > > Vc pode sim, exportar do 10g e importar no 11g. Do 9i, melhor fazer com > a > > > dupla antiga EXP no 9i --> IMP do 10g ou 11g. > > > > > > Conferir se tem directory configurado: > > > > > > --Directory > > > SYS@oracle_origem> > > > > > > column DIRECTORY_PATH format a50; > > > column owner format a10; > > > select * from dba_directories; > > > > > > OWNER DIRECTORY_NAME DIRECTORY_PATH > > > ---------- ------------------------------ > > > ------------------------------------------- > > > SYS XMLDIR /u01/app/oracle/product/11.2.0/xe/rdbms/xml > > > SYS DATA_PUMP_DIR /u01/app/oracle/admin/XE/dpdump/ > > > > > > Se não tiver directory na pasta que vc precisa, crie (exemplo): > > > create OR REPLACE directory EXPORTS AS '/oracle/backup/sfw/export'; > > > grant read, write on directory EXPORTS to sfw; > > > > > > oracle_origem> expdp sfw/senha schemas=SFW > directory=directory_name_origem > > > dumpfile=expdp_sfw.dmp logfile=expdp_sfw.log > > > > > > Transferir o arquivo expdp_sfw.dmp para o servidor destino. Conferir > > também > > > a questão do DIRECTORY e se não existir, criar. > > > > > > oracle_destino> impdp sfw/senha directory=directory_name_existente > > > dumpfile=expdp_sfw.dmp logfile=impdp_sfw.log > > > > > > Não há a necessidade de usar REMAP porque vc criou usuário e tablespace > no > > > destino, iguais à origem. > > > > > > Ao final, confira o LOG gerado para ver se não houve nenhum erro. > > > > > > À disposição, > > > > > > Ederson Elias > > > DBA Oracle > > > http://br.linkedin.com/pub/ederson-elias/24/8b/8b0 > > > ------------ > > > Labor improbus omnia vincit > > > > > > --- Em [email protected], "Ednilson Silva" <ednilson.silva@> > > > escreveu > > > > > > > > Bom Dia Ederson > > > > Segue respostas. > > > > -O schema que vc vai exportar, depende de objetos de um outro schema > no > > > > banco?: (S/N) N > > > > -Qual o espaço ocupado por este schema e em qual tablespace ele está > > > alocado > > > > e se os objetos usam mais de uma tablespace (ex: dados separados de > > > índices > > > > ou tablespaces grandes separadas em um datafile diferente): ??, ??, ?? > + > > > ou > > > > 20GB / DAT_SFW e IDX_SFW / > > > > -O usuário existe no banco destino? (S/N) S > > > > -Se existir, vc vai atualizar os objs ou vai remover antes e trazer o > > > backup > > > > inteiro? (S/N), (S/N)? No destino, criei apenas o usuario (schema) e > > > > tablespaces com o tamanho igual > > > > -Haverá necessidade de criar tablespace nova no banco destino para > > > acomodar > > > > os dados do schema que virá pelo backup?: (S/N) S > > > > -Rodar um UTLRP no schema origem para garantir validade dos objetos a > > > serem > > > > exportados, pois após o import, vc deve rodar novamente o UTLRP e > contar > > > os > > > > objetos por type e validade, afim de conferir se todos os objetos > foram > > > > importados e estão corretamente compilados > > > > -Qual a versão inteira (primeiros 4 bytes da versão, ex: 10.2.0.5) das > > > duas > > > > versões (versão rdbms origem e versão rdbms destino), inclusive > > mostrando > > > se > > > > Standard/Enterprise ou mesmo se XE (o impdp não reconhece versão > > superior > > > à > > > > sua própria) (alguns recursos Enterprise são exclusivos e não existem > > nos > > > > bancos Standard/XE)? Oracle Database 10g Enterprise Edition Release > > > > 10.2.0.4.0 > > > > > > > > > > > > > > > > Eu preciso exportar o schema SFW e importar em outra base, esse > primeiro > > > > import seria uma base de homologação, depois irei fazer o processo > > > novamente > > > > em outra base, outro servidor e este será base de produção, nesta base > > > terá > > > > apenas este schema. > > > > > > > > Uma pergunta, eu posso importar esse schema numa base 11g ? Pois > > > futuramente > > > > irei migrar. Já mato dois coelhos numa machadada só. > > > > > > > > > > > > > > > > Como a grande maioria dos meus banco são 9i, e nunca utilizei o > > > expdp/impdp, > > > > queria uma opinião dos passos a seguir antes. > > > > > > > > Grato > > > > > > > > Ednilson Silva > > > > > >
