Re: [oracle_br] Aplicar o io_calibrate

2017-06-07 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Bom dia,
Muito obrigado Luis Freitas.. 

A versão é:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 


Abraço,
LM

[oracle_br] Re: Aplicar o io_calibrate

2017-06-07 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Bom dia,
Muito obrigado Chiappa.. 



Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 

Abraço,
LM

[oracle_br] Aplicar o io_calibrate

2017-06-06 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Boa tarde Prezados,
Surgiu uma duvida, estive em uma reunião devido um problema de performance e 
claro eu só dei uma opinião ao DBA de infra a respeito de aplicar o 
io_calibrate, ja que a ultiva vez foi em fevereiro.  

A resposta foi: Não é necessário aplicar, pois isso só é feito uma vez.. 
É só uma vez ou quando houver necessidade? 

Por favor meus colegas, alguém poderia tirar esta dúvida? Eu acho que aplicaria 
se houvesse necessidade, mas fico no aguarde. 

Solicitei isso devido o problema que estava passando e vi que a operação que 
eles estavam executando estava gerando um evento: event='enq: KO - fast object 
checkpoint e estavam dizendo que era a minha sessão aplicacional que estava 
provocando isso por estar  aguardando o commit or rollback de outra sessão 
aplicacional. 

Mas vi que a minha sessão estava aguardando a deles, pois a sessão deles que 
estavam na blocking_session .
Ao consultar a sessão que estava bloqueando vi que estava em um evento: 
control file parallel write  dai o motivo do evento enq: KO - fast object 
checkpoint  e dai o motivo que perguntei que não seria bom fazer uma calibração 
nos discos..
Desculpe a mistura das informações..

Grande Abraço,
LM
 



[oracle_br] Re: Quantas vezes por dia cada materi al ized view é acessada(query rewrite)

2017-04-28 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Boa tarde Chiappa,
O meu RDBMS é Oracle Database 11g Enterprise Edition Release 11.2.0.4.0. 

Obrigado pelo feedback sempre..


LM

[oracle_br] Quantas vezes por dia cada materialized view é acessada(query rewrite)

2017-04-26 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Boa tarde companheiros,
É possível eu tirar esta estatística?

Luiz Marinho

How many times per day each materialized view is accessed. (Query rewrite) 



[oracle_br] Re: ORA-12805

2015-10-12 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Obrigado Chiappa..

[oracle_br] ORA-12805

2015-10-09 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Bom dia a todos,
 Estivemos com um problema ao qual vem ocorrendo o ORA-12805. Recentemente 
aconteceu em uma maquina DW ao qual todos os processo foram interrompidos com 
isso tivemos que recuperar tudo, em outro dia aconteceu o mesmo erro: 
ORA-12805, mas não afetou o processo que estava correndo naquele momento ou 
seja os processo foram finalizados. Isso em uma maquina em outro RAC, Já em 
outra maquina em outro RAC estava correndo uma query e obtive o mesmo erro 
12805 e cortou a minha comunicação em seguida se conectei e obtive outro erro 
para aquela minha sessão que foi:
 ORA-12801, ORA-00600, ORA-48216. Alguém teria uma pista? Eu não estou ligado 
direto a infra, pois cuido mais da parte aplicacional, mas como no intuito é 
juntar forças e despistar estes problemas que  vem acontecendo..  
 

  Todas a maquinas estão nesta versão
  Oracle Database 11g Enterprise Edition Release 11.2.0.4.0  
 

 Cumprimentos,
 LM
 



[oracle_br] Duvida em DW

2015-09-08 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Boa tarde colegas,
 Estou com um problema aqui de performance que aconteceu desde que se mudaram 
alguns parâmetros.
 Esta maquina tem 96 G de RAM esta em um SO 64 BIT RED HAT 11g Enterprise 
Edition Release 11.2.0.4.0
 RAC em 3 nós. Houve um problema, pois a maquina começou a pegir para aumentar 
