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
> > >
> >
>



Responder a