[oracle_br] Re: Numerando linhas da uma tabela

2010-08-10 Por tôpico marcioribeiro1979

Vc pode tentar fazer um cursor para isso:

create table test as select object_name from dba_objects where owner = 'SYSTEM';

Table created.

select count(1) from test;

 COUNT(1)
-
  514

1 row selected.

alter table test add linha number(4);

Table altered.

desc test

NameNull?   
 Type
--- 
 --
OBJECT_NAME 
 VARCHAR2(128)
LINHA   
 NUMBER(4)


declare
  cursor c1 is
  select linha, object_name from test order by object_name for update 
of linha;
  i number(4) := 1;
begin
  for p1 in c1 loop
  update test set linha = i where current of c1;
  i := i + 1;
  end loop;
end;
/

PL/SQL procedure successfully completed.


select * from (select linha, object_name from test order by object_name) where 
rownum  21;

  LINHA OBJECT_NAME
--- --
  1 AQ$DEF$_AQCALL
  2 AQ$DEF$_AQERROR
  3 AQ$_DEF$_AQCALL_E
  4 AQ$_DEF$_AQCALL_F
  5 AQ$_DEF$_AQERROR_E
  6 AQ$_DEF$_AQERROR_F
  7 AQ$_INTERNET_AGENTS
  8 AQ$_INTERNET_AGENT_PRIVS
  9 AQ$_QUEUES
 10 AQ$_QUEUES_CHECK
 11 AQ$_QUEUES_PRIMARY
 12 AQ$_QUEUE_TABLES
 13 AQ$_QUEUE_TABLES_PRIMARY
 14 AQ$_SCHEDULES
 15 AQ$_SCHEDULES_CHECK
 16 AQ$_SCHEDULES_PRIMARY
 17 CATALOG
 18 COL
 19 CONFERE_SEQUENCE
 20 DBMS_REPCAT_AUTH
 



[ ]´s

Marcio


