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]> [email protected], > "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 > > >