SG+PGA dai comuniquei ao pessoa DBA'INFRA   com isso eles mudaram a forma que 
estava e inclusvise ativaram ate um parametro supostamente esta depreciado no 
11g e não colocaram como AMM para gerir as memorias SGA+PGA. Alguém tem uma 
sugestão para isso? Segue abaixo 
 

 ANTES
 

 memory_max_target big integer 32G
 memory_target big integer 32G 
 sga_max_size  big integer 12384M
 sga_targetbig integer 0
 

 shared_pool_reserved_size big integer 88919244
 shared_pool_size  big integer 0
 pga_aggregate_target  big integer 0
 

 parallel_automatic_tuningboolean FALSE
 parallel_degree_policy   string  MANUAL
 parallel_io_cap_enabled  boolean FALSE
 parallel_max_servers integer 1600
 parallel_min_percent integer 0
 parallel_servers_target  integer 640
 parallel_threads_per_cpu integer 2
 

 DEPOIS
 memory_max_targetbig integer 0
 memory_targetbig integer 0
 sga_max_size big integer 38G
 sga_target   big integer 38G
 shared_pool_reserved_sizebig integer 429496729
 shared_pool_size big integer 8G
 pga_aggregate_target big integer 9G
 

 parallel_automatic_tuningboolean TRUE
 parallel_degree_policy   string  AUTO   
 parallel_io_cap_enabled  boolean FALSE
 parallel_max_servers integer 1200
 parallel_min_percent integer 10
 parallel_servers_target  integer 900
 parallel_threads_per_cpu integer 2
 

 Cumprimentos,
 LM
 

 



[oracle_br] Re: ORA-01455

2015-08-05 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Muito obrigado Chiappa!! Compreendi.. Ok.. 

 

 Abraço,
 LM


[oracle_br] Re: ORA-01455

2015-08-05 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Boa tarde Chiappa, Só uma questão,
 Eu recebi as LUN's bruta assim
 

 Logical device ID=6006016010E02FDB0FA39E511 [WEBDB_data_93]
 Logical device ID=6006016010E02FDB0FA39E511 [WEBDB_data_92]
 Logical device ID=6006016010E02FDB0FA39E511 [WEBDB_data_91]
 

 


 --CRIAÇÃO DAS LUN'S BRUTA NO ASM assim
 # /etc/init.d/oracleasm createdisk ASM_WEBDB_data_93 /dev/WEBDB_data_93
 # /etc/init.d/oracleasm createdisk ASM_WEBDB_data_92 /dev/WEBDB_data_92
 #/etc/init.d/oracleasm createdisk ASM_WEBDBl_data_91 /dev/WEBDB_data_91
 

 Adiciono esta uma desta no meu diskgroup que esta com pouc espaço:
 

 ALTER DISKGROUP DGDATA ADD DISK '/dev/WEBDB_data_91' NAME ASM_WEBDB_data_91 
NOFORCE
 Após isso consigo ver novo o resultado positivo ou terei algo mais.. Desculpe 
o incomodo..Obrigado pelo seu apoio..
 ´
 LM ;

 


 



[oracle_br] Re: ORA-01455

2015-08-04 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Muito obrigado Chiappa!! Obrigado mesmo.. Irei ver isso tudo..
 

 Cumprimentos,
 LM


[oracle_br] Re: Delete de Milhões de linhas

2015-08-04 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Bom dia, Outro dia um desenvolver estava querendo deletar 15 milhões de 
registros e estava com problemas. Passei esta rotina para ele e ficou feliz. 
Espero que eu consiga contribuir..
 

 DECLARE
 TYPE myarray IS TABLE OF FACT_.day_cod%TYPE
 INDEX BY BINARY_INTEGER;
 d_array myarray;
 BEGIN
   d_array(1) := 20140531; 
  
   FORALL i IN d_array.FIRST .. d_array.LAST
   DELETE FACT_
   WHERE day_cod = d_array(i);
   COMMIT;
   FOR i IN d_array.FIRST .. d_array.LAST LOOP
 dbms_output.put_line('Iteration #' || i || ' deleted ' ||
 SQL%BULK_ROWCOUNT(i) || ' rows.');
   END LOOP;
 END;

 

 LM


[oracle_br] ORA-01455

2015-08-04 Por tôpico lmarinh...@yahoo.com.br [oracle_br]

 Bom dia a todos Colegas,
 Um  Diskgroup esta sem espaço ou seja não consigo fazer um RESIZE em um 
