[oracle_br] SELECT COMPLEXO....desafio para os mestres

2007-11-01 Por tôpico agjunior2
Bom dia pessoal,


   estou precisando de uma grande ajuda em um SELECT.
   Ele precisa atender as seguintes regras abaixo:
 
   Regra 1) Dividir o select em partições internas (pensei em
função analitica, mas não consegui montar) de modo que tenha no minino
5 registros;

   Regra 2) A coluna TIPO deve ser 'S' para poder marcar o fim da
partição;


   Vejam conforme as quebras que fiz nos comandos INSERTs (no
final do email) a primeira partição possui 6 registros pois no quinto
registro a coluna TIPO é igual a 'N' que não atende a regra 2.

   O objetivo é ter uma coluna no select (sem criar uma função no
banco) de modo que eu consiga marcar as linhas com SEQ iguais a 6,
13,18 e 20 (que no caso é o final do select).
   Abaixo o resultado esperado com o nome de coluna QUEBRA


   SEQ T QUEBRA
-- - --
 1 N 
 2 N
 3 S
 4 S
 5 N
 6 S  S
 7 N
 8 S
 9 S
10 S
11 N
12 N
13 S  S
14 S
15 S
16 S
17 S
18 S  S
19 N
20 N

Segue abaixo a estrutura de exemplo para montar o select

CREATE TABLE exemplo (seq NUMBER, tipo VARCHAR2(1));

INSERT INTO exemplo VALUES( 1,'N');
INSERT INTO exemplo VALUES( 2,'N');
INSERT INTO exemplo VALUES( 3,'S');
INSERT INTO exemplo VALUES( 4,'S');
INSERT INTO exemplo VALUES( 5,'N');
INSERT INTO exemplo VALUES( 6,'S');
--
INSERT INTO exemplo VALUES( 7,'N');
INSERT INTO exemplo VALUES( 8,'S');
INSERT INTO exemplo VALUES( 9,'S');
INSERT INTO exemplo VALUES(10,'S');
INSERT INTO exemplo VALUES(11,'N');
INSERT INTO exemplo VALUES(12,'N');
INSERT INTO exemplo VALUES(13,'S');
--
INSERT INTO exemplo VALUES(14,'S');
INSERT INTO exemplo VALUES(15,'S');
INSERT INTO exemplo VALUES(16,'S');
INSERT INTO exemplo VALUES(17,'S');
INSERT INTO exemplo VALUES(18,'S');
--
INSERT INTO exemplo VALUES(19,'N');
INSERT INTO exemplo VALUES(20,'N');


Obrigado.

André



[oracle_br] Ferramenta para administração do banco 10g com RAC

2007-09-24 Por tôpico agjunior2
Boa tarde a todos,


   gostaria de uma sugestão de vocês sobre uma boa ferramenta de adm
do banco 10g com RAC.
   Obrigado.


André



[oracle_br] plano de execução alterado em clientes diferentes

2007-08-23 Por tôpico agjunior2
Bom dia a todos,

   Acabamos de realizar um migração de banco de dados 9i para 10g, 
trabalhando em Grid com 2 nós.
   Existe uma procedure no banco que executa apenas um cursor de 
pesquisa. Quando esta procedure é executada via SQL Plus (client 10g) 
ela é instantanea, porém quando esta procedure é disparada por uma 
aplicação Java ela demora alguns minutos (tempo suficiente para dar 
um gargalo grande no processo).
   Realizei trace (10046 level 12) nos 2 ambientes e realmente a 
paralização foi na abertura do cursor. Foi detectado que os planos de 
execução são diferentes. 
   Rodei a procedure via SQL Plus na mesma maquina que está o 
servidor de aplicação Java e fica rápido também. É alguma ligação com 
a aplicação Java que está fazendo alterar o plano de execução do 
cursor.
   Preciso da ajuda de vocês para que a procedure rode nos 2 
ambientes (SQL Plus/ Java / ...) com o mesmo plano de execução.
   Segue abaixo a versão atual do banco de dados e servidores.

Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit 
Production
With the Partitioning, Real Application Clusters, OLAP and Data 
Mining options
--
S.O.: Linux Itanium

   Desde já agradeço a ajuda.


André 



[oracle_br] SELECT + refcursor

