RE: [oracle_br] Re: Como ignorar Materialized View no exp (antigo)

2018-09-28 Por tôpico Everson Piza eversonp...@hotmail.com [oracle_br]
Olá Chiappa,

Usar o data pump realmente não é uma opção, pois o ambiente de produção é do 
nosso cliente, e como não administramos o ambiente, as politicas de segurança 
deles não permitem nenhum tipo de acesso ao servidor de banco de dados, nem 
criar data base link.

Vou estudar as outras opções que você indicou.

Obrigado,
Everson



De: oracle_br@yahoogrupos.com.br  em nome de 
jlchia...@yahoo.com.br [oracle_br] 
Enviado: sexta-feira, 28 de setembro de 2018 13:07
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Re: Como ignorar Materialized View no exp (antigo)



Blz ? Bom, primeira coisa : imagino que o dump file é gerado/gravado na máquina 
do usuário final que vai fazer o import (via comando exp) , E essa tal máquina 
do usuário final já possui o client Oracle instalado (senão não ia ter 
instalado nem exp nem imp), E essa mesma máquina possui acesso via rede AO 
BANCO onde os dados devem ser importados, correto ? O usuário em si não tem 
acesso AO SERVIDOR ORACLE, mas acesso via rede AO DATABASE claro que deve ter, 
senão o import no banco destino a partir dessa máquina de usuário não seria 
possível

 Muito bem : não é porque o usuário/máquina não tem acesso ao servidor que não 
possa rodar o impdp, okdoc ?? Para o usuário poder rodar  o impdp na máquina 
dele importando o dump file num banco remoto, uma dessas opções deve ser 
verdadeira :

 1. o dump file foi gerado via expdp num diretório lá no servidor Oracle de 
origem E esse diretório pode ser acessado via  rede lá pelo servidor destino : 
aí é simplesmente o usuário final gerar o dump file executando na máquina dele :

 expdp usuario/senha@bancoremoto 
DIRECTORY=objetodirectoryCRIADONOBANCOORIGEMapontandoprumapastadoservidor 
demasopções.

 e aí ele faria o import executando na máquina dele :

 impdp usuario/senha@bancoremoto 
DIRECTORY=objetodirectoryCRIADONOBANCODESTINOapontandoprumapastadoservidor 
demasopções.


 ==> DEPENDENDO de qual seja o Sistema Operacional nos dois servidores, esse 
'compartilhamento' da pasta/diretório no servidor do banco origem para poder 
ser lido pelo banco destino pode ser feito com NFS, UNC, Samba, etc...

 OU

 2. depois de gerado o dump file lá no servidor TRANSFERE (via FTP ou rcp, 
digamos) o dump file para o servidor destino : isso PODERIA ser um shell script 
lá no banco origem (via job de banco, via cron, etc), ou PODERIA ser uma 
procedure PL/SQL executada pelo usuário 
https://oracle-base.com/articles/misc/ftp-from-plsql exemplifica como rodar FTP 
e 
https://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:16212348050
 mostra como rodar um shell script, ambos os casos (creio) poderiam ser 
disparados pelo seu usuário final conectando nos bancos via um programa client 
qquer, OU MESMO o usuário final teria na máquina dele um shell script /.BAT 
script que já faz isso tudo pra ele

 OU

 3. (a opção menos desejável, caso não haja NENHUM TIPO de comunicação entre os 
dois servidores Oracle) , o usuário poderia ter um banquinho Oracle qquer free, 
de pequeno porte (um Oracle XE, digamos), banquinho esse que teria um DBLINK 
com o banco origem dos dados E então o usuário conectaria nesse banquinho local 
e geraria o dump file com dados vindos do servidor Oracle remoto via  parâmetro 
NETWORK_LINK...
 Aí deveria haver algum tipo de SHARE da pasta local da máquina do usuário com 
o servidor Oracle destino, aí o usuário rodaria o impdp na máquina dele 
conectando no banco destino desejado e usando um DIRECTORY que lê a pasta local 
dele