--- Em oracle_br@yahoogrupos.com.br, Samuel Corradi corrad...@... escreveu

 Não, eu quero numera-las sequencialmente.
 
 Eu adicionei um novo campo. Ele está todo como NULL. Quero entao 
 preencher seus registros com numeros sequenciais.
 
 Tentei usar rownum para isso mas o rownum dessa tabela não está 
 sequencial :(
 
 
 
 
 
 On 09-08-2010 15:59, Gerson Junior wrote:
  Com a quantidade de linhas??
 
  update tabela
  set coluna_nova = (select count(1) from tabela);
 
  Acho que nao é isso que voce quer, explica melhor.
 
 
 
  Atc.
  Gerson S. de Vasconcelos Júnior
  OCA DBA - Oracle Certified Associate
  Fone: (81) 9816-0236
  Msn: gerson.vasconce...@...
  Skype: gersonvjunior
  http://www.diaadiaoracle.com.br/
 
 
  Em 9 de agosto de 2010 15:38, Samuel Corradicorrad...@...escreveu:
 
 
 
  Pessoa, tenho uma tabela X.
 
  Adicionei uma nova coluna com alter table tabela_x add(coluna tipo...);
 
  Agora quero preencher os registros dessa coluna com a quantidade de linhas.
 
  Alguma sugestão para tal??
 
  Grato!
 
 
 
 
  [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
 
 
 





[oracle_br] Re: Problema com SQL

2010-05-24 Por tôpico marcioribeiro1979

Na realidade, existem vários parâmetros que podem influenciar o banco estar 
fazendo mais sort, ou menos sort... 

Agora o fato do comando não estar retornando, pode ser por vários fatores, como 
por exemplo, o número de datafiles do banco, o tamanho do controlfile, tamanho 
das áreas de memória, etc, etc.

Minha dica para seu comando é trocar o UNION por UNION ALL. Assim, vc estará 
reduzindo um sort desnecessário.


[ ]´s

Marcio Ribeiro






--- Em oracle_br@yahoogrupos.com.br, Raul Francisco Costa F. de Andrade, DBA 
raulf...@... escreveu

 não cara num tem nada de parâmetro que diga isso...
 
 
 
 Em 24 de maio de 2010 16:06, Welvis Douglas wel...@... escreveu:
 
 
 
  Não ele só não retorna..
 
  Tem algum parametro que define isso?
 
  -Mensagem original-
  De: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br [mailto:
  oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br] Em
  nome de Raul Francisco Costa F. de Andrade, DBA
  Enviada em: segunda-feira, 24 de maio de 2010 15:50
 
  Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br
  Assunto: Re: [oracle_br] Problema com SQL
 
  gera algum erro?
 
  Em 24 de maio de 2010 15:01, Welvis Douglas 
  wel...@...welvis%40stcruz.com.br
  escreveu:
 
  
  
  
   Não, é um banco 9.2.0.0.0
  
   E não está em Cluster não..
  
   Tem algum parametro que controla sort.. parece que quando faz sum, count
  ou
   algo do gênero o comando não retorna.
  
   Att,
  
   Welvis
  
   -Mensagem original-
   De: oracle_br@yahoogrupos.com.br 
   oracle_br%40yahoogrupos.com.broracle_br%
  40yahoogrupos.com.br [mailto:
   oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.broracle_br%
  40yahoogrupos.com.br] Em
 
   nome de Raul Francisco Costa F. de Andrade, DBA
   Enviada em: segunda-feira, 24 de maio de 2010 14:49
   Para: oracle_br@yahoogrupos.com.br 
   oracle_br%40yahoogrupos.com.broracle_br%
  40yahoogrupos.com.br
 
   Assunto: Re: [oracle_br] Problema com SQL
  
   Welvis... é um RAC?
  
   Em 24 de maio de 2010 14:47, Welvis Douglas
  wel...@... welvis%40stcruz.com.brwelvis%40stcruz.com.br
 
   escreveu:
  
   
   
Pessoal, estou fazendo uma consulta em um banco que parece ser um resp.
oracle.
   
O nome da instancia é OEMREP e faço o seguinte sql
   
select inst_id, 'Datafiles' filetype, count(*) count
   
from gv$datafile
   
group by inst_id
   
union
   
select inst_id, 'Tempfiles', count(*)
   
from gv$tempfile
   
group by inst_id
   
union
   
select inst_id, 'Controlfiles', count(*)
   
from gv$controlfile
   
group by inst_id
   
union
   
select inst_id, 'Logfiles', count(*) from gv$logfile group by inst_id;
   
A instancia não me retorna o resultado, é um query bem simples, tem
  algum
motivo para ela não funcionar?
   
Nas outras instancias ela funciona normalmente.
   
Att,
   
Welvis Douglas da Silva Moretto
   
DBA - Oracle Certified (1ZO-042)
   
Fone: (41) 9997-6297
   
E-mail: welvis_doug...@... welvis_douglas%40hotmail.com
  welvis_douglas%40hotmail.comwelvis_douglas%
   40hotmail.com,
wel...@... welvis%40stcruz.com.br welvis%40stcruz.com.br
  welvis%40stcruz.com.br
 
   
Messenger: welvis_doug...@... welvis_douglas%40hotmail.com
  welvis_douglas%40hotmail.comwelvis_douglas%
 
   40hotmail.com
   
Mestre em Engenharia de Produção e Sistemas - PUC/PR;
   
Especializando em Banco de Dados - UNOPAR;
   
Especialista Engenharia de Software - UNOPAR;
   
Tecnólogo em Processamento de Dados - FACCAR.
   
[As partes desta mensagem que não continham texto foram removidas]
   
   
   
  
   --
   --
   Raul Francisco da Costa Ferreira de Andrade
   DBA - OCA - Oracle Certified Associate
   COBIT Foundation 4.1
   Fone: (41)8855-8874 Brt
   email: raulf...@... raulfdba%40gmail.com raulfdba%40gmail.com
 
   Skype: raul.andrade
   www.clickdba.com
   Não somos seres humanos passando por uma experiência espiritual
   Somos seres espirituais passando por uma experiência humana.
  
   [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
  
  
 

[oracle_br] Re: Problema com SQL

2010-05-24 Por tôpico marcioribeiro1979
  | Operation| Name   | Rows  | Bytes | 
Cost (%CPU)| Time |
---
|   0 | SELECT STATEMENT ||   103 |  2657 | 
4 (100)| 00:00:01 |
|   1 |  UNION-ALL   ||   |   | 
   |  |
|   2 |   HASH GROUP BY  || 1 |   698 | 
1 (100)| 00:00:01 |
|   3 |NESTED LOOPS  || 1 |   698 | 
0   (0)| 00:00:01 |
|   4 | NESTED LOOPS || 1 |   388 | 
0   (0)| 00:00:01 |
|   5 |  NESTED LOOPS|| 1 |   323 | 
0   (0)| 00:00:01 |
|*  6 |   FIXED TABLE FULL   | X$KCCFN| 1 |   310 | 
0   (0)| 00:00:01 |
|*  7 |   FIXED TABLE FIXED INDEX| X$KCVFH (ind:1)| 1 |13 | 
0   (0)| 00:00:01 |
|*  8 |  FIXED TABLE FIXED INDEX | X$KCCFE (ind:1)| 1 |65 | 
0   (0)| 00:00:01 |
|*  9 | FIXED TABLE FULL | X$KCCFN| 1 |   310 | 
0   (0)| 00:00:01 |
|  10 |   HASH GROUP BY  || 1 |   375 | 
1 (100)| 00:00:01 |
|  11 |NESTED LOOPS  || 1 |   375 | 
0   (0)| 00:00:01 |
|  12 | NESTED LOOPS || 1 |   310 | 
0   (0)| 00:00:01 |
|* 13 |  FIXED TABLE FULL| X$KCCFN| 1 |   297 | 
0   (0)| 00:00:01 |
|* 14 |  FIXED TABLE FIXED INDEX | X$KCVFHTMP (ind:1) | 1 |13 | 
0   (0)| 00:00:01 |
|* 15 | FIXED TABLE FIXED INDEX  | X$KCCTF (ind:1)| 1 |65 | 
0   (0)| 00:00:01 |
|  16 |   HASH GROUP BY  ||   100 |  1300 | 
1 (100)| 00:00:01 |
|  17 |FIXED TABLE FULL  | X$KCCCF|   100 |  1300 | 
0   (0)| 00:00:01 |
|  18 |   HASH GROUP BY  || 1 |   284 | 
1 (100)| 00:00:01 |
|* 19 |FIXED TABLE FULL  | X$KCCFN| 1 |   284 | 
0   (0)| 00:00:01 |
---

Predicate Information (identified by operation id):
---

   6 - filter(FN.FNNAM IS NOT NULL AND FN.FNTYP=4 AND 
BITAND(FN.FNFLG,4)4)
   7 - filter(FN.FNFNO=FH.HXFIL)
   8 - filter(FE.FEDUP0 AND FN.FNFNO=FE.FENUM AND 
FE.FEFNH=FN.FNNUM)
   9 - filter(FE.FEPAX65535 AND FE.FEPAX0 AND 
FE.FEPAX=FNAUX.FNNUM OR
  (FE.FEPAX=0 OR FE.FEPAX=65535) AND 
FE.FENUM=FNAUX.FNFNO AND
  FNAUX.FNTYP=4 AND FNAUX.FNNAM IS NOT NULL AND 
BITAND(FNAUX.FNFLG,4)4 AND
  FE.FEFNH=FNAUX.FNNUM)
  13 - filter(FN.FNNAM IS NOT NULL AND FN.FNTYP=7)
  14 - filter(FN.FNFNO=FH.HTMPXFIL)
  15 - filter(TF.TFDUP0 AND BITAND(TF.TFSTA,32)32 AND
  FN.FNFNO=TF.TFNUM AND TF.TFFNH=FN.FNNUM)
  19 - filter(FNNAM IS NOT NULL AND FNTYP=3)

42 rows selected.



--- Em oracle_br@yahoogrupos.com.br, marcioribeiro1979 
marcioribeiro1...@... escreveu

 
 Na realidade, existem vários parâmetros que podem influenciar o banco estar 
 fazendo mais sort, ou menos sort... 
 
 Agora o fato do comando não estar retornando, pode ser por vários fatores, 
 como por exemplo, o número de datafiles do banco, o tamanho do controlfile, 
 tamanho das áreas de memória, etc, etc.
 
 Minha dica para seu comando é trocar o UNION por UNION ALL. Assim, vc estará 
 reduzindo um sort desnecessário.
 
 
 [ ]´s
 
 Marcio Ribeiro
 
 
 
 
 
 
 --- Em oracle_br@yahoogrupos.com.br, Raul Francisco Costa F. de Andrade, 
 DBA raulfdba@ escreveu
 
  não cara num tem nada de parâmetro que diga isso...
  
  
  
  Em 24 de maio de 2010 16:06, Welvis Douglas welvis@ escreveu:
  
  
  
   Não ele só não retorna..
  
   Tem algum parametro que define isso?
  
   -Mensagem original-
   De: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br [mailto:
   oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br] Em
   nome de Raul Francisco Costa F. de Andrade, DBA
   Enviada em: segunda-feira, 24 de maio de 2010 15:50
  
   Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br
   Assunto: Re: [oracle_br] Problema com SQL
  
   gera algum erro?
  
   Em 24 de maio de 2010 15:01, Welvis Douglas 
   welvis@welvis%40stcruz.com.br
   escreveu:
  
   
   
   
Não, é um banco 9.2.0.0.0
   
E não está em Cluster não..
   
Tem algum parametro que controla sort.. parece que quando faz sum, count
   ou
algo do gênero o comando não retorna.
   
Att,
   
Welvis
   
-Mensagem original-
De: oracle_br@yahoogrupos.com.br 
oracle_br%40yahoogrupos.com.broracle_br%
   40yahoogrupos.com.br [mailto:
oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.broracle_br

[oracle_br] Re: Problema com SQL

2010-05-24 Por tôpico marcioribeiro1979

Murilo,

Na realidade o uso do gv$ é uma facilidade, pois ele pode rodar o mesmo script 
em bancos RAC ou standalone (que tenha rodado o catclust.sql).

Trocar o script para v$, significa apenas que ele não terá de usar o campo 
inst_id... mas o GROUP BY vai continuar normalmente, pois está ligado ao 
COUNT(*).

Agora a idéia do UNION ALL é uma boa.

[ ]´s

Marcio Ribeiro

--- Em oracle_br@yahoogrupos.com.br, Murilo Lima candango...@... escreveu

 Welvis,
 
 tenta fazer a query em v$datafile, v$tempfile, etc... (sem o g), assim não
 será necessário o group by .
 As querys separadas, sem o union, estão executando?
 Pode tentar também com union all.
 É só um chute!
 
 []'s
 
 Murilo Lima
 
 Em 24 de maio de 2010 14:47, Welvis Douglas wel...@... escreveu:
 
 
 
  Pessoal, estou fazendo uma consulta em um banco que parece ser um resp.
  oracle.
 
  O nome da instancia é OEMREP e faço o seguinte sql
 
  select inst_id, 'Datafiles' filetype, count(*) count
 
  from gv$datafile
 
  group by inst_id
 
  union
 
  select inst_id, 'Tempfiles', count(*)
 
  from gv$tempfile
 
  group by inst_id
 
  union
 
  select inst_id, 'Controlfiles', count(*)
 
  from gv$controlfile
 
  group by inst_id
 
  union
 
  select inst_id, 'Logfiles', count(*) from gv$logfile group by inst_id;
 
  A instancia não me retorna o resultado, é um query bem simples, tem algum
  motivo para ela não funcionar?
 
  Nas outras instancias ela funciona normalmente.
 
  Att,
 
  Welvis Douglas da Silva Moretto
 
  DBA - Oracle Certified (1ZO-042)
 
  Fone: (41) 9997-6297
 
  E-mail: welvis_doug...@... welvis_douglas%40hotmail.com,
  wel...@... welvis%40stcruz.com.br
 
  Messenger: welvis_doug...@... welvis_douglas%40hotmail.com
 
  Mestre em Engenharia de Produção e Sistemas - PUC/PR;
 
  Especializando em Banco de Dados - UNOPAR;
 
  Especialista Engenharia de Software - UNOPAR;
 
  Tecnólogo em Processamento de Dados - FACCAR.
 
  [As partes desta mensagem que não continham texto foram removidas]
 
   
 
 
 
 [As partes desta mensagem que não continham texto foram removidas]





[oracle_br] Re: Auditoria oracle 10g

2010-02-11 Por tôpico marcioribeiro1979
Boa tarde.

Implantei auditoria de INSERT, UPDATE e DELETE em algumas tabelas importantes 
aqui na empresa. 

O grande impacto percebido foi no espaço em disco. Como estou utilizando 
AUDIT_TRAIL=DB_EXTENDED, toda a auditoria está sendo gravada no banco de dados.

Por default, a tabela SYS.AUD$ fica armazenada na tablespace SYSTEM. Assim, 
para evitar um aumento excessivo da SYSTEM, eu optei por mover a tabela AUD$ 
para outra tablespace, usando a nota do Metalink ID 1019377.6 (Porém, como a 
própria nota diz, essa procedure não é suportada pela Oracle).



[ ]´s

Marcio Ribeiro


--- Em oracle_br@yahoogrupos.com.br, Marcos Braga braga.mar...@... escreveu

 Olá Paulo,
 
 Creio que o impacto depende muito do que está sendo auditado.
 
 Implementamos auditoria aqui na empresa para buscar INSERT, UPDATE e DELETE
 de alguns usuários (usuários do aplicativo) e também estamos auditando duas
 tabelas importantes do banco.
 
 O impacto não foi notado até o momento.
 
 Pode observar que é uma auditoria de poucos objetos, alguns usuário e bem
 simplificada, por isso não há um impacto significativo. Se a auditoria que
 vai implementar é para todos os usuários, auditando todos os objetos,
 obviamente haverá um impacto perceptível.
 
 []s
 Braga
 
 
 Em 11 de fevereiro de 2010 15:44, paulo matadr saddon...@...escreveu:
 
 
 
  Boa tarde Pessoal,
 
  Preciso termina um relatorio de impacto na performace do banco de dados
  implementando uma auditoria completa em todo o banco de dados,
  alguem pra preciso implementar ? qual o impacto?Qual seria a melhor forma
  de auditar o banco?
 
  agradeço desde ja quem puder cooperrar
 
  minha versao é 10g standard 10.2.0.3
  ambiente RHEL 5 64bits
 
 
 
 [As partes desta mensagem que não continham texto foram removidas]