[oracle_br] Re: Numerando linhas da uma tabela
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
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
| 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
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
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]