tablespace ao qual já chegou ao seu limite, mas o diskgroup (DGDATA) os oustros 
 3 estão tudo ok. (DGFRA,DGOCR,DGREDOS).
 

 O pessoal do storage criou As lun’s 1a_88, 1a_89 e ls1a_90 foram atribuídas ao 
servidor da base.
 

 Agora preciso adicionar as LUN'S  ao DISGROUP que não tem espaço para 
conseguir fazer o RESIZE  das minhas tablespace: Alguém poderia dar um help? 
 

 Fui fazer um select aqui e obtive um erro
 select disk_number, mode_status, name, path from v$asm_disk where group_number 
= 1 order by disk_number, name ;

 

 
 ORA-01455: Converting Column Overflows Integer Datatype When Querying 
v$asm_disk from database [ID 1473647.1]   11g Enterprise Edition Release 
11.1.0.7.0 
 

 Eu devo somente fazer um ALTER DISKGROUP DGDATA  ADD DISK lun’s 1a_88? 
 

 Obrigado pela atenção
 LM
 



[oracle_br] Re: phyrds/phys_wrts

2015-05-19 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Muito obrigado Chiappa.. 

 

 Abraço,
 LM


[oracle_br] phyrds/phys_wrts

2015-05-19 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Boa tarde Colegas,
 Eu preciso gerar estes relatórios
  
 - Quantidade de Pedidos Leitura/Escrita por hora nas últimas 24 horas
 
 - Performance CPU/RAM nas últimas 24 Horas
 

 Estou me baseando neste select, teriam outra forma?
 

 WITH totreadwrite AS (SELECT SUM (phyrds) phys_reads, SUM (phywrts) phys_wrts 
FROM v$filestat)
 SELECT   NAME, phyrds, phyrds * 100 / trw.phys_reads read_pct,
 phywrts, phywrts * 100 / trw.phys_wrts 
write_pct,TO_CHAR(checkpoint_time,'-MM-DD HH24')
  FROM totreadwrite trw, v$datafile df, v$filestat fs