===>> OKDOC  Só se NENHUMA DESSAS OPÇÕES for viável aí SIM vc teria que 
apelar pro exp/imp tradicionais : o problema aí é que o exp/imp tradicionais 
NÃO POSSUEM COMANDOS pra excluir determinados objetos, essa é UMA das muitas 
melhorias introduzidas no datapump... No exp/imp tradicionais, vc VAI ter que 
apelar pra alguma gambiarra, tipo : OU tentar adicionar um WHERE no export ou 
criar uma política de VPD que não traga as views que vc quer excluir (vide 
https://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:525933920034625)
 , OU cria na mão antes do import no banco destino objetos com o mesmo nome das 
views que vc não quuer importar e usa IGNORE=Y 
(https://deepakdba.wordpress.com/2009/12/08/import-in-oracle-9i/ fala sobre o 
IGNORE) , OU alguma gambi pesada, tipo Editar o dump file pra renomear/excluir 
as views que vc não quer, colocar a tablespace onde a view materializada vai 
ser criada temporariamente em read-only, ou coisas assim...

 []s

   Chiappa




[oracle_br] Como ignorar Materialized View no exp (antigo)

2018-09-28 Por tôpico Everson Piza eversonp...@hotmail.com [oracle_br]
Olá amigos,

Temos uma rotina aqui para renomear schemas, para isso fazemos backup com o exp 
e importamos com as opções FROMUSER e TOUSER do imp, o problema é que para 
views materializadas esse remap não funciona direito.

Para resolver esse problema, temos um procedimento que é executado antes do 
backup, que guarda em uma tabela os DDLs das views materializadas, essa tabela 
vai junto no backup, e com isso conseguirmos recriá-las após o import.

O problema é que no momento em que a MV é criada no imp, ele já cria o job de 
refresh, e quando vamos recriar as MVs elas estão lockadas por causa do job do 
refresh.

O que gostaria de saber, é se tem como não exportar as MVs, ou ignorar elas no 
import.

Não podemos usar o data pump, pois esse procedimento é feito por usuário não 
DBA, que não tem acesso ao servidor.
Não podemos apagar, ou desativar o job, antes do export, pois ele é feito em 
ambiente de produção.

Será que algum dos colegas consegue me ajudar?

Oracle 11.2.0.4.

Obrigado,
Everson


[oracle_br] Ajuda com enq: TM - contention

2016-12-12 Por tôpico Everson Piza eversonp...@hotmail.com [oracle_br]
Olá amigos,

(oracle 11.2.0.3)


Estou enfrentando alguns problemas de contenção TM, mas não estou conseguindo 
achar a solução.


Por exemplo.


Faço um delete na tabela X, essa tabela X tem FK para outras 8 tabelas, mas 
todas as colunas da tabela X que possuem FK estão indexadas.


Até onde eu sei, a falta de índice na tabela 'filha', causa lock em casa de 
alteração no pai, correto? Sendo assim, não vejo oq fazer para prevenir esse 
tipo de contenção.


Vocês podem me ajudar?


Obrigado.

Everson


RE: [oracle_br] Re: Importar dump do mysql no oracle

2016-08-22 Por tôpico Everson Piza eversonp...@hotmail.com [oracle_br]
Oi Chiappa,Eu vi esse link, mas pelo oq eu vi no SQL Developer ele só faz a 
migração conectando nos dois bancos, e do mysql eu só tenho o backup.

To: oracle_br@yahoogrupos.com.br
From: oracle_br@yahoogrupos.com.br
Date: Mon, 22 Aug 2016 09:01:19 -0700
Subject: [oracle_br] Re: Importar dump do mysql no oracle














 

 



  



  
  
  Opa : eu nunca usei MySQL, mas 
http://stackoverflow.com/questions/32566944/how-to-restore-import-a-sql-file-mysql-into-oracle-database
 indica que o freeware Oracle SQL Developer é capaz de importar arquivos .SQL 
vindos do MYSQL num database Oracle, tente com ele... 

 []s

  Chiappa



 









  

[oracle_br] Importar dump do mysql no oracle

2016-08-22 Por tôpico Everson Piza eversonp...@hotmail.com [oracle_br]
Olá amigos,Um cliente me enviou um dump (.sql) de um banco mySql, e preciso 
importar ele no Oracle apenas para consulta.Alguém conhece alguma forma de 
fazer isso?Tenho oracle 10g, 11g e 12c aqui, posso importar em qquer um 
deles.Obrigado,Everson 

RE: [oracle_br] Oracle Database 12cR2, quando sai?

2016-03-23 Por tôpico Everson Piza eversonp...@hotmail.com [oracle_br]
Se for final do ano mesmo, é sinal que vão postergar mais uma vez o lançamento 
:( 

To: oracle_br@yahoogrupos.com.br
From: oracle_br@yahoogrupos.com.br
Date: Wed, 23 Mar 2016 10:32:46 -0300
Subject: Re: [oracle_br] Oracle Database 12cR2, quando sai?














 

 



  



  
  
  
Uma equipe da Oracle ACS que está atuando em um cliente nosso, me disse que até 
o final deste ano o R2 sai sim.
Em 23 de março de 2016 10:21, Everson Piza eversonp...@hotmail.com [oracle_br] 
 escreveu:













 

 



  



  
  
  


Olá amigos,

No site da Oracle apenas diz que o 12cR2 (para linux_ x86-64), sai no primeiro 
semestre de 2016, mas sei que eles costuma alterar essa data.

Alguém tem alguma informação mais precisa, se vai sair em breve mesmo, ou se 
pode ser postergado?

Estamos fazendo um planejamento de migração do produção de 11g para 12c, e como 
o custo de homologação é alto, se puder eu prefiro esperar pela R2. Visto que a 
própria Oracle diz que de uma release para outra podem ter funcionalidades 
alteradas.

Obrigado,
Everson



  




 









  








-- 
Fabrício Pedroso Jorge.Administrador de Banco de Dados
certificacaobd.com.br
Resumo Profissional:http://br.linkedin.com/in/fabriciojorge
Contatos:+ 55 91 988991116
skype: fabricio.pedroso.jorge
fpjb...@gmail.com 






 









  

[oracle_br] Oracle Database 12cR2, quando sai?

2016-03-23 Por tôpico Everson Piza eversonp...@hotmail.com [oracle_br]
Olá amigos,

No site da Oracle apenas diz que o 12cR2 (para linux_ x86-64), sai no primeiro 
semestre de 2016, mas sei que eles costuma alterar essa data.

Alguém tem alguma informação mais precisa, se vai sair em breve mesmo, ou se 
pode ser postergado?

Estamos fazendo um planejamento de migração do produção de 11g para 12c, e como 
o custo de homologação é alto, se puder eu prefiro esperar pela R2. Visto que a 
própria Oracle diz que de uma release para outra podem ter funcionalidades 
alteradas.

Obrigado,
Everson


  

RE: [oracle_br] Como identificar o sql que esta consumindo TEMP e como liberar?

2015-11-26 Por tôpico Everson Piza eversonp...@hotmail.com [oracle_br]
Oi Paulo,
Infelizmente não ajuda.
Veja no exemplo abaixo que o sql_id fica constantemente alterado.
SQL> select sql_id, blocks from gv$sort_usage where inst_id = 2 and 
SESSION_ADDR='000C90F5A398';
SQL_IDBLOCKS- --1jxtarkfn0wvy 303104
SQL> select sql_id, blocks from gv$sort_usage where inst_id = 2 and 
SESSION_ADDR='000C90F5A398';
SQL_IDBLOCKS- --gb1za3y68sc3g 303104
SQL> select sql_id, blocks from gv$sort_usage where inst_id = 2 and 
SESSION_ADDR='000C90F5A398';
SQL_IDBLOCKS- --6wadfytm8vcjp 303104
SQL>


To: oracle_br@yahoogrupos.com.br
From: oracle_br@yahoogrupos.com.br
Date: Thu, 26 Nov 2015 10:46:25 -0200
Subject: Re: [oracle_br] Como identificar o sql que esta consumindo TEMP e como 
liberar?














 

 



  



  
  
  
Veja se essa query ajuda a identificar o SQLID.


select 
'_SqlId___|_Owner__|_TableSpace_|_Type|_Size'   
   S_ from dual union allselect S from (select rpad (nvl (s.SQL_ID, ' '), 
13, ' ') ||'|'|| rpad (s.USERNAME, 20, ' ') ||'|'||  rpad (s.TABLESPACE, 
20, ' ') ||'|'||rpad (s.SEGTYPE, 9, ' ') ||'|'||  to_char (s.BLOCKS * 
t.BLOCK_SIZE / 1048576, '999G990') ||'M'  S from GV$SORT_USAGE s,  
DBA_TABLESPACES t where t.TABLESPACE_NAME = s.TABLESPACE order by s.BLOCKS, 
s.SEGTYPE, s.USERNAME, s.SQL_ID) ;


Att,
Paulo BarbosaAdm de Banco de Dados
skype: paulobarbosa.sp
Cel.: (11) 98869-0988


Em 26 de novembro de 2015 10:24, Everson Piza eversonp...@hotmail.com 
[oracle_br]  escreveu:













 

 



  



  
  
  


Olá amigos,
Temos uma aplicação que trabalha com servidor de aplicação rodando jboss com 
pool de conexões.
Temos tipo problema com estouro de TEMP, analisando a v$sort_usage eu percebo 
que uma sessão demora as vezes mais de 1 dia para liberar o segmento temporário 
usado, e essa sessão já foi devolvida para o pool do jboss algumas vezes e 
utilizada por outros processos, ou seja, seja quem for que consumiu a temp não 
esta mais em execução.
Cheguei a desconfiar que seja algum cursor aberto que não foi devidamente 
fechado, mas não encontrei nenhum indicio disso, poucos cursores estão com o 
TYPE = OPEN.
O que fazemos quando isso acontece é matar as sessões que estão com mais temp, 
o problema é que como essa sessão está em uso por outro processo, acabamos 
criando outro problema, sem contar o transtorno de negociar o kill session em 
um ambiente de produção.
Alguém tem alguma dica para me passar, queria saber como identificar o sql que 
esta consumindo a temp, saber pq ele não fechou, e saber como faço para forçar 
que todos cursores sejam fechados e que a temp seja liberada.

select * from v$version ;
BANNEROracle
 Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionPL/SQL 
Release 11.2.0.4.0 - ProductionCORE11.2.0.4.0  ProductionTNS for Linux: 
Version 11.2.0.4.0 - ProductionNLSRTL Version 11.2.0.4.0 - Production


Obrigado,Everson  




 









  












 









  

[oracle_br] Como identificar o sql que esta consumindo TEMP e como liberar?

2015-11-26 Por tôpico Everson Piza eversonp...@hotmail.com [oracle_br]
Olá amigos,
Temos uma aplicação que trabalha com servidor de aplicação rodando jboss com 
pool de conexões.
Temos tipo problema com estouro de TEMP, analisando a v$sort_usage eu percebo 
que uma sessão demora as vezes mais de 1 dia para liberar o segmento temporário 
usado, e essa sessão já foi devolvida para o pool do jboss algumas vezes e 
utilizada por outros processos, ou seja, seja quem for que consumiu a temp não 
esta mais em execução.
Cheguei a desconfiar que seja algum cursor aberto que não foi devidamente 
fechado, mas não encontrei nenhum indicio disso, poucos cursores estão com o 
TYPE = OPEN.
O que fazemos quando isso acontece é matar as sessões que estão com mais temp, 
o problema é que como essa sessão está em uso por outro processo, acabamos 
criando outro problema, sem contar o transtorno de negociar o kill session em 
um ambiente de produção.
Alguém tem alguma dica para me passar, queria saber como identificar o sql que 
esta consumindo a temp, saber pq ele não fechou, e saber como faço para forçar 
que todos cursores sejam fechados e que a temp seja liberada.

select * from v$version ;
BANNEROracle
 Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionPL/SQL 
Release 11.2.0.4.0 - ProductionCORE11.2.0.4.0  ProductionTNS for Linux: 
Version 11.2.0.4.0 - ProductionNLSRTL Version 11.2.0.4.0 - Production


Obrigado,Everson