Re: [oracle_br] *** Auxilio SGA ***

2013-03-19 Por tôpico Marcos Bonato
verifique o espaço disponivel no /dev/shm ,  ele deve ter espaço no minimo 
igual aoSGA_MAX_SIZE



  - Original Message - 
  From: Diego Nunes - GMAIL2 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Tuesday, March 19, 2013 11:51 AM
  Subject: RES: [oracle_br] *** Auxilio SGA ***



  Bom dia Robson,

  Provavelmente o problema está em alguma limitação de memória do Linux,
  que não está permitindo você alocar a quantidade desejada, algo relacionado
  aos parametros de kernel, shmmax e shmall.

  O artigo do link abaixo fornece as informações necessárias e a forma de
  realizar o cálculo corretamente. 

  
  http://www.pythian.com/blog/the-mysterious-world-of-shmmax-and-shmall/

  Att.

  Diego Nunes.

  De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
  nome de Welvis Moretto
  Enviada em: terça-feira, 19 de março de 2013 11:15
  Para: oracle_br@yahoogrupos.com.br
  Assunto: Re: [oracle_br] *** Auxilio SGA ***

  Bom dia,

  Pode ser que estava com auditoria do oracle gravando no OS!

  att,
  Welvis Douglas

  
  De: Milton Bastos Henriquis Jr. mailto:miltonbastos%40gmail.com> >
  Para: oracle_br@yahoogrupos.com.br  
  Enviadas: Terça-feira, 19 de Março de 2013 10:55
  Assunto: Re: [oracle_br] *** Auxilio SGA ***

  Linux-x86_64 Error: 28: No space left on device

  Verificou o espaço em disco?

  On Tue, Mar 19, 2013 at 10:51 AM, Robson Muniz (Terra) <
  rmunizso...@terra.com.br  > wrote:

  > **
  >
  >
  > Bom dia pessoal.
  >
  > Em nossa aplicação está retornando o erro abaixo.
  >
  > ORACLE error -4031 see "ORACLE Error Messages and Codes Manual". (1252)
  >
  > ** não é possível alocar 4080 bytes de memória compartilhada ("shared
  > pool","unknown object","sga heap(1,0)","library cache")
  >
  > Efetuei os processos abaixo. Nosso servidor tem 12 GB de RAM.
  >
  > $ sqlplus /nolog
  >
  > $ SQLPLUS > CONNECT / as sysdba
  >
  > $ SQLPLUS > ALTER SYSTEM SET SGA_TARGET = 1G SCOPE=SPFILE;
  >
  > $ SQLPLUS > ALTER SYSTEM SET SGA_MAX_SIZE = 10240M SCOPE=SPFILE;
  >
  > $ SQLPLUS > SHUTDOWN IMMEDIATE
  >
  > Após derrubar o banco e no momento da carga, me retornou a mensagem:
  >
  > SQL> startup open
  >
  > ORA-27102: out of memory
  >
  > Linux-x86_64 Error: 28: No space left on device
  >
  > Efetuei algumas pesquisas, e vi que está relacionado ao Kernel do S.O.
  > Linux
  > onde está o Oracle 10.2.0.
  >
  > *** Abaixo, o kernel atual. Conseguem me ajudar em qual parâmetro é
  > necessário para resolver esse caso e subir novamente a base ?
  >
  > # Controls source route verification
  >
  > net.ipv4.conf.default.rp_filter = 1
  >
  > # Do not accept source routing
  >
  > net.ipv4.conf.default.accept_source_route = 0
  >
  > # Controls the System Request debugging functionality of the kernel
  >
  > kernel.sysrq = 0
  >
  > # Controls whether core dumps will append the PID to the core filename
  >
  > # Useful for debugging multi-threaded applications
  >
  > kernel.core_uses_pid = 1
  >
  > # Controls the use of TCP syncookies
  >
  > net.ipv4.tcp_syncookies = 1
  >
  > # Controls the maximum size of a message, in bytes
  >
  > kernel.msgmnb = 65536
  >
  > # Controls the default maxmimum size of a mesage queue
  >
  > kernel.msgmax = 65536
  >
  > # Controls the maximum shared segment size, in bytes
  >
  > kernel.shmmax = 68719476736
  >
  > # Controls the maximum number of shared memory segments, in pages
  >
  > kernel.shmall = 4294967296
  >
  > kernel.shmall = 2097152
  >
  > kernel.shmmax = 536870912
  >
  > kernel.shmmni = 4096
  >
  > kernel.sem = 250 32000 100 128
  >
  > fs.file-max = 658576
  >
  > net.ipv4.ip_local_port_range = 1024 65000
  >
  > net.core.rmem_default = 262144
  >
  > net.core.wmem_default = 262144
  >
  > net.core.rmem_max = 1048536
  >
  > net.core.wmem_max = 1048536
  >
  > Obrigado a todos,
  >
  > Robson Muniz.
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > 
  >

  [As partes desta mensagem que não continham texto foram removidas]

  

  --
  >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira
  responsabilidade de seus remetentes.
  Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
  --
  >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
  » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
  http://www.oraclebr.com.br/ 
  -- Links do Yahoo!
  Grupos

  [As partes desta mensagem que não continham texto foram removidas]

  [As partes desta mensagem que não continham texto foram removidas]



  

[As partes desta mensagem que 

Re: RES: [oracle_br] Incompatibilidade?

2013-03-18 Por tôpico Marcos Bonato
Dorian,

É isso mesmo, se a tabela tiver um campo tipo char e for preenchida apenas por 
numeros até funciona o select sem aspas, mas se tiver uma unica linha com campo 
caracter vair dar o erro ORA-01722: invalid number

Att

Marcos



SQL> CREATE TABLE TESTE_A (COL1 VARCHAR2(10));

Table created.

SQL> INSERT INTO   TESTE_A VALUES('1');

1 row created.


SQL> SELECT * FROM TESTE_A WHERE COL1>0;

COL1
--
1

1 row selected.

SQL> INSERT INTO   TESTE_A VALUES('5');

1 row created.

SQL> SELECT * FROM TESTE_A WHERE COL1>0;

COL1
--
1
5

2 rows selected.

SQL> INSERT INTO   TESTE_A VALUES('789');

1 row created.

SQL> SELECT * FROM TESTE_A WHERE COL1>0;

COL1
--
1
5
789

3 rows selected.

SQL> INSERT INTO   TESTE_A VALUES('A1');

1 row created.

SQL> SELECT * FROM TESTE_A WHERE COL1>0;

COL1
--
1
5
ERROR:
ORA-01722: invalid number



2 rows selected.

SQL> SELECT * FROM TESTE_A WHERE COL1=1;
ERROR:
ORA-01722: invalid number



no rows selected

SQL> SELECT * FROM TESTE_A WHERE COL1='1';

COL1
--
1

SQL> delete TESTE_A WHERE COL1='A1';

1 row deleted.

SQL> SELECT * FROM TESTE_A WHERE COL1=1;

COL1
--
1



  - Original Message - 
  From: Dorian 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Monday, March 18, 2013 2:48 PM
  Subject: Re: RES: [oracle_br] Incompatibilidade?



  Noticia ruim para o DBA ele vai ter que passar para a 0.1 e vai sobrar pra 
alguém, pois antes de migrar para 11 deveria-se ter observado a questão da 
homologação.

  Para resolver o problema em questão, eram poucos registros RG com caracteres 
alfa, eliminei os caracteres e o problema desapareceu para o usuário final, 
alertei-o para usar apenas cpf (numeros) por enquanto. 

  Agradeço a ajuda; o negócio e arregaçar as mangas correr atrás do "preju" que 
a vida continua...

  Abraços,

  Dorian

  --- Em oracle_br@yahoogrupos.com.br, "J. Laurindo Chiappa"  
escreveu
  >
  > Bem, eu pessoalmente não sei se classificaria um sistema que tem SQLs com 
erros de sintaxe tão graves / grosseiros como a falta de plics ao mexer com 
strings de "um relógio", mas enfim, falando sobre o RDBMS : sim, essa alteração 
de 4o dígito indica PATCHSET diferente, e um patchset (seja ele qual for) não 
só traz diversos bugfixes (que podem até ser relacionados com performance) 
quanto pode SIM introduzir mudanças internas (principalmente no CBO), então dá 
SIM muita diferença 
  > Sendo assim, vc NÂO tem alternativa num aplicativo fechado, que não seja :
  > 
  > - usar a versão EXATA que eles homologaram
  > 
  > E
  > 
  > - abrir um Ticket de Suporte, Exigindo um prazo e informações específicas 
para a Homologação no patchset mais recente, que é o 11.2.0.3 - ou mesmo, já 
que está Previsto pela Oracle para muito breve o patchset 11.2.0.4 , que eles 
se posicionem quanto ao 11.2.0.4
  > 
  > []s
  > 
  > Chiappa
  > 
  > OBS : coisas como alteração de modelo (que é a criação de índice, por 
exemplo) em princípio não deveria ter NADA A VER com versão de RDBMS : se os 
SQLs não foram alterados, os mesmos índices Deveriam existir e ser usados, 
normalmente Tem caroço embaixo desse angú, isso Não é normal...
  > 
  > --- Em oracle_br@yahoogrupos.com.br, "Dorian"  escreveu
  > >
  > > Bons tempos que participei do grupo, mas agora a realidade é outra, me 
deram um "filho" para criar chamado Sênior, enquanto o restante da equipe fica 
somente com SAP. (rs)
  > > 
  > > Mas vamos lá, primeiro obrigado a todos. Vocês tem razão é "caca" da 
Sênior, o fato de funcionar na versão anterior não elimina o erro deles em não 
usarem aspas. Já abri um chamado.
  > > 
  > > Ainda podem me ajudar um pouco mais: A Sênior diz estar homologada para 
11.2.0.1 e a versão que instalaram é a 11.2.0.2
  > > 
  > > Ainda não foi fechado nenhuma folha de pagamento nesta versão do banco 
11, e meu medo é dar pau e a Sênior alegar que não está homologada para a 
versão 0.2. Por isto fiquei assustado com a questão das aspas, pois a Sênior 
tem se demonstrado um ótimo produto e era um "relógio", mas na troca do banco 
se tornou um "kinder ovo" toda hora uma nova surpresa. Varias consultas ficaram 
lentas, o dba teve que criar índices, muito "sinistro". Enfim, se está 
homologado tem que funcionar, minha dúvida é se a diferença entre 0.1 e 0.2 são 
tão expressivas que podem me deixar na mão.
  > > 
  > > Dorian
  > > 
  > > 
  > > 
  > > 
  > > 
  > > --- Em oracle_br@yahoogrupos.com.br, "Vitor Jr."  escreveu
  > > >
  > > > Exato André. Tive que provar isso, na minha antiga empresa, para um 
desenvolvedor, que teimou em dizer que era culpa da migração da versão do 
banco. Quando no final era má prática dele em não colocar as aspas para uma 
consulta texto.
  > > > 
  > > > 
  > > > 
  > > > â?<
  > > > 
  > > > 
  > > > 
  > > > 
  > > > 
  > > > Att,/Regards,
  > > > 
  > > > Vitor Jr.
  > > > Infraestrutura / Infrastructure Team
  > > > Oracle 11g DBA Certified Professional - OCP
  > > > 
  > > > Oracle Certified Expert, Or

[oracle_br] oracle_br-unsubscr...@yahoogrupos.com.br

2011-07-13 Por tôpico Marcos Bonato



Re: [oracle_br] retirar os carac teres numéricos de string

2010-04-15 Por tôpico Marcos Bonato
Acho que é isso que vc precisa:


Create Or Replace Function TO_NUMBER_CHAR (strValor VARCHAR2 , 
 nExtrairZerosEsquerda NUMBER DEFAULT 1) 
Return VARCHAR2
IS

   -- Objetivo: Extrair caracteres não numéricos de uma string
   --   Extrair os zeros a esquerda de uma string

   nTamanho NUMBER;
   nPosicao NUMBER;
   strReturn VARCHAR2(255);
   strValorNumerico VARCHAR2(255);
   

   Begin

 strValorNumerico := NVL(strValor, ' ');
 nTamanho := LENGTH(strValorNumerico);

 -- Trocar caracteres não numéricos por NULL
 For nPosicao IN 1..nTamanho LOOP
 If ASCII(SUBSTR(strValorNumerico, nPosicao, 1)) BETWEEN 48 AND 57 Then
strReturn := strReturn || SUBSTR(strValorNumerico, nPosicao, 1);
 End If;
 End Loop;

 -- Retirar os zeros da esquerda
 If nExtrairZerosEsquerda > 0 Then
  For nPosicao IN 1..nTamanho LOOP
If SUBSTR(strReturn, 1 , 1) = '0' Then
   strReturn := SUBSTR(strReturn, 2 , LENGTH(strReturn) - 1);
Else
   Return strReturn;
End If;
End Loop;
 End If;

 Return strReturn;

   End;
/


se quiser fazer o contrario, ou seja, eliminar os numeros de uma string:


Create Or Replace Function TO_CHAR_NUMBER (strValor VARCHAR2 ) 
Return VARCHAR2
IS

   -- Objetivo: Extrair caracteres numéricos de uma string

   nTamanho NUMBER;
   nPosicao NUMBER;
   strReturn VARCHAR2(255);
   strValorNumerico VARCHAR2(255);
   

   Begin

 strValorNumerico := NVL(strValor, ' ');
 nTamanho := LENGTH(strValorNumerico);

 -- Trocar caracteres numéricos por NULL
 For nPosicao IN 1..nTamanho LOOP
 If ASCII(SUBSTR(strValorNumerico, nPosicao, 1)) NOT BETWEEN 48 AND 57 
   And SUBSTR(strValorNumerico, nPosicao, 1) NOT IN ('-','/','.','(',')') Then
strReturn := strReturn || SUBSTR(strValorNumerico, nPosicao, 1);
 End If;
 End Loop;

 strReturn := LTRIM(RTRIM(strReturn));

 Return strReturn;

   End;
/



  - Original Message - 
  From: Leonardo Santos da Mata 
  To: oracle_br@yahoogrupos.com.br ; usuarios_ora...@yahoogrupos.com.br ; 
gpora...@yahoogrupos.com.br 
  Sent: Thursday, April 15, 2010 4:31 PM
  Subject: [oracle_br] retirar os caracteres numéricos de string



  ola pessoal,

  Eu estou com uma dificuldade aqui e gostaria de ajuda?

  eu tenho uma coluna que string em uma determinada tabela.

  porém tem caracteres alpha numéricos cadastrados nela.
  Porém é sem padrão nenhum, eu gostaria de saber como faço para extrair
  apenas os caracteres numéricos com uma consulta?

  Obrigado

  -- 
  Att,

  Leonardo Santos da Mata

  [As partes desta mensagem que não continham texto foram removidas]



  

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Ler registro anterior

2009-07-01 Por tôpico Marcos Bonato
Use a função LAG para retornar o ultimo valor ou  LEAD  para retornar o proximo

LAG  (value_expression [,offset] [,default]) OVER ([query_partition_clase] 
order_by_clause)
 LAG function to return the salary from the previous row, and to calculate the 
difference between the salary of the current row and that of the previous row. 
Notice that the ORDER BY of the LAG function is used to order the data by 
salary.



SELECT empno,
   ename,
   job,
   sal,
   LAG(sal, 1, 0) OVER (ORDER BY sal) AS sal_prev,
   sal - LAG(sal, 1, 0) OVER (ORDER BY sal) AS sal_diff
FROM   emp;



http://www.oracle-base.com/articles/misc/LagLeadAnalyticFunctions.php



  - Original Message - 
  From: Léo Vieira 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Tuesday, June 30, 2009 5:11 PM
  Subject: [oracle_br] Ler registro anterior





  Olá pessoal, tudo bem?

  Imaginem a seguinte tabela:

  ANO_MES DIRETORIA VOLUME VOL_MES_ANTERIOR VOL_ANO_ANTERIOR
  200702 A 40 0 0
  200702 B 20 0 0
  200702 C 30 0 0
  200801 A 20 0 0
  200801 B 33 0 0
  200801 C 25 0 0
  200802 A 87 0 0
  200802 B 96 0 0
  200802 C 54 0 0

  Como faço para preencher as colunas VOL_MES_ANTERIOR e VOL_ANO_ANTERIOR com o 
valor de registros que já li, por exemplo, o resultado seria o seguinte:

  ANO_MES DIRETORIA VOLUME VOL_MES_ANTERIOR VOL_ANO_ANTERIOR
  200702 A 40 0 0
  200702 B 20 0 0
  200702 C 30 0 0
  200801 A 20 0 0
  200801 B 33 0 0
  200801 C 25 0 0
  200802 A 87 20 40
  200802 B 96 33 20
  200802 C 54 25 30

  Muito obrigado,



  

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] order by

2008-11-25 Por tôpico Marcos Bonato
SELECT * FROM TABELA
ORDER BY
DECODE(LOGRADOURO,'RUA', '1', 'AVENIDA','2', '3' || LOGRADOURO);



  - Original Message - 
  From: Elcio Francisco 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Tuesday, November 25, 2008 12:37 PM
  Subject: [oracle_br] order by


  Tenho uma tabela de logradouros onde eu queria trazer na order da seguinte 
forma
   
  PRIMEIRO : RUA
  SEGUNDO : AVENIDA
   
  e depois os outros itens RODOVIA,ALAMEDA,VIELA..ETC pelo order by eu não 
consigo pq ele pega primeiro por ordem . Alguem conhece uma maneira de fazer 
isso
   
  obrigado
   
  elcio francisco

  Veja quais são os assuntos do momento no Yahoo! +Buscados
  http://br.maisbuscados.yahoo.com

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Front-end Oracle

2008-10-01 Por tôpico Marcos Bonato
usa o excel com front end, cria um usuário com acesso apenas p/ consulta e 
pronto!!!


  - Original Message - 
  From: Leonardo Santos da Mata 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Tuesday, September 30, 2008 3:49 PM
  Subject: Re: [oracle_br] Front-end Oracle


  Ei Rafael,
  isso não importa o front-end que o usuário vai utilizar.
  Vai depender das permissões que vc der para ele.
  Se vc quer só select tem apenas o grant de select para ele e para tabelas
  que vc desejar.

  2008/9/26 Rafael <[EMAIL PROTECTED]>

  > Olá Pessoal...
  >
  > Alguem conhece algum front-end para Oracle, onde o usuário não consiga
  > alterar dados (UPDATE, DELETE, ETC), tenha acesso apenas para select?
  >
  > Obrigado!
  > Rafael Martins
  >
  > 
  >

  -- 
  __
  Leonardo Santos da Mata
  skype lsmata | msn [EMAIL PROTECTED]
  __
  Ao repassar, favor APAGAR o e-mail de quem lhe enviou. Colocar os emails dos
  destinatários SEMPRE em CCo- Cópia Oculta.
  Não dê munição a hackers e evite a disseminação de spam.
  __

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]