WHERE df.file# = fs.file# 
and checkpoint_time > To_Date('18.05.2015 00','DD.MM. HH24')
GROUP BY NAME, phyrds, phyrds * 100 / trw.phys_reads,
 
 phywrts, phywrts * 100 / trw.phys_wrts,TO_CHAR(checkpoint_time,'-MM-DD 
HH24')
 

 LM
 



RE: [oracle_br] Numero extremamente grandes de locks

2015-04-23 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Obrigado prezado Chiappa. Obrigado a todos neste forum.

RE: [oracle_br] Numero extremamente grandes de locks

2015-04-22 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Mais uma vez. Sem palavras.. Obrigado Chiappa pela aula e agradeço sempre a 
todos aqui neste forum, sempre apreendendo mais.. O que esta disparando seja 
select, update,insert vem do EAI-TIBICO 

 

 Grande abraço,
 LM


RE: [oracle_br] Numero extremamente grandes de locks

2015-04-22 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Obrigado Francisco...Irei fazer isso 

 LM


[oracle_br] Numero extremamente grandes de locks

2015-04-22 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Bom dia a Todos,
 É possível  detectar exactamente o que pode estar a provocar volumes imensos 
de locks?
 

 
 count(*) object_name MODE_HELD
231363  TABELA Row-X(SX) 216342  TABELA Row-X(SX)
150579  TABELA Row-X(SX)

Foi criado uma nova TABLESPACE  achando que poderia resolver o problema  nas 
nada. Na verdade eu quero é identificar o que esta a  provocar.

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 

LM 

 


 

 

 

 

 



Re: [oracle_br] Order by

2015-04-17 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Resolvido... Agradeço a todos aqui neste forum. Com as recomendações detectei 
que o DBA havia criado o index composto referenciando as colunas do filtro, mas 
havia esquecido de desabilitar os index antigo ao qual estava fazendo a mesma 
referencia ou até mesmo dropado o qual seria o normal.. Agradeço a todos.. 

 

 LM


[oracle_br] Re: Order by

2015-04-15 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Obrigado Chiappa! Então como eu não tenho o total acesso neste servidor, apenas 
com alguns grants, Aqui esta as configurações.
 

 sort_area_size   integer 209715200
 sga_max_size big integer 12G
 sga_targetbig integer 12G
 shared_pool_reserved_sizebig integer 199648870
 shared_pool_size big integer 3G
 pga_aggregate_target big integer 2576980377
 hash_area_size   integer 419430400
 

 Fiz o plano do meu lado e solicitei o pessoal responsável para enviar do lado 
deles.
 

 LM



[oracle_br] Re: Order by

2015-04-15 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Obrigado Chiappa! Então como eu não tenho o total acesso neste servidor, apenas 
com alguns grants, mas posso te garantir já que a PGA não esta AUTO aqui esta 
as configurações.
 

 sort_area_size   integer 209715200
 sga_max_size big integer 12G
 sga_target   big integer 12G
 shared_pool_reserved_sizebig integer 199648870
 shared_pool_size big integer 3G
 pga_aggregate_target big integer 2576980377
 hash_area_size   integer 419430400
 

 Fiz o plano do meu lado e solicitei o pessoal responsável para enviar do lado 
deles.
 

 LM



[oracle_br] Order by

2015-04-13 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Boas Colegas,
 Eu tenho um dilema aqui. Esta query sem o order by é executado em 07 segundos, 
quando rodo com o order by leva aproximadamente 20 minutos isso tudo do lado do 
cliente. No servidor direto leva 25 segundos com o order by.  
 

 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0

  
 
  
 Memória 
 CPU (Cores)
 Nó 1
 96 GB
 2(10)
 Nó2
 96 GB
 2(10)
 Nó3
 96 GB
 2(10)
 Nó4
 96 GB
 2(10)
 

 SELECT service_id,
   public_id,
   substr( EXTRACTVALUE(SYS.XMLTYPE.createxml(xml), 
'/Message/ListOfOrders/Order/id'), 1, 50) id_in_client,
   status
 FROM  amp_order
 WHERE status = 'DECOMPOSED'
 and last_update_date <= (sysdate - 6/24)
 and client_id = 'AM' and master_system = 'AM'
 
 order by last_update_date
 



[oracle_br] Re: Não permitir o proprio user altere a senha

2015-03-31 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
rsrsrsr. Sim o remendo(feio) resolvido, mas realmente não tinha outra 
opção.rsrsr Mas valeu, sempre bom compartilhar como vocês.. 

 

 Luiz Marinho


[oracle_br] Re: Não permitir o proprio user altere a senha

2015-03-31 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Peço desculpas Galera,. Realmente a logica é simples Chiappa, eu estava com o 
usuario SYS. estava funcionando sim. Peço desculpas.. OU seja por isso para eu 
só permitir que o só SYS fizesse a alteração eu adicionei esta condição 'USER' 
AND ORA_LOGIN_USER <> 'SYS'. esta tranquilo.   

 Obrigado.

 Luiz Marinho
 



[oracle_br] Re: Não permitir o proprio user altere a senha

2015-03-31 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
OK. achei que tinha funcionado, mas com esta condição volto a permitir todos a 
fazer alteração só porque eu coloquei esta condição AND ORA_LOGIN_USER <> 
'SYS', mas aonde esta errao que eu quero que entre na condição todos que sejam 
diferente do sys ou seja permitir somente o SYS a fazer as alterações dos 
user.. 

 Luiz Marinho


[oracle_br] Re: Não permitir o proprio user altere a senha

2015-03-31 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Ok. Ok. ok.. Obrigado.. Consegui resolver o problema de permitir o SYS fazer as 
alterações. 

 if (ora_dict_obj_type = 'USER' AND ORA_LOGIN_USER <> 'SYS')

 

 Obrigado Chiappa
 

 Luiz Marinho
 



[oracle_br] Re: Não permitir o proprio user altere a senha

2015-03-31 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Só tem um problema ai. Com isso ele impede até o SYS de fazer o alter user em 
outros usuarios, ja que a finalidade é deixar somente o sys fazer as 
alterações. Ok a trigger funcional tão bem que bloqueia todos... Alguma ideia 
para ultrapassar este cenario, eu estou testando uma function aqui, mas não deu 
em nada ainda.  

 Luiz Marinho 


[oracle_br] Re: Não permitir o proprio user altere a senha

2015-03-30 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Sem palavras.. Muito obrigado Chiappa. É isto mesmo... sem palavras.. muito 
agradecido pela aula. 

 

 Luiz Marinho


[oracle_br] Re: Taxa crescimento

2015-03-30 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Bom dia André, Não se é isto, mas neste script você pode ver o tamanho e o 
espaço livre do seu DATABASE.
 

 Select round(sum(used.bytes) / 1024 / 1024/1024 ) || ' GB' "Database Size",
 round(free.p / 1024 / 1024/1024) || ' GB' "Free space"
 from (select bytes from v$datafile
   union all
   select bytes from v$tempfile
   union all
   select bytes from v$log) used,   
 (select sum(bytes) as p from dba_free_space) free
 group by free.p;
 

 Luiz Marinho

 



[oracle_br] Não permitir o proprio user altere a senha

2015-03-30 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Bom dia a todos,
 É possível  não permitir que um user altere a sua senha no banco? Tipo tenho 
um usuário aplicacional e vejo que esta sendo alterado a senha, sendo que Ele 
próprio pode fazer isto e não quero.
 

 Abraço,
 Luiz Marinho


[oracle_br] Re: Usando o FORALL

2015-03-12 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Agradeço o compartilhamento de conhecimento de todos. Chiappa é sempre bom ler 
as suas ideias e os seus conselhos quando se trata de RDBMS.. Valeu e muito 
obrigado.. 

 Luiz Marinho 


[oracle_br] Re: Usando o FORALL

2015-03-06 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Chiappa, Eu não tenho palavras..rsrs. Esse grupo é maravilhoso e as suas 
explicações fantásticas. Como havia respondido ao . Evandro, eu consegui 
corregar em um tempo que ao meu ver considero  bom não sei, mas esta melhor do 
que o tempo que estava rodando aqui, pois na verdade eu estou aqui justamente 
para procurar melhorar a performance desses códigos que foram implementados e 
percebi que foi utilizado muito dessas técnicas para forçar o aceleramento na 
execução.Com isso, algumas vezes estava justamente afetando a tablespace TEMP, 
Mas vamos ao resultado a quantidade carregada foi  5352370 em Tempo: 486.19 
segundos, sem utilizar esses APPEND PARA O INSERT E SEM UTilizar o SELECT /*+ 
PARALLEL (B) */. O objetivo é provar para a consultoria que é possivel melhorar 
os códigos que foram implementados e que alguns deles estão sim degrandando a 
performance do RDBMS. Estou estudando sobre o DOP  "Automatic Degree of 
Parallelism", como temos vários processo e não só no ambiente de DW e outros 
ambiente de CRM, aonvés de ter alguns códigos forçando estes HIT /*+ APPEND 
PARALLEL */ e  /*+ PARALLEL (B) */. O que tem a dizer sobre esta nova 
funcionalidade da oracle adicionado no 11g? Mais uma vez obrigado pela 
paciência e o profissionalismo em se dedicar a responder com esta clareza.
 

 Luiz Marinho 
 
 
 



Re: [oracle_br] Re: Usando o FORALL

2015-03-06 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Evandro Giachetto, Obrigado por ajudar a identificar o meu erro, pois realmente 
não estava conseguindo ver. Galera, obrigado pelo debate, pois vi que isso se 
estendeu  e isso é muito bom estar entre profissionais para chegar-mos a um 
consenso. Quero dizer para vocês que eu finalizei o meu processo carregando uma 
quantidade de dados de 5352370 em Tempo: 486.19 segundos. No meu ver acho um 
resultado muito bom, mas se tiver outra técnica para aplicar seria maravilhoso. 
Estou procurando eliminar o uso INSERT /*+ APPEND PARALLEL */ e nem o SELECT 
/*+ PARALLEL (B) */.
Pois muitos processos estão utilizando esta técnica aqui, não estou dizendo que 
é errado, mas vejo que as vezes degrada a performance ao invés de ajudar. Não 
usei e consegui chegar neste objetivo, pois estavam utilizando o INSERT 
SELECT.Grande abraço a todos.
 

 

 Luiz Marinho


[oracle_br] Re: Usando o FORALL

2015-03-05 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Obrigado pela dica. Só mais uma dúvida não são visão o BULK COLLECT INTO é mais 
rápido do que o FORALL? 

 

 Luiz Marinho


[oracle_br] Re: Usando o FORALL

2015-03-05 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Obrigado Evandro Giachetto, Em relação a melhorada do Código o que eu poderia 
utilizar melhor do que o FORALL, pois eu vi que o forall, é muito mais rápido 
do que os  outros  e o meu objetivo é ganhar na performance.Eu quero envitar a 
utilização do excesso de paralelismos que estão utilizando , por  isso estou 
mitificando alguns INSERT e testando. Tipo esse código era carregado com um 
INSERT SELECT e utilizando para os dois caso assim: 
 INSERT /*+ APPEND PARALLEL */ 

 

 SELECT /*+ PARALLEL (B) */

 

 Ou seja estão utilizando para que acelere, mas muitas das vezes  o hit afeta a 
performance. Estou aberto para opiniões. Obrigado mais uma vez Evandro Giachetto
 

 Luiz Marinho
 




[oracle_br] Usando o FORALL

2015-03-05 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Olá Galera,
 Estou obtendo um erro bobo aqui que não estou conseguindo ver. Esta dando erro 
que eu devo declarar algumas variáveis e as mesmas esta declaradas. O Código 
abaixo
 

 DECLARE
   t0 number := dbms_utility.get_time;
   v_idx number :=1;
   type t_rec is record(  
   SRC_DT_CALL   NUMBER,
   SRC_TM_CALL   VARCHAR2(30),
   SRC_CD_BNSS_UNIT  VARCHAR2(30),
   SRC_CD_CALL_AREA  VARCHAR2(30),
   SRC_CD_NTWK_ELMT  VARCHAR2(30),
   SRC_CD_OPRT_ORGN  VARCHAR2(30),
   SRC_CD_OPRT_DSTN  VARCHAR2(30),
   SRC_CD_PDSV   VARCHAR2(30),
   SRC_CD_SBSC   VARCHAR2(30),
   SRC_CD_PRCN_PLAN  VARCHAR2(30),
   SRC_CD_TRF_WAYVARCHAR2(30),
   SRC_CD_TRF_TYPE   VARCHAR2(30),
   SRC_CD_TRF_SUB_TYPE   VARCHAR2 (30),
   SRC_CD_TRF_NTWK   VARCHAR2 (30),
   SRC_CD_TRF_RMNG_TYPE  VARCHAR2 (30),
   SRC_CD_TRF_PERD_TYPE  VARCHAR2 (30),
   SRC_CD_TRF_CHRG_CALL  VARCHAR2 (30),
   SRC_CD_TRF_LINE_TYPE  VARCHAR2 (30),
   SRC_CD_TRF_TRMN_PONT  VARCHAR2 (30),
   SRC_CD_TRF_DROP_CALL  VARCHAR2 (30),
   SRC_CD_TRF_HOME_ZONE  VARCHAR2 (30),
   SRC_CD_TRF_TCNL   VARCHAR2 (30),
   SRC_CD_FIN_BLNC_TYPE  VARCHAR2 (30),
   SRC_CD_PAY_TYPE   VARCHAR2 (30),
   SRC_CD_EQPM_MODL  VARCHAR2 (30),
   SRC_NR_ORGN   VARCHAR2 (30),
   SRC_NR_DSTN   VARCHAR2 (30),
   SRC_QT_DRTN_TRFC  NUMBER   (22),
   SRC_QT_CHRG_DRTN_TRFC NUMBER   (22),
   SRC_QT_UPLD_TRFC  NUMBER   (22),
   SRC_QT_DWLD_TRFC  NUMBER   (22),
   SRC_VL_TRFC   NUMBER   (22),
   SRC_VL_BLNC_USED  NUMBER   (22),
   X_VL_TRFC_UTT NUMBER   (22),
   X_VL_TRFC_USD NUMBER   (22),
   V_TIMESTAMP date,
   X_CD_GLOB_CALL_REFVARCHAR2 (30),
   X_FL_RMNG NUMBER   (22), 
   SRC_CD_TRF_CHRG_TYPE  number(22),
   X_CD_MCC_ROAM number(22),
   X_CD_MNC_ROAM number(22),
   X_QT_DRTN_TRFC_FREE   NUMBER   (22),  
   X_CD_FAF  NUMBER   (22),
   X_DS_SRC_SYST VARCHAR2 (30),
   X_VL_PRVS_BLNCNUMBER   (22),
   X_VL_BLNC NUMBER   (22),
   X_QT_TOTL_DATA_TRFC   NUMBER   (22),
   X_CD_SRCE_FILENUMBER   (22),
   NSEQ_TRF  NUMBER(22),
   X_CD_SERV_CLSSNUMBER   (22));
   type t_rec_array is table of t_rec index by pls_integer;
   a_rec t_rec_array; 
BEGIN
 for r in(SELECT SUBSTR(A.DATA_EVENTO,1,8)AS 
SRC_DT_CALL,SUBSTR(A.DATA_EVENTO,9,6)AS SRC_TM_CALL,-1 AS SRC_CD_BNSS_UNIT,-1 
AS SRC_CD_CALL_AREA,nvl(ID_CELULA,-1) AS SRC_CD_NTWK_ELMT,
 CASE
   WHEN DIR_TRAFEGO = 'Outgoing' or large_account is not null then 
'63102' -- Angola
   WHEN DIR_TRAFEGO = 'Incoming' or DIR_TRAFEGO = 'Forwarding' then 
  nvl(pais_orig||operador,nvl(ID_TRF_TRMN_PONT,-1))
   Else '-1'
 END,--SRC_CD_OPRT_ORGN
  CASE
 WHEN DIR_TRAFEGO = 'Incoming' or DIR_TRAFEGO = 'Forwarding' or 
large_account is not null  then 
   '63102' -- Angola
 WHEN DIR_TRAFEGO = 'Outgoing' then 

nvl(pais_orig||operador,nvl(ID_TRF_TRMN_PONT,-1))
 Else '-1'
 END ,   --SRC_CD_OPRT_DSTN 
 nvl(A.Service_identifier,-1) AS SRC_CD_PDSV, 
--NVL(SERVICE_IDENTIFIER,-1)
 CASE
   WHEN A.DIR_TRAFEGO = 'Outgoing' then substr(A.MSISDN_ORIGEM,4,9) 
   WHEN A.DIR_TRAFEGO = 'Incoming' then 
decode(A.SUB_TIPO_TRAFEGO,'4','-2',substr(A.MSISDN_DESTINO,4,9))
   WHEN A.DIR_TRAFEGO = 'Forwarding' then 
substr(A.MSISDN_ORIGEM,4,9) 
   Else '-1' 
 END AS SRC_CD_SBSC,
 nvl(A.servicos,'-1') AS SRC_CD_PRCN_PLAN,
  nvl(A.DIR_TRAFEGO,-1) AS SRC_CD_TRF_WAY, 
 case
 when service_identifier = 'Gy_10' then '1'
 when SUB_TIPO_TRAFEGO in ('5') then '5'
 when service_identifier = 'SCAP_6' then '5'
 when SUB_TIPO_TRAFEGO in ('0','1') then '2'
 when SUB_TIPO_TRAFEGO in ('2','3') then '3'
 when SUB_TIPO_TRAFEGO in ('4') then '1'
 when SUB_TIPO_TRAFEGO in ('6','7','8') then '4'
 else '-1'
end as SRC_C

[oracle_br] TableSpace TEMP

2015-02-19 Por tôpico lmarinh...@yahoo.com.br [oracle_br]
Colegas, acredito que alguém ja teve este problema, só que eu continuo 
recebendo o erro toda via que algum processo em paralelo ocorre.Oracle Error # 
-12801 - ORA-12801: error signaled in parallel query server P136, instance 
lsbprdrac02n01:prdraidw1 (1)
 ORA-01652: unable to extend temp segment by 64 in tablespace TEMP" 
 

 Alguém poderia dar-me uma luz? Para evitar este problema estou limpando a temp 
manualmente, mas não seria o correto, pois a base é 24X7 qual seria a melhor 
solução? O script abaixo é o que é usado para limpar a TEMP e liberar o spaço.
 

 

 select owner, count(*) from gv$temp_extent_map
 where tablespace_name = 'TEMP'
 group by owner;
 

 declare 
 v_sql clob := 'ALTER SESSION SET EVENTS "immediate trace name drop_segments 
level 4" ';
 begin 
 for i in 1..100 loop
 execute immediate replace( v_sql, '"', chr(39) );
 end loop;
 end;
 /
 

 Obrigado
 Luiz Marinho