2007-02-01 Por tôpico agjunior2
Bom dia a todos,

  É possível realizar um SELECT da seguinte forma?

 
SELECT v_lista FROM dual; , onde v_lista é uma variável 
RECORD TYPE ou REFCURSOR?

  A idéia é que este select fique dinâmico e possa ler qualquer 
variável deste tipo.

  Desde já agradeço.


PS: Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit 
Production  
Solaris 9





Re: RES: [oracle_br] Piores SELECTS [CPU e IO]

2006-02-24 Por tôpico agjunior2
Obrigado pelo retorno Carlos,

   para utilizar o statspack rodando no começo do dia e outro no final
 teria algum impacto significante de consumo e espaço fisico no servidor?
   Mais uma vez obrigado pela ajuda.

André

--- Em oracle_br@yahoogrupos.com.br, Carlos A.M. Menezes
[EMAIL PROTECTED] escreveu

 Caro,
   Use o statspack, tire um snapshot no começo do dia e outro no
final, depois gere o relatório e você terá o que deseja.
 
 Cordialmente,
 
 Carlos Alfredo M. de Menezes
 
 
 -Mensagem original-
 De: oracle_br@yahoogrupos.com.br
[mailto:[EMAIL PROTECTED] Em nome de agjunior2
 Enviada em: quinta-feira, 23 de fevereiro de 2006 19:32
 Para: oracle_br@yahoogrupos.com.br
 Assunto: [oracle_br] Piores SELECTS [CPU e IO]
 
 Bom dia a todos,
 
Gostaria de saber se é possível montar uma rotina que grave em uma
 determinada tabela os 10 selects com maior consumo de processamento e
 os 10 select com maior consumo de I/O executados durante o dia.
Qual seria o impacto no banco em preparar esta rotina?
Obrigado.
 
 
 Oracle: 9iR2 ou superior
 SO : sem restrições
 
 André
 
 
 
 
 

--
 Atenção! As mensagens deste grupo são de acesso público e de inteira
responsabilidade de seus remetentes.
 Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 

--__
 Este Grupo recebe o apoio da SQL Magazine -
www.devmedia.com.br/sqlmagazine 
 
  
 Links do Yahoo! Grupos








--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 

 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




[oracle_br] Piores SELECTS [CPU e IO]

2006-02-23 Por tôpico agjunior2
Bom dia a todos,

   Gostaria de saber se é possível montar uma rotina que grave em uma
determinada tabela os 10 selects com maior consumo de processamento e
os 10 select com maior consumo de I/O executados durante o dia.
   Qual seria o impacto no banco em preparar esta rotina?
   Obrigado.


Oracle: 9iR2 ou superior
SO : sem restrições

André





--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 

 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





[oracle_br] Flashback

2006-01-14 Por tôpico agjunior2
Boa tarde a todos,


   Existe alguma forma de eu marcar um linha do tempo no banco de
dados e recompilar triggers, alterar tabelas, indices, criar novos
registros de parametrização e quaisquer alterações DDL e DML no banco
e caso encontrar problemas eu conseguir retornar nesta marcação que
eu havia feito? Eu conseguiria fazer esta marcação apenas para uma
determinada SESSÃO de modo q todos os comandos DDL e DML não afetem
outras sessões e, caso esteja tudo correto após conferencia, eu 
gravasse estas mudanças realmente no banco? (é como se fosse um commit
para comandos DDL/DML)
   Estou trabalhando com o banco 10g e este recurso ajudaria nas
atualizações que atualmente fazemos nos banco de dados nos clientes.
Pode ocorrer casos da atualização não se completar ou até mesmo
ocorrer erros no sistema após a instalação. Neste caso gostaria de
voltar na versão anterior do banco de dados.
   Desde já obrigado.


André






--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--_
Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423  
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




[oracle_br] Como capturar o comando que acarretou num erro Oracle?

2006-01-11 Por tôpico agjunior2
Boa tarde a todos,

  Tenho uma trigger AFTER SERVERERROR na qual grava, em uma tabela de
log, todos os erros que ocorrem no banco de um determinado usuário.
  Como eu conseguiria, de dentro da trigger, capturar o comando que
acarretou determinado erro (que fez disparar a trigger), para nesta
tabela de log eu ter o comando disparado e os erros ocorridos?





--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--_
Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423  
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html