[oracle_br] Re: DBMS_REPAIR

2007-05-09 Por tôpico jlchiappa
Já consegui usar em várias ocasiões, ** MAS ** sempre e apenas para a
situação à qual ele é proposto, ie, corrupção LÓGICA, o que faz
sentido : se o problema é FÍSICO, ie, aquele setor/cluster do disco
NÂO PODE ser acessado no disco  (porque a cabeça de leitura encostou
no disco, porque a mídia se corrompeu, enfim, causa FÍSICA/mecânica),
absolutamente NÂO TEM COMO o dbms_repair fazer "sair uma mãozinha com
uma chave de fenda" e consertar o disco, substituir a mídia, formatar
uma trilha de disco, nada disso, yes ??? Logicamente o DBMS_REPAIR
serve APENAS pros casos onde fisicamente a trilha/cluster/bloco do
disco ainda pode ser lido fisicamente pelo Sistema Operacional, MAS a
informação gravada está logicamente corrompida, ie, está gravada "fora
de lugar", e/ou sem o cabeçalho apropriado, e/ou não segue o formato
Oracle, situações do tipo... Isso é o que o DBMS_REPAIR tenta
corrigir, e é algo muito mais comum do que se pensa - não só disco
defeituoso mas também, por exemplo, pentes de RAM defeituosos podem
causar isso : de repente o disco estava OK, aí a informação foi lida
pruma área de RAm fisicamente ruim, foi portanto adulterada, onde
deveria estar gravada x tal como no disco erradamente a RAM escreveu
y, logicamente quando for gravada de volta pro disco a info está
criado o caso clássico de corrupção lógica.  
  Caso vc não tenha conseguido usar o DBMS_REPAIR a primeira coisa que
a gente pensa é que vc tinha corrupção FÍSICA, aí não ia conseguir
MESMO, ok ?
  
  []s
  
   Chiappa
   
--- Em oracle_br@yahoogrupos.com.br, Alexandre Anselmo <[EMAIL PROTECTED]>
escreveu
>
> Pessoal,
> 
>   alguem ja conseguiu usar este utilitario para que ele realmente
consertasse algum bloco corrompido? Ja tive duas oportunidades de
usa-lo mas em nenhuma delas funcionou.
> 
> Segui as orientações de
http://www.oracleutilities.com/Packages/dbms_repair.html
> 
> Obrigado.
> 
> Ats,
> Alexandre Tenorio Anselmo.
> 
> 
> 
> __
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com
>




Re: [oracle_br] Referenciar Tabela

2007-05-09 Por tôpico Marcio Portes
create or replace package body pkg_nome

procedure 
begin
  ...
  select ... into ... from [EMAIL PROTECTED] where...
  ...
end;
...
end;
/


On 5/9/07, Alex Ferreira <[EMAIL PROTECTED]> wrote:
>
>   Olá Pessoal,
>
> Tenho uma PKG_NOME e uma tabela X que usamos em um DBLINK.
> Como posso saber referenciar a PKG com a tabela X?
>
> Valeu
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Marcio Portes
Material Tecnico em Portugues - http://mportes.blogspot.com
Practical Learning Oracle -
http://mportes.blogspot.com/2006/02/practical-learning-oracle.html


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



Re: [oracle_br] Lentidão no banco em determinados momentos

2007-05-09 Por tôpico Fábio Gibon - Comex System
amigo,
o primeiro passo é identificar que processos estao rodando quando da 
lentidão e também se há bloqueios de registros (sessoes waiting...)... é 
dificil dizer algo mais objetivo sem ver o problema "de perto".

sds
Gibon
  - Original Message - 
  From: cegoncalvesvr 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, May 09, 2007 5:26 PM
  Subject: [oracle_br] Lentidão no banco em determinados momentos


  Caros amigos,

  O meu banco apresenta certa lentidão em alguns momentos, é algumas 
  vezes ao dia.
  Quando derrubo todos os usuarios, e ao retornarem ao sistema, sinto 
  que os mesmos processos que antes estavam demorando, volta rapido.
  O que pode ser?

  Urgente.
  Obrigado de coração.




   

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



[oracle_br] Estatisticas !!!

2007-05-09 Por tôpico fabiobat2002
Bom Noite as todos,

Eu estou com um problema aqui muito curioso, tenho uma consulta de uma
determinada tabela ( veja) :

Detalhe: Fiz um rebuild antes de todos os indices desta tabela

exec DBMS_STATS.GATHER_TABLE_STATS(ownname=> 'NZ3002', tabname=>
'CHGPARTSUSAGE',method_opt=>'FOR ALL INDEXED COLUMNS', cascade=>TRUE);

SQL> EXPLAIN PLAN FOR
  2  SELECT COUNT (*)
  3 FROM NZ3002.CHGPARTSUSAGE
  4 WHERE (net_id LIKE '%RZMWY7%' OR net_id = '')
  5 AND div = '5'
  6 AND bk = '5T'
  7 AND bk_yr = '98'
  8 AND pad_no = '4244212'
  9 AND transact IN ('NEW', 'CHG', 'DEL')
 10  /

Explained.

SQL> select plan_table_output from
table(dbms_xplan.display('plan_table',null,'serial'));

PLAN_TABLE_OUTPUT
--

--
| Id  | Operation|  Name | Rows  |
Bytes | Cost  |
--
|   0 | SELECT STATEMENT |   | 1 |   
22 |23 |
|   1 |  SORT AGGREGATE  |   | 1 |   
22 |   |
|   2 |   TABLE ACCESS BY INDEX ROWID| CHGPARTSUSAGE | 1 |   
22 |23 |
|   3 |INDEX RANGE SCAN  | XPKCHGPARTSUSAGE  | 6 |   
   |20 |
--

Note: cpu costing is off, PLAN_TABLE' is old version

11 rows selected.

SQL> SELECT COUNT (*)
  2 FROM NZ3002.CHGPARTSUSAGE
  3 WHERE (net_id LIKE '%RZMWY7%' OR net_id = '')
  4 AND div = '5'
  5 AND bk = '5T'
  6 AND bk_yr = '98'
  7 AND pad_no = '4244212'
  8 AND transact IN ('NEW', 'CHG', 'DEL')
  9  /

  COUNT(*)
--
 0

beleza , mas qdo tiro as estatitisticas , o mesmo select acima me traz
uma linha:

SQL> exec DBMS_STATS.DELETE_TABLE_STATS(ownname=> 'NZ3002', tabname=>
'CHGPARTSUSAGE');

PL/SQL procedure successfully completed.

SQL> EXPLAIN PLAN FOR
  2  SELECT COUNT (*)
  3 FROM NZ3002.CHGPARTSUSAGE
  4 WHERE (net_id LIKE '%RZMWY7%' OR net_id = '')
  5 AND div = '5'
  6 AND bk = '5T'
  7 AND bk_yr = '98'
  8 AND pad_no = '4244212'
  9 AND transact IN ('NEW', 'CHG', 'DEL')
 10  /

Explained.

SQL> select plan_table_output from
table(dbms_xplan.display('plan_table',null,'serial'));

PLAN_TABLE_OUTPUT
-

--
| Id  | Operation|  Name | Rows  |
Bytes | Cost  |
--
|   0 | SELECT STATEMENT |   |   |   
   |   |
|   1 |  SORT AGGREGATE  |   |   |   
   |   |
|   2 |   TABLE ACCESS BY INDEX ROWID| CHGPARTSUSAGE |   |   
   |   |
|   3 |INDEX RANGE SCAN  | XPKCHGPARTSUSAGE  |   |   
   |   |
--

Note: rule based optimization, PLAN_TABLE' is old version

11 rows selected.

SQL> SELECT COUNT (*)
  2 FROM NZ3002.CHGPARTSUSAGE
  3 WHERE (net_id LIKE '%RZMWY7%' OR net_id = '')
  4 AND div = '5'
  5 AND bk = '5T'
  6 AND bk_yr = '98'
  7 AND pad_no = '4244212'
  8 AND transact IN ('NEW', 'CHG', 'DEL')
  9  /

  COUNT(*)
--
 1


Como pode isso , sendo que o plano de execucao e o mesmo ?
Estou coletando as estatisticas de forma correta ?
Vc acha que esta tabela esta fragmentada ?

Minha versao e 9.0.2.8

Obrigado






[oracle_br] Lentidão no banco em determinados momentos

2007-05-09 Por tôpico cegoncalvesvr
Caros amigos,

   O meu banco apresenta certa lentidão em alguns momentos, é algumas 
vezes ao dia.
   Quando derrubo todos os usuarios, e ao retornarem ao sistema, sinto 
que os mesmos processos que antes estavam demorando, volta rapido.
   O que pode ser?

Urgente.
Obrigado de coração.
 



[oracle_br] DBMS_REPAIR

2007-05-09 Por tôpico Alexandre Anselmo
Pessoal,

  alguem ja conseguiu usar este utilitario para que ele realmente consertasse 
algum bloco corrompido? Ja tive duas oportunidades de usa-lo mas em nenhuma 
delas funcionou.

Segui as orientações de http://www.oracleutilities.com/Packages/dbms_repair.html

Obrigado.

Ats,
Alexandre Tenorio Anselmo.



__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


[oracle_br] Re: Stored Procedure

2007-05-09 Por tôpico jlchiappa
Facílimo de tudo : a idéia básica é entrar no sqlplus e pedir :

SET HEAD OFF PAGES 0 LINES 2000 TRIMSPOOL ON
SPOOL nomedoarquivodesejado
SELECT text FROM DBA_SOURCE
 WHERE owner=donodaprocedure
   AND name='nomedaprocedure'
   AND TYPE='PROCEDURE'
order by line;
spool off


e tá feita a fofoca... Se vc não for DBA, pode conectar como usuário 
dono da proc e usar USER_SOURCE. Se forem muitas vc poderia usar as 
tools de export e import, nativas do próprio banco. E se preferir uma 
GUI, freewares como o Oracle SQL Developer (em 
http://www.oracle.com/technology/software/products/sql/index.html) ou 
o SQL Tools em http://www.sqltools.net/ , entre muitos outros, OU 
mesmo programas comerciais se vc quiser investir (como o TOAD ou o 
SQL navigator em http://www.quest.com/oracle/) ou o Pl/SQL developer 
em http://www.allroundautomations.nl/plsqldev.html por exemplo, entre 
muitos outros, te fazem isso também.

[]s

 Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Clayton Bonelli" <[EMAIL PROTECTED]> 
escreveu
>
> Tem como exportar o codigo de uma stored procedure para um arquivo 
texto?
> 
>  
> 
> Obrigado, 
> 
>  
> 
> Clayton
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




RES: [oracle_br] Stored Procedure

2007-05-09 Por tôpico Rafael Milanez
Ou melhor:

 

[EMAIL PROTECTED]>select replace(text, 'procedure', 'create or replace 
procedure') from user_source where name = 'AUMENTA_SALARIO';

 

REPLACE(TEXT,'PROCEDURE','CREATEORREPLACEPROCEDURE')

-

create or replace procedure AUMENTA_SALARIO

(sp_empno IN emp.empno%TYPE)

 

is

begin

UPDATE emp

set sal = sal * 1.10

where empno = sp_empno;

end aumenta_salario;

 

9 linhas selecionadas.

 

[EMAIL PROTECTED]>

 

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Clayton 
Bonelli
Enviada em: quarta-feira, 9 de maio de 2007 14:07
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Stored Procedure

 

Tem como exportar o codigo de uma stored procedure para um arquivo texto?

Obrigado, 

Clayton

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

 



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



resp:[oracle_br] Stored Procedure

2007-05-09 Por tôpico Rodrigo Mufalani
Caro,

Verifique isso aqui... com isso vc pode colocar procedures, functions e
outros, basta vc saber o nome do objeto, tipo e owner a quem ele
pertence...

set heading off;
set echo off;
Set pages 999;
set long 9;

spool ddl_list.sql
select dbms_metadata.get_ddl('TABLE','DEPT','SCOTT') from dual;
spool off;


Atenciosamente,

/***/
/* Rodrigo Mufalani  */
/* Oracle 10g Adm Certified Associate */
/***/


Tem, não é só buscar o TEXT da ALL_SOURCE?
--
Rafael Alexandre Schmitt
[EMAIL PROTECTED] || www.hbtec.com.br
Blumenau - Santa Catarina

- Original Message -
From: Clayton Bonelli
To: oracle_br@yahoogrupos.com.br
Sent: Wednesday, May 09, 2007 2:07 PM
Subject: [oracle_br] Stored Procedure

Tem como exportar o codigo de uma stored procedure para um arquivo
texto?

Obrigado,

Clayton

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

--
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 08/05/2007 / Versão:
5.1.00/5026
Proteja o seu e-mail Terra: http://mail.terra.com.br/

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









No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.467 / Virus Database: 269.6.5/793 - Release Date: 5/7/2007
2:55 PM



Aqui na Oi Internet você ganha ou ganha. Além de acesso grátis com
qualidade, ganha contas ilimitadas de email com 1 giga cada uma. Ganha
espaço ilimitado para hospedar sua página pessoal. Ganha flog, suporte
grátis e muito mais. Baixe grátis o Discador em
http://www.oi.com.br/discador e comece a ganhar.

Agora, se o seu negócio é voar na internet sem pagar uma fortuna,
assine Oi Internet banda larga e ganhe modem grátis. Clique em
http://www.oi.com.br/bandalarga e aproveite essa moleza!




RES: [oracle_br] Stored Procedure

2007-05-09 Por tôpico Rafael Milanez
Seria mais ou menos isso

 

[EMAIL PROTECTED]>show user

USER é "SCOTT"

 

[EMAIL PROTECTED]>create or replace procedure AUMENTA_SALARIO

  2  (sp_empno IN emp.empno%TYPE)

  3  

  4  is

  5  begin

  6  UPDATE emp

  7  set sal = sal * 1.10

  8  where empno = sp_empno;

  9  end aumenta_salario;

 10  /

 

Procedimento criado.

 

[EMAIL PROTECTED]>spool c:\aumenta_salario.txt

 

[EMAIL PROTECTED]>select text from user_source where name = 'AUMENTA_SALARIO';

 

TEXT



procedure AUMENTA_SALARIO

(sp_empno IN emp.empno%TYPE)

 

is

begin

UPDATE emp

set sal = sal * 1.10

where empno = sp_empno;

end aumenta_salario;

 

9 linhas selecionadas.

 

[EMAIL PROTECTED]>spool off

 

saída do arquivo

 

TEXT















procedure AUMENTA_SALARIO   













(sp_empno IN emp.empno%TYPE)














 

Re: [oracle_br] Stored Procedure

2007-05-09 Por tôpico Rafael Alexandre Schmitt
Tem, não é só buscar o TEXT da ALL_SOURCE?
--
Rafael Alexandre Schmitt
[EMAIL PROTECTED]  ||  www.hbtec.com.br
Blumenau - Santa Catarina

  - Original Message - 
  From: Clayton Bonelli 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, May 09, 2007 2:07 PM
  Subject: [oracle_br] Stored Procedure


  Tem como exportar o codigo de uma stored procedure para um arquivo texto?

  Obrigado, 

  Clayton

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



   


--
  Esta mensagem foi verificada pelo E-mail Protegido Terra.
  Scan engine: McAfee VirusScan / Atualizado em 08/05/2007 / Versão: 5.1.00/5026
  Proteja o seu e-mail Terra: http://mail.terra.com.br/ 



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



Re: [oracle_br] URGENTE - Banco parado...

2007-05-09 Por tôpico t3sylvi

   Prezado Colega,

   Tente recuperar seu BD utilizando a opção abaixo:

   RECOVER DATABASE UNTIL TIME 01-JAN-2001:04:32:00;   ---> um tempo que
seja anterior à hora do problema (corrupção)

   Ou:

   RECOVER DATABASE UNTIL CHANGE ; -> nesse aqui, vc deve especificxar
o número do System Change Number
(SCN) seguinte ao que vc deseja recuperar. Por exemplo, se vc deseja
restaurar se banco até a transação com o SCN 9, vc
então deverá especificar "UNTIL CHANGE 10".

   Espero tê-lo ajudado!

   Um abraço e Boa Sorte!!

   Depois passe-nos um  retorno, ok?!  :-D

   Kika.






Josir Gomes <[EMAIL PROTECTED]>@yahoogrupos.com.br em 09/05/2007 15:38:47

Favor responder a oracle_br@yahoogrupos.com.br

Enviado Por:  oracle_br@yahoogrupos.com.br


Para:  oracle_br@yahoogrupos.com.br
cc:

Assunto:[oracle_br] URGENTE - Banco parado...




Caros colegas,

tentei de tudo e não consegui acessar o banco Oracle 8.1.7
eu dou:

alter database open;

ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 408 change 88526508 time 05/09/2007
11:38:34
ORA-00312: online log 2 thread 1:
'/u01/app/oracle/oradata/msystems/redo02.log'

Se eu puder entrar no banco mesmo como READONLY apenas para fazer um
EXPORT já me adianta pois posso pegar a base e exportar para outro
servidor. Ou seja, qualquer dica será bem vinda.

Josir.

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









RES: [oracle_br] URGENTE - Banco parado...

2007-05-09 Por tôpico Rafael Milanez
Tente montar com startup force

 

Depois de montado

 

Depois de montado tentar dar um Alter database clear logfile nesse arquivo

 

Depois 

 

Recover automatic database

 

Alter database open

 

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Josir 
Gomes
Enviada em: quarta-feira, 9 de maio de 2007 15:39
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] URGENTE - Banco parado...

 

Caros colegas,

tentei de tudo e não consegui acessar o banco Oracle 8.1.7
eu dou:

alter database open;

ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 408 change 88526508 time 05/09/2007 
11:38:34
ORA-00312: online log 2 thread 1: 
'/u01/app/oracle/oradata/msystems/redo02.log'

Se eu puder entrar no banco mesmo como READONLY apenas para fazer um 
EXPORT já me adianta pois posso pegar a base e exportar para outro 
servidor. Ou seja, qualquer dica será bem vinda.

Josir.

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

 



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



[oracle_br] Stored Procedure

2007-05-09 Por tôpico Clayton Bonelli
Tem como exportar o codigo de uma stored procedure para um arquivo texto?

 

Obrigado, 

 

Clayton



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



[oracle_br] URGENTE - Banco parado...

2007-05-09 Por tôpico Josir Gomes
Caros colegas,

tentei de tudo e não consegui acessar o banco Oracle 8.1.7
eu dou:

alter database open;

ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 408 change 88526508 time 05/09/2007 
11:38:34
ORA-00312: online log 2 thread 1: 
'/u01/app/oracle/oradata/msystems/redo02.log'

Se eu puder entrar no banco mesmo como READONLY apenas para fazer um 
EXPORT já me adianta pois posso pegar a base e exportar para outro 
servidor. Ou seja, qualquer dica será bem vinda.

Josir.




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



[oracle_br] Re: Determinadas transações levam muito tempo para serem concluidas pelo Oracle- Urg

2007-05-09 Por tôpico jlchiappa
Colega, conta do usuário eu acho difícil, pois se fosse quota de 
tamanho esgotada nalguma tablespace simplesmente PARAVA com o erro 
xyz - unable to extend tablespace blablabla, ok ? Uma possibilidade 
nesse sentido poderia ser algum resource profile associado aou 
usuário, alguma trigger de logon que faça algum ALTER, algo no 
estilo, MAS como vc diz que o negócio é só "num determinado 
processo", imagino que o mesmo usuário roda outros processos 
normalmente, né ? Então acho que podemos afirmar com boa margem que é 
um prob específica NESSE processo... Pra saber o que é, eu sugiro 
que :

a) vc INSTRUMENTE o processo para que a cada passo ele registre o que 
está fazendo (pode ser na coluna apropriada da v$session via package 
DBMS_APPLICATION_INFO, pode ser arq. texto, como quiser)

e

b)altere-o também para que logo no início desse processo ele consulte 
e guarde nalgum lugar (tabela, arquivo, o que quiser) os waits e 
estats da própria sessão, ao final do processo guarde novamente a 
info, E daí vc roda esse processo também com trace 10046 ativo, E 
enquanto o processo está rodando vc em eoutra sessão vc também vai 
consultando os locks e waits regularmente via scripts. Isso deve te 
dar subsídio mais que suficiente pra vc identificar o problema.

[]s

 Chiappa
--- Em oracle_br@yahoogrupos.com.br, "cegoncalvesvr" 
<[EMAIL PROTECTED]> escreveu
>
> Amigos,
> 
> 
> Determinado processo no sistema esta muito lento com alguns 
> usuarios.
> Como posso fazer para descobriir no Oracle se o problema é com 
a 
> conta do usuario. (espaçoe etc)?
> Ou se o problema é em outra area?
> 
> Alguem pode me ajudar.
> A lentidão é muito sentido numa tela especifica.
> 
> Obrigado.
> Urgente
>




Res: Res: Res: [oracle_br] Re: Eventos de Espera.?

2007-05-09 Por tôpico jlchiappa
Blz, veja que não sou os em Perl mas ** também ** os em SQL vc acha 
nesse local, ok ? Eu tinha perguntado se era esse mesmo o livro 
justamente porque não veio nada em CD, fiquei na dúvida que scripts 
eram esses que vc não encontrava

[]s

 Chiappa
--- Em oracle_br@yahoogrupos.com.br, Welvis Douglas Silva Moreto 
<[EMAIL PROTECTED]> escreveu
>
> Ok, Ok, Ok amigo, acho q estes em PERL eu tenho, eu consegui 
baixar.. ehehehe, mas blz.. muito obrigado pela atenção.
> 
> qualquer coisa eu dou um grito.. ehehe
> 
> Obrigado pela Atenção.
> 
> Att,
> 
> Welvis Douglas
> Msn : [EMAIL PROTECTED]
> 
> 
> - Mensagem original 
> De: jlchiappa <[EMAIL PROTECTED]>
> Para: oracle_br@yahoogrupos.com.br
> Enviadas: Segunda-feira, 7 de Maio de 2007 18:50:32
> Assunto: Res: Res: [oracle_br] Re: Eventos de Espera.?
> 
> Colega, fui checar aqui em casa e o livro que eu tenho é 
o "Optimizing
> Oracle Performance" , do autor cary Millsap, editora O´Reilly, 
Primeira
> Edição, é esse mesmo que vc quer ? Pois fui checar e ele não veio 
com
> CD algum de scripts, os (poucos) scripts que ele usa - como por
> exemplo o script PERL de contagem de geytimeofday na pág. 153, ou os
> exemplos de v$ no cap. 08: Fixed view reference - todos estão 
listados
> no próprio livro, quais "scripts" que vc quer ??? E se vc não quiser
> digitar, no Prefácio ele já nos diz que as memas listagens estão
> online em http://www.oreilly. com/catalog/ optoraclep/ , é isso ? 
Ou é
> outro o livro a que vc se refere ?
> 
> []s
> 
> Chiappa
> --- Em [EMAIL PROTECTED] os.com.br, Welvis Douglas Silva Moreto
>  escreveu
> >
> > Olá Chiappa, tudo bem ? você conseguiu ver os scripts lá no seu 
livro?
> > pois eu tenho o livri em pdf, ai não preciso estar comprando... 
> > ai mando imprimir.. fica mais facíl.
> > 
> > att,
> > 
> > Welvis Douglas
> > 
> > 
> > - Mensagem original 
> > De: jlchiappa 
> > Para: [EMAIL PROTECTED] os.com.br
> > Enviadas: Sexta-feira, 4 de Maio de 2007 14:07:32
> > Assunto: Res: [oracle_br] Re: Eventos de Espera.?
> > 
> > Ah, pra complementar ficou faltando eu dizer mais algumas 
> > coisas :primeiro, de forma alguma vc deveria estar preocupado com 
o 
> > fato de "aparecerem muitos full scans", NEM SEMPRE um full scan 
> > é "mau", nem sempre é "bom"... O que vc tem que estar preocupado 
é 
> > com a EFICIÊNCIA, com quantos logical I/Os vc teve que fazer 
> > Assim, se um dado plano está fazendo um full scan MAS vc testou e 
> > sabe que a query vai recuperar poucas linhas E que se usar um 
índice 
> > y, ou se fazer um hash join ao invés de nested loop, ou o que 
for, vc 
> > obtém a mesma resposta com qtdade de LIOs menor, ENTÃO SIM esse 
full 
> > scan é "mau", já se vc quer ler uma larga proção da tabela, quer 
> > aplicar paralelismo, não há como se acessar via índice porque 
alguma 
> > das colunas indexadas não está no WHERE ou não está sendo 
restringida 
> > por valor algum, AÍ um suculento full scan é ** exatamente ** o 
que o 
> > dr. recomendou, esse full scan é "bom"...
> > Quanto à eficiência, é se assegurar que o scan acessa a MENOR 
> > quantidade de blocos possíveis no MENOR TEMPO : por exemplo se vc 
> > tiver uma high-water mark desnecessariamente alta vc vai ter 
lotes de 
> > blocos inúteis sendo lidos, se o seu db_file_multiblock_ read não 
> > estiver no máximo aceitável pelo SO + hardware, E/OU se o extent 
size 
> > não for adequado, vc não está lendo o máximo possível no menor 
> > tempo Da mesma forma, quando eu falei em "alteração física" 
em 
> > msg anterior, quero dizer algo do tipo : SE vc deixar a storage 
como 
> > default quando cria uma tabela, o bd VAI deixar um monte de 
> > espaços "vazios" à espera de futuros UPDATEs, então a mesma 
> > quantidade de linhas com o default ocupa via de regra MUITO MAIS 
> > blocos do que se vc tivesse não reservado esse espaço, menos 
blocos 
> > implica em menos I/O...
> > Outras alterações físicas podem ser ** extremamente ** úteis, por 
> > exemplo : se vc frequentemente precisa recuperar apenas os 
> > relativamente poucos registros dos clientes do estado SP, vc ter 
um 
> > índice que indexa apenas essa porção dos dados 9via FUCNTION 
INDEX) 
> > talvez aceleraria ENORMEMENTE , pois ainda que seja necesário um 
> > scan seria feito scan no índice, que seria menor que a tabela por 
> > conter menos dados... da mesma forma, Particionamento, Views 
> > Materializadas, Clusters, tabela ordenadas na hora da criação, 
GTTs, 
> > IOTs, etc, podem levar a reduções ASSOMBROSAS de I/O, vc TEM que 
as 
> > conhecer todas E ver em que pontos da sua aplicação essas feats 
te 
> > ajudam...
> > 
> > 
> > []s
> > 
> > Chiappa
> > 
> > --- Em [EMAIL PROTECTED] os.com.br, "jlchiappa"  
> > escreveu
> > >
> > > Seguem respostas :
> > > 
> > > [EMAIL PROTECTED] com.br, Welvis Douglas Silva Moreto  
> > > escreveu
> > > >
> > > > ... é que aqui eu posso mexer nos Sql's pois temos os fontes 
dos 
> > > programas,.. ..
> > > 
> > > OK, então a alter

[oracle_br] Re: problema migracao oracle9i para oracle10g

2007-05-09 Por tôpico jlchiappa
Com certeza, existem sim : vc tanto pode usar as ** mesmas ** opções 
das versões anteriores (ie, trace 10046 e/ou comando AUDIT e/ou views 
e tabelas internas, tal como V$SQL e similares), quanto na versão 10g 
de banco vc pode usar também o pacote DBMS_FGA pra auditoria de DMLs 
(nas versões anteriores FGA era só pra queries). 
No seu caso específico eu sugiro vc usar o trace 10046 na conexão do 
próprio programa C, pois aí com ele :

a) vc vai obter ** tudo **, rigorosamente TODOS os comandos que foram 
pro banco, não apenas os INSERTs (de repente havia um IF que faz 
UPDATEs ao invpes de INSERTs se uma condição for satisfeita, 
digamos). Além do que os comandos vêm na ordem que foram executados , 
e de bônus vc obtém tempos de waits se quiser, também

E

b) nesse trace vêm também rigorosamente TODOS os erros de banco que 
possam ter havido, os valores sendo usados... 


http://www.petefinnigan.com/ramblings/how_to_set_trace.htm tem um 
guia bem legalzinhos das opções todas do trace, como o setar, etc.

[]s

 Chiappa
 
--- Em oracle_br@yahoogrupos.com.br, "Miguel Angelo Crosariol" 
<[EMAIL PROTECTED]> escreveu
>
> tenho uma maquina com client 9.2.0.4 acessando servidor 10g, nesta 
maquina roda um aplicativo feito em C, ele faz alem de varios acessos 
de consultas ao banco oracle alguns inserts, estou tendo problema com 
um destes inserts que deveria registrar determinada passagem numa 
determinada tabela, ate ja simulei este insert no prompt da maquina 
client e funcionou.
> minha pergunta, existe alguma forma de auditar os inserts no oracle 
10g para pegar oque esta gerando erro pq, como o aplicativo foi feito 
em C por outra empresa nao consigo debugar para pegar a query de 
insert e descobrir oque esta pegando, ate vi no Forum da pagina da 
oracle que se o client for o 9.2.0.4 ele é compativel com o server 
10g, agradeço desde ja qq informação.
> 
> ps. antes do oracle 10g era um oracle 9.2.0.6
> 
> Miguel
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: OracleXE com Browser Remoto?

2007-05-09 Por tôpico pythondeveloper
Galera consegui resolver o meu problema, fiz assim:

Criei um script com o seguinte conteudo:
#!/bin/bash
# system = usuario
# password = senha

sqlplus -S system/password@//localhost/XE < escreveu
>
> Saudações.
> 
> Eu instalei o OracleXE em um servidor Debian Etch4.0, está rodando
> blzinha, mas não consigo acessar de um navegador(Firefox, IE) que está
> em outra máquina, estou pesquisando mas ainda não encontrei uma solução.
> 
> alguma idéia ?
>




[oracle_br] Referenciar Tabela

2007-05-09 Por tôpico Alex Ferreira
Olá Pessoal,

Tenho uma PKG_NOME e uma tabela X que usamos em um DBLINK.
Como posso saber referenciar a PKG com a tabela X?

Valeu


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



Re: [oracle_br] Oracle Forms - ler informaçã o de um excel

2007-05-09 Por tôpico Rafael Alexandre Schmitt
Bom , provavelmente o problema está aqui:

client_ole2.add_arg(args, 'C:Ora.prn');
...
client_ole2.invoke(workbook, 'Save As', args);

Mas é só um palpite

--
Rafael Alexandre Schmitt
[EMAIL PROTECTED]  ||  www.hbtec.com.br
Blumenau - Santa Catarina

  - Original Message - 
  From: Tathyanna Pelegrinni 
  To: [EMAIL PROTECTED] ; oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, May 09, 2007 12:30 PM
  Subject: [oracle_br] Oracle Forms - ler informação de um excel


  Gente,

  O q é este erro "305500: non-ORACLE exception" 

  Fiz o seguinte procedimento (veja abaixo) e dá essa messagem. Algúem pode me
  ajudar?

  Exemplo:

  PROCEDURE EXCEL(P_NOME_ARQ IN VARCHAR2,
  P_COLUNA_UM IN CHAR,
  P_COLUNA_DOIS IN CHAR,
  P_LINHA_INICIO IN NUMBER
  ) IS

  -- DELCARACAO DE VARIAVEIS DO TIPO OLE2 ( PACOTE MICROSOFT )
  application client_ole2.obj_type;
  workbooks client_ole2.obj_type;
  workbook client_ole2.obj_type;
  worksheet client_ole2.obj_type;
  cell client_ole2.obj_type;
  COLUNAS NUMBER(02);
  args client_ole2.list_type;
  Check_file client_text_io.file_type;
  WRK_LINHA_FIM NUMBER;

  --DECLARACAO DE VARIAVEIS E EXCEPTIONS
  no_file exception;
  PRAGMA exception_INIT(no_file, -302000);
  cell_value varchar2(2000);
  x number :=0; -- variavel para verificar 1º registro da coluna dois
  y number:=1; --variavel de controle

  BEGIN
  -- VERIFICA EXISTENCIA DO ARQUIVO
  Check_file := CLIENT_TEXT_IO.FOPEN(P_NOME_ARQ, 'R');
  CLIENT_TEXT_IO.FCLOSE(Check_file);
  application := client_ole2.create_obj('Excel.Application');
  workbooks := client_ole2.get_obj_property(application, 'Workbooks');

  --Abrir arquivo requerido em workbook
  go_ITEM('PREVIEW_IMPORTED_COST.W_REF_NUM');
  args := client_ole2.create_arglist;
  client_ole2.add_arg(args, P_NOME_ARQ); --endereco ou parametro do arquivo
  desejado
  workbook := client_ole2.invoke_obj(workbooks, 'Open', args);
  client_ole2.destroy_arglist(args);

  -- Abrir a folha (planilha) desse workbook
  args := client_ole2.create_arglist;
  client_ole2.add_arg(args, 'PLAN1');
  worksheet := client_ole2.get_obj_property(workbook, 'Worksheets', args);
  client_ole2.destroy_arglist(args);

  -- RECUPERA DADOS DAS CELULAS DO ARQUIVO
  args := client_ole2.create_arglist;

  --LEITURA DE LINHAS E COLUNAS DE ACORDO COM OS PARAMETROS FORNECIDOS

  for j in 1..2 loop

  -- recebe coluna digitada
  if y = 1 then
  y := p_coluna_um;
  else
  y := p_coluna_dois;
  end if;

  for i in P_LINHA_INICIO..65536 loop
  client_ole2.add_arg(args, i);
  client_ole2.add_arg(args, y);
  cell:= client_ole2.get_obj_property(worksheet, 'Cells', args);
  client_ole2.destroy_arglist(args);
  args:= client_ole2.create_arglist;

  --IDENTIFICA SE É NUMERO OU VARCHAR ( DEFAULT NÚMERO )
  cell_value := client_ole2.get_num_property(cell,'Value');
  if cell_value = 0 then
  cell_value := client_ole2.get_char_property(cell,'Value');
  end if;

  --VERIFICA DADOS NULOS
  IF CELL_VALUE IS NULL THEN
  EXIT;
  END IF;

  --POPULA AS COLUNAS
  if y = p_coluna_um then

  :PREVIEW_IMPORTED_COST.W_REF_NUM := cell_value;
  message (cell_value);

  --POPULA COLUNA DESCR
  /* BEGIN

  SELECT MRC.DESCR INTO :PREVIEW_IMPORTED_COST.DESCR
  from merc mrc, fornitura fnt
  where fnt.referencia = :PREVIEW_IMPORTED_COST.W_REF_NUM
  AND FNT.FORN_NUM = :CONTROLE.FORN_NUM
  AND FNT.FORNITURA_NUM = MRC.merc_num;

  exception
  when no_data_found then
  :PREVIEW_IMPORTED_COST.descr := ' ';
  END;*/

  elsif y = p_coluna_dois then
  x := x + 1;
  if x = 1 then
  first_record;
  end if;
  --
  :PREVIEW_IMPORTED_COST.W_CUST := cell_value;

  end if;

  NEXT_RECORD;
  end loop;

  --condicao para retornar ao loop de coluna
  if j = 1 then
  y :=2;
  else
  y:=3;
  end if;

  END LOOP;
  first_record;

  --DESTROI AS VARIAVEIS
  args := client_ole2.create_arglist;
  client_ole2.add_arg(args, 'C:Ora.prn');
  client_ole2.add_arg(args, 'Formatted text(Space
  delimited)(*.prn)|*.prn|');
  client_ole2.invoke(workbook, 'Save As', args);
  client_ole2.destroy_arglist(args);
  client_ole2.invoke(application, 'Quit');

  -- LIBERANDO AS VARIAVEIS DO TIPO OLE ( PACOTE MICROSOFT)
  client_ole2.release_obj(cell);
  client_ole2.release_obj(worksheet);
  client_ole2.release_obj(workbook);
  client_ole2.release_obj(workbooks);
  client_ole2.release_obj(application);
  go_ITEM('PREVIEW_IMPORTED_COST.W_REF_NUM');

  exception
  --TRATAMENTO DE ERRO, CASO NÃO ENCONTRE O ARQUIVO
  WHEN no_file THEN
  message('File Doesn`t exists');
  go_item('PREVIEW_IMPORTED_COST.SPREADSHEET');
  --DESabilita('PREVIEW_IMPORTED_COST.W_REF_NUM');
  -- DESabilita('PREVIEW_IMPORTED_COST.DESCR');
  -- DESabilita('PREVIEW_IMPORTED_COST.W_CUST');
  -- DESabilita('PREVIEW_IMPORTED_COST.IMPORT');

  --QUALQUER OUTRO ERRO, EXIBE MSG
  WHEN OTHERS THEN
  MESSAGE(sqlerrm);

  END;

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



   


--
  Esta mensagem foi verific

[oracle_br] REDO corrompido - banco parado... complementando

2007-05-09 Por tôpico Josir Gomes
Olá pessoal,

complementando, antes de dar "alter database open resetlogs;"

recover database until cancel;

Só então eu dei

alter database open resetlogs;

E deu erro:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/u01/app/oracle/oradata/msystems/system01.dbf'

Tem jeito ainda de recuperar o banco??

Para completar, o último backup está corrompido...
Só tenho intacto os dumps dos schemas.

Se alguem puder ajudar, ficarei imensamente grato

Josir.



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



[oracle_br] Amigos DBAs ajuda sobre STORAGE urgente!

2007-05-09 Por tôpico Renata de Oliveira
Olá pessoal, boa tarde à todos!

Estou com uma dúvida, e precisaria da ajuda dos amigos DBAs para 
solucioná-la: 

Estou efetuando a criação de uma nova tabela. Esta será um espelho de 
uma tabela já em produção, por isso o seu nro de registros iniciais é 
enorme(+/- 57.589.488).
Utilizando o Case Oracle Designer, fiz o levantamento da estimativa 
de Storage da Tabela e dos indexes, e os resultados foram o seguintes:

Tabela X:
Initial Size: 13.31 Gb
End Size : 24.97 Gb
Max.Size: 28.41 Gb

Para os indexes da tabela X:
IX_1  : Initial Size: 713.62 Mb
IX_2  : Initial Size: 1.1 Gb
IX_3  : Initial Size: 2.56 Gb
IX_4  : Initial Size: 1.28 Gb
IX_5  : Initial Size: 3.5 Gb
IX_6  : Initial Size: 950.53 Mb
IX_8  : Initial Size: 1.92 Gb
IX_9  : Initial Size: 950.53 Mb
IX_10 : Initial Size: 2.1 Gb
IX_11 : Initial Size: 1.39 Gb
PK: Initial Size: 831.72 Mb
UK: Initial Size: 4.96 Gb
 
Minha dúvida é a seguinte
Se eu somar os initial size dos indexes eu terei um tamanho que maior 
que o tamanho inicial da tabelagostaria de saber se isto pode 
acontecer?! 
Posso ter um Storage de Dados maior que o Storage de Index?!?!?
Alguém poderia me esclarecer essa dúvida, ou então me indicar onde 
posso encontrar uma documentação a respeito para que eu possa 
averiguar?!

Desde já agradeço à todos!

Um abraço, 

Renata Oliveira








[oracle_br] REDO corrompido - banco parado...

2007-05-09 Por tôpico Josir Gomes
Olá pessoal,

tenho um Oracle 8.1.7 que "crashou"

Ao tentar restartar, deu erro

ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 408 change 88526508 time 05/09/2007 
11:38:34
ORA-00312: online log 2 thread 1: 
'/u01/app/oracle/oradata/msystems/redo02.log'

select * from gv$log;
INST_IDGROUP# THREAD#SEQUENCE#  BYTES  MEMBERSARC 
STATUS   FIRST_CHAN FIRST_TIM
-- -- -- -- -- -- --- 
 -- -
 1  1  1 493375 512000  1 NO  
ACTIVE 88526505 09-MAY-07
 1  2  1 493376 512000  1 NO  
CURRENT88526508 09-MAY-07
 1  3  1  0 512000  1 NO  
UNUSED 88526503 09-MAY-07

SVRMGR> SELECT GROUP#, STATUS, MEMBER FROM V$LOGFILE;
GROUP# STATUS  MEMBER
-- --- 

 1 /u01/app/oracle/oradata/msystems/redo01.log
 2 /u01/app/oracle/oradata/msystems/redo02.log
 3 /u01/app/oracle/oradata/msystems/redo03.log


select file#,ts#,status from v$datafile;
FILE#  TS#STATUS
-- -- ---
 1  0 SYSTEM
 2  1 ONLINE
 3  2 ONLINE
 4  3 ONLINE
 5  6 ONLINE
 6  8 ONLINE
 7  7 ONLINE
 8 11 ONLINE
 9 12 ONLINE
10 13 ONLINE
11 14 ONLINE
12 15 ONLINE
14 16 ONLINE
15 17 ONLINE

Aí eu dei  alter database open resetlogs;

E deu erro:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/u01/app/oracle/oradata/msystems/system01.dbf'

Tem jeito ainda de recuperar o banco??

Obrigado,
Josir.


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



[oracle_br] Oracle Forms - ler informação de um excel

2007-05-09 Por tôpico Tathyanna Pelegrinni
Gente,

O q é este erro "305500: non-ORACLE exception" 

Fiz o seguinte procedimento (veja abaixo) e dá essa messagem. Algúem pode me
ajudar?

Exemplo:


PROCEDURE EXCEL(P_NOME_ARQ  IN VARCHAR2,
P_COLUNA_UMIN CHAR,
P_COLUNA_DOIS   IN CHAR,
P_LINHA_INICIO  IN NUMBER
) IS


  -- DELCARACAO DE VARIAVEIS DO TIPO OLE2 ( PACOTE MICROSOFT )
  application   client_ole2.obj_type;
  workbooks client_ole2.obj_type;
  workbook  client_ole2.obj_type;
  worksheet client_ole2.obj_type;
  cell  client_ole2.obj_type;
 COLUNAS NUMBER(02);
  args   client_ole2.list_type;
  Check_fileclient_text_io.file_type;
  WRK_LINHA_FIM  NUMBER;

 --DECLARACAO DE VARIAVEIS E EXCEPTIONS
  no_file exception;
  PRAGMA  exception_INIT(no_file, -302000);
  cell_valuevarchar2(2000);
  xnumber :=0; -- variavel para verificar 1º registro da coluna dois
 ynumber:=1;  --variavel de controle

BEGIN
   -- VERIFICA EXISTENCIA DO ARQUIVO
   Check_file := CLIENT_TEXT_IO.FOPEN(P_NOME_ARQ, 'R');
   CLIENT_TEXT_IO.FCLOSE(Check_file);
   application := client_ole2.create_obj('Excel.Application');
   workbooks   := client_ole2.get_obj_property(application, 'Workbooks');

  --Abrir arquivo requerido em workbook
  go_ITEM('PREVIEW_IMPORTED_COST.W_REF_NUM');
  args := client_ole2.create_arglist;
  client_ole2.add_arg(args, P_NOME_ARQ); --endereco ou parametro do arquivo
desejado
  workbook := client_ole2.invoke_obj(workbooks, 'Open', args);
  client_ole2.destroy_arglist(args);

  -- Abrir a folha (planilha) desse workbook
  args := client_ole2.create_arglist;
  client_ole2.add_arg(args, 'PLAN1');
  worksheet := client_ole2.get_obj_property(workbook, 'Worksheets', args);
  client_ole2.destroy_arglist(args);


  -- RECUPERA DADOS DAS CELULAS DO ARQUIVO
args := client_ole2.create_arglist;


   --LEITURA DE LINHAS E COLUNAS DE ACORDO COM OS PARAMETROS FORNECIDOS

 for j in 1..2  loop


  -- recebe coluna digitada
  if y = 1 then
   y := p_coluna_um;
  else
   y := p_coluna_dois;
  end if;

 for i in P_LINHA_INICIO..65536  loop
  client_ole2.add_arg(args, i);
  client_ole2.add_arg(args, y);
  cell:= client_ole2.get_obj_property(worksheet, 'Cells', args);
  client_ole2.destroy_arglist(args);
  args:= client_ole2.create_arglist;

  --IDENTIFICA SE É NUMERO OU VARCHAR ( DEFAULT NÚMERO )
   cell_value := client_ole2.get_num_property(cell,'Value');
   if cell_value = 0 then
cell_value := client_ole2.get_char_property(cell,'Value');
   end if;

   --VERIFICA DADOS NULOS
   IF CELL_VALUE IS NULL THEN
 EXIT;
   END IF;

   --POPULA AS COLUNAS
 if  y = p_coluna_um then

   :PREVIEW_IMPORTED_COST.W_REF_NUM := cell_value;
   message (cell_value);

   --POPULA COLUNA DESCR
/* BEGIN

   SELECT MRC.DESCR INTO :PREVIEW_IMPORTED_COST.DESCR
from merc mrc, fornitura fnt
where fnt.referencia = :PREVIEW_IMPORTED_COST.W_REF_NUM
AND FNT.FORN_NUM = :CONTROLE.FORN_NUM
AND FNT.FORNITURA_NUM = MRC.merc_num;

 exception
  when no_data_found then
  :PREVIEW_IMPORTED_COST.descr := ' ';
   END;*/

 elsif y = p_coluna_dois then
   x := x + 1;
 if x = 1 then
 first_record;
 end if;
 --
 :PREVIEW_IMPORTED_COST.W_CUST := cell_value;

 end if;

NEXT_RECORD;
   end loop;

 --condicao para retornar ao loop de coluna
 if j = 1 then
  y :=2;
 else
  y:=3;
 end if;

 END LOOP;
 first_record;



  --DESTROI AS VARIAVEIS
 args := client_ole2.create_arglist;
  client_ole2.add_arg(args, 'C:Ora.prn');
  client_ole2.add_arg(args, 'Formatted text(Space
delimited)(*.prn)|*.prn|');
  client_ole2.invoke(workbook, 'Save As', args);
  client_ole2.destroy_arglist(args);
  client_ole2.invoke(application, 'Quit');

  -- LIBERANDO AS VARIAVEIS DO TIPO OLE ( PACOTE MICROSOFT)
  client_ole2.release_obj(cell);
  client_ole2.release_obj(worksheet);
  client_ole2.release_obj(workbook);
  client_ole2.release_obj(workbooks);
  client_ole2.release_obj(application);
  go_ITEM('PREVIEW_IMPORTED_COST.W_REF_NUM');

  exception
--TRATAMENTO DE ERRO, CASO NÃO ENCONTRE O ARQUIVO
   WHEN no_file THEN
   message('File Doesn`t exists');
   go_item('PREVIEW_IMPORTED_COST.SPREADSHEET');
   --DESabilita('PREVIEW_IMPORTED_COST.W_REF_NUM');
  -- DESabilita('PREVIEW_IMPORTED_COST.DESCR');
  -- DESabilita('PREVIEW_IMPORTED_COST.W_CUST');
  -- DESabilita('PREVIEW_IMPORTED_COST.IMPORT');

--QUALQUER OUTRO ERRO, EXIBE MSG
WHEN OTHERS THEN
 MESSAGE(sqlerrm);

END;


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



[oracle_br] problema migracao oracle9i para oracle10g

2007-05-09 Por tôpico Miguel Angelo Crosariol
tenho uma maquina com client 9.2.0.4 acessando servidor 10g, nesta maquina roda 
um aplicativo feito em C, ele faz alem de varios acessos de consultas ao banco 
oracle alguns inserts, estou tendo problema com um destes inserts que deveria 
registrar determinada passagem numa determinada tabela, ate ja simulei este 
insert no prompt da maquina client e funcionou.
minha pergunta, existe alguma forma de auditar os inserts no oracle 10g para 
pegar oque esta gerando erro pq, como o aplicativo foi feito em C por outra 
empresa nao consigo debugar para pegar a query de insert e descobrir oque esta 
pegando, ate vi no Forum da pagina da oracle que se o client for o 9.2.0.4 ele 
é compativel com o server 10g, agradeço desde ja qq informação.

ps. antes do oracle 10g era um oracle 9.2.0.6

Miguel

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



Re: [oracle_br] Tamanho em bytes de uma tabela

2007-05-09 Por tôpico Gustavo Venturini de Lima
Sorry... Passei errado mesmo...
Aí vai:

select segment_name, sum(bytes) from dba_segments where segment_type='TABLE'
and owner='GNFOWNER' group by segment_name order by 1;

SEGMENT_NAME  | SUM(BYTES)
--|---
AREA_GESTORA  |1048576
CAMPO |1048576
CFOP  |1048576
CNL   |3145728
CONTRATO  |1048576
CONTROLE_EMAIL|   13631488
CONTROLE_GED  |   34603008
DIRETORIA |1048576
DIVISAO   |1048576
EMPRESA   |1048576
EXCECAO_PEDIDO|1048576
FATURA|   52428800
FILIAL|1048576
FORMULARIO|1048576
FORMULARIO_CAMPOS |1048576
FORNECEDOR|7340032
GRUPO |1048576
GRUPO_COMPRADORES |1048576
GRUPO_OPERACAO|1048576
GRUPO_USUARIO |1048576
INTERCONEXAO  |3145728
INVOICE   |1048576
IN_VITRIA_FANF|   83886080
IN_VITRIA_STATUS  |  469762048
ITENS_FATURA  |2097152
ITENS_INVOICE |1048576
ITENS_NOTA_FISCAL |   83886080
ITENS_OUTRO_DOCUMENTO |3145728
ITENS_PEDIDO  |  268435456
LOG_MUDANCA_STATUS|  973078528
LOG_OPERACAO  | 1342177280
MODELO|1048576
MODELO_TIPO_DOCUMENTO |1048576
MOTIVO_DEVOLUCAO  |1048576
MOTIVO_DEVOLUCAO_STATUS   |1048576
NOTA_FISCAL   |  192937984
NOTA_FISCAL_IMPOSTO   |1048576
NOTA_FISCAL_ORIGINAL  |4194304
OPERACAO  |1048576
OUTRO_DOCUMENTO   |   24117248
OUTRO_DOCUMENTO_IMPOSTO   |1048576
OUT_VITRIA_FANF   |   75497472
PARAMETRO |1048576
PARTIDA_ABERTA|5242880
PARTIDA_COMPENSADA|3145728
PEDIDO|   41943040
PLAN_TABLE|1048576
RESPONSAVEL   |1048576
SENHA |1048576
SERVICO   |1048576
SITUACAO  |1048576
SQLN_EXPLAIN_PLAN |1048576
STATUS_POSTERIOR  |1048576
STATUS_SAP_WEB|1048576
STATUS_TIPO_DOCUMENTO |1048576
STATUS_WEB|1048576
TIPOMOEDA |1048576
TIPO_DOCUMENTO|1048576
TIPO_IMPOSTO  |1048576
TIPO_PEDIDO   |1048576
UPLOAD_FANF   |  637534208
USUARIO   |1048576
USUARIO_FILIAL|1048576
USUARIO_FORNECEDOR|1048576
VALOR_IMPOSTO |1048576

65 rows selected.


Em 09/05/07, Aleksandro Souza Azevedo <[EMAIL PROTECTED]>
escreveu:
>
>   Obrigado pela ajuda, mais a coluna bytes não existe.
> Testei nas versões 9i e 10g
>
> Estou logado com o usuário SYS.
>
> - Original Message -
> From: Gustavo Venturini de Lima
> To: oracle_br@yahoogrupos.com.br 
> Sent: Tuesday, May 08, 2007 5:35 PM
> Subject: Re: [oracle_br] Tamanho em bytes de uma tabela
>
> select object_name, sum(bytes) from dba_objects where object_type='TABLE';
>
> se quiseres escoher de um owner específico é só adicionar o "and
> owner='NOME';
>
> []'s
>
> Em 08/05/07, Aleksandro <[EMAIL PROTECTED]>
> escreveu:
> >
> > Boa tarde,
> >
> > Estou necessitando de um Select que contenha o nome das tabelas e o
> > tamanho em bytes de cada tabela listada.
> > Procurei no forum e não encontrei nada. Alguem sabe se existe algo
> > parecido com isso.
> >
> >
> >
>
> [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 não continham texto foram removidas]



[oracle_br] OracleXE com Browser Remoto?

2007-05-09 Por tôpico pythondeveloper
Saudações.

Eu instalei o OracleXE em um servidor Debian Etch4.0, está rodando
blzinha, mas não consigo acessar de um navegador(Firefox, IE) que está
em outra máquina, estou pesquisando mas ainda não encontrei uma solução.

alguma idéia ?







Re: [oracle_br] Tamanho em bytes de uma tabela

2007-05-09 Por tôpico Aleksandro Souza Azevedo
Valeu pela dica, isso vai me ajudar.

  - Original Message - 
  From: [EMAIL PROTECTED] 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Tuesday, May 08, 2007 5:54 PM
  Subject: Re: [oracle_br] Tamanho em bytes de uma tabela



  SQL> desc dba_segments
  Name Null? Type
  - 
  
  OWNER VARCHAR2(30)
  SEGMENT_NAME VARCHAR2(81)
  PARTITION_NAME VARCHAR2(30)
  SEGMENT_TYPE VARCHAR2(18)
  TABLESPACE_NAME VARCHAR2(30)
  HEADER_FILE NUMBER
  HEADER_BLOCK NUMBER
  BYTES NUMBER
  BLOCKS NUMBER
  EXTENTS NUMBER
  INITIAL_EXTENT NUMBER
  NEXT_EXTENT NUMBER
  MIN_EXTENTS NUMBER
  MAX_EXTENTS NUMBER
  PCT_INCREASE NUMBER
  FREELISTS NUMBER
  FREELIST_GROUPS NUMBER
  RELATIVE_FNO NUMBER
  BUFFER_POOL VARCHAR2(7)

  select segment_name, sum(bytes/1024/1024) from dba_segments where 
segment_name='tabela'
  group by segment_name;

  "Aleksandro" <[EMAIL PROTECTED]>@yahoogrupos.com.br em
  08/05/2007 17:25:47

  Favor responder a oracle_br@yahoogrupos.com.br

  Enviado Por: oracle_br@yahoogrupos.com.br

  Para: oracle_br@yahoogrupos.com.br
  cc: (bcc: priscila pacheco viana BULL/LIGHT)
  Assunto: [oracle_br] Tamanho em bytes de uma tabela

  Boa tarde,

  Estou necessitando de um Select que contenha o nome das tabelas e o
  tamanho em bytes de cada tabela listada.
  Procurei no forum e não encontrei nada. Alguem sabe se existe algo
  parecido com isso.

  --

  O conteúdo desta mensagem e seus anexos constitui informação confidencial. O 
seu uso, 
  divulgação, reprodução e/ou cópia são proibidos. Caso não seja o destinatário 
da mesma, 
  favor devolvê-la para o remetente e apagá-la em seguida.
  --
  This message is intended only for the individual organization to which it is 
addressed and 
  contains confidential or privileged information. Any retransmission, 
dissemination or other 
  use of this information by anyone other than the intended recipient is 
prohibited. If you are 
  not the intended recipient please reply to or forward a copy of this message 
to the sender 
  and delete the message.

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



   

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



Res: Res: Res: [oracle_br] Re: Eventos de Espera.?

2007-05-09 Por tôpico Welvis Douglas Silva Moreto
Ok, Ok, Ok amigo, acho q estes em PERL eu tenho, eu consegui baixar.. ehehehe, 
mas blz.. muito obrigado pela atenção.

qualquer coisa eu dou um grito.. ehehe

Obrigado pela Atenção.

Att,

Welvis Douglas
Msn : [EMAIL PROTECTED]


- Mensagem original 
De: jlchiappa <[EMAIL PROTECTED]>
Para: oracle_br@yahoogrupos.com.br
Enviadas: Segunda-feira, 7 de Maio de 2007 18:50:32
Assunto: Res: Res: [oracle_br] Re: Eventos de Espera.?

Colega, fui checar aqui em casa e o livro que eu tenho é o "Optimizing
Oracle Performance" , do autor cary Millsap, editora O´Reilly, Primeira
Edição, é esse mesmo que vc quer ? Pois fui checar e ele não veio com
CD algum de scripts, os (poucos) scripts que ele usa - como por
exemplo o script PERL de contagem de geytimeofday na pág. 153, ou os
exemplos de v$ no cap. 08: Fixed view reference - todos estão listados
no próprio livro, quais "scripts" que vc quer ??? E se vc não quiser
digitar, no Prefácio ele já nos diz que as memas listagens estão
online em http://www.oreilly. com/catalog/ optoraclep/ , é isso ? Ou é
outro o livro a que vc se refere ?

[]s

Chiappa
--- Em [EMAIL PROTECTED] os.com.br, Welvis Douglas Silva Moreto
 escreveu
>
> Olá Chiappa, tudo bem ? você conseguiu ver os scripts lá no seu livro?
> pois eu tenho o livri em pdf, ai não preciso estar comprando... 
> ai mando imprimir.. fica mais facíl.
> 
> att,
> 
> Welvis Douglas
> 
> 
> - Mensagem original 
> De: jlchiappa <[EMAIL PROTECTED] ..>
> Para: [EMAIL PROTECTED] os.com.br
> Enviadas: Sexta-feira, 4 de Maio de 2007 14:07:32
> Assunto: Res: [oracle_br] Re: Eventos de Espera.?
> 
> Ah, pra complementar ficou faltando eu dizer mais algumas 
> coisas :primeiro, de forma alguma vc deveria estar preocupado com o 
> fato de "aparecerem muitos full scans", NEM SEMPRE um full scan 
> é "mau", nem sempre é "bom"... O que vc tem que estar preocupado é 
> com a EFICIÊNCIA, com quantos logical I/Os vc teve que fazer 
> Assim, se um dado plano está fazendo um full scan MAS vc testou e 
> sabe que a query vai recuperar poucas linhas E que se usar um índice 
> y, ou se fazer um hash join ao invés de nested loop, ou o que for, vc 
> obtém a mesma resposta com qtdade de LIOs menor, ENTÃO SIM esse full 
> scan é "mau", já se vc quer ler uma larga proção da tabela, quer 
> aplicar paralelismo, não há como se acessar via índice porque alguma 
> das colunas indexadas não está no WHERE ou não está sendo restringida 
> por valor algum, AÍ um suculento full scan é ** exatamente ** o que o 
> dr. recomendou, esse full scan é "bom"...
> Quanto à eficiência, é se assegurar que o scan acessa a MENOR 
> quantidade de blocos possíveis no MENOR TEMPO : por exemplo se vc 
> tiver uma high-water mark desnecessariamente alta vc vai ter lotes de 
> blocos inúteis sendo lidos, se o seu db_file_multiblock_ read não 
> estiver no máximo aceitável pelo SO + hardware, E/OU se o extent size 
> não for adequado, vc não está lendo o máximo possível no menor 
> tempo Da mesma forma, quando eu falei em "alteração física" em 
> msg anterior, quero dizer algo do tipo : SE vc deixar a storage como 
> default quando cria uma tabela, o bd VAI deixar um monte de 
> espaços "vazios" à espera de futuros UPDATEs, então a mesma 
> quantidade de linhas com o default ocupa via de regra MUITO MAIS 
> blocos do que se vc tivesse não reservado esse espaço, menos blocos 
> implica em menos I/O...
> Outras alterações físicas podem ser ** extremamente ** úteis, por 
> exemplo : se vc frequentemente precisa recuperar apenas os 
> relativamente poucos registros dos clientes do estado SP, vc ter um 
> índice que indexa apenas essa porção dos dados 9via FUCNTION INDEX) 
> talvez aceleraria ENORMEMENTE , pois ainda que seja necesário um 
> scan seria feito scan no índice, que seria menor que a tabela por 
> conter menos dados... da mesma forma, Particionamento, Views 
> Materializadas, Clusters, tabela ordenadas na hora da criação, GTTs, 
> IOTs, etc, podem levar a reduções ASSOMBROSAS de I/O, vc TEM que as 
> conhecer todas E ver em que pontos da sua aplicação essas feats te 
> ajudam...
> 
> 
> []s
> 
> Chiappa
> 
> --- Em [EMAIL PROTECTED] os.com.br, "jlchiappa"  
> escreveu
> >
> > Seguem respostas :
> > 
> > [EMAIL PROTECTED] com.br, Welvis Douglas Silva Moreto  
> > escreveu
> > >
> > > ... é que aqui eu posso mexer nos Sql's pois temos os fontes dos 
> > programas,.. ..
> > 
> > OK, então a alteração e tunning de SQLs deve ser facilitada aí 
> > mais à frente porém, quando vc diz "full scan, aqui se tem muito. e 
> > outros eventos", o que eu quero frisar, deixar CLARO, é que SE O 
> > BANCO está fazendo full scan é PORQUE a aplicação está assim o 
> > exigindo, simples assim, o ponto é que NÂO TEM O QUE MEXER no banco 
> > em si se o ajuste mais "grosso" do banco está feito, então a 
> pergunta 
> > que vc tinha feito "o que devo mexer no banco para eliminar waits" 
> > não tem um sentido, ok ??? O wait é SINTOMA, e e´sintoma CAUSADO 
> > pelos SQ

Re: [oracle_br] Tamanho em bytes de uma tabela

2007-05-09 Por tôpico Aleksandro Souza Azevedo
Obrigado pela ajuda, mais a coluna bytes não existe.
Testei nas versões 9i e 10g

Estou logado com o usuário SYS.


  - Original Message - 
  From: Gustavo Venturini de Lima 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Tuesday, May 08, 2007 5:35 PM
  Subject: Re: [oracle_br] Tamanho em bytes de uma tabela


  select object_name, sum(bytes) from dba_objects where object_type='TABLE';

  se quiseres escoher de um owner específico é só adicionar o "and
  owner='NOME';

  []'s

  Em 08/05/07, Aleksandro <[EMAIL PROTECTED]> escreveu:
  >
  > Boa tarde,
  >
  > Estou necessitando de um Select que contenha o nome das tabelas e o
  > tamanho em bytes de cada tabela listada.
  > Procurei no forum e não encontrei nada. Alguem sabe se existe algo
  > parecido com isso.
  >
  > 
  >

  [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] Capturar Imagem com Webcam

2007-05-09 Por tôpico Rafael Alexandre Schmitt
Olá,

Exato, dá para usar um ActiveX Control e fazer a chamada dos métodos de algum 
programa externo.
Recentemente fiz isso, chamando os métodos de uma dll que faz a comunicação com 
a central telefônica.
--
Rafael Alexandre Schmitt
[EMAIL PROTECTED]  ||  www.hbtec.com.br
Blumenau - Santa Catarina

  - Original Message - 
  From: Sirleno Vidaletti 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, May 09, 2007 9:00 AM
  Subject: RES: [oracle_br] Capturar Imagem com Webcam


  Junior,

  Acho que só com o forms voce não vai conseguir,como o Rafael já te
  falou...mas dá uma olhada de repente com Activex Control ou Ole
  Container,quem sabe tu consegue alguma coisa...eu tive que fazer isso uma
  vez,usei um programa externo escrito em java...voce pode fazer algo
  parecido,chamar ele de dentro do forms e depois salvar a imagem capturada no
  banco ou diretório,se voce quiser te envio um exemplo dessa aplicação.

  Abraço.

  Atenciosamente,

  Sirleno Vidaletti
  Desenvolvedor Oracle
  Fundação Aplub de Crédito Educativo
  [EMAIL PROTECTED]
  -Mensagem original-
  De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
  nome de Junior Martins
  Enviada em: terça-feira, 8 de maio de 2007 16:50
  Para: oracle_br@yahoogrupos.com.br
  Assunto: [oracle_br] Capturar Imagem com Webcam

  Boa tarde,

  Alguém já conseguiu capturar imagem com o Forms?

  Preciso fazer a captura e salvar em rede...

  Abraço,

  Junior

  __
  Fale com seus amigos de graça com o novo Yahoo! Messenger
  http://br.messenger.yahoo.com/

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



   


--
  Esta mensagem foi verificada pelo E-mail Protegido Terra.
  Scan engine: McAfee VirusScan / Atualizado em 08/05/2007 / Versão: 5.1.00/5026
  Proteja o seu e-mail Terra: http://mail.terra.com.br/ 



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



Re: [oracle_br] Capturar Imagem com Webcam

2007-05-09 Por tôpico Roberto Amorim
E terá de ser com DirectX para ter o máximo de generalidade possível.
Estou tentando fazer isso em Java, via JMF,  mas está tão dificíl que 
considero seriamente deixar a captura em um programa separado e ir 
buiscar a imagem gerada em um diretório. Menos elegante, mas poupa muita 
escovação de bits.
.

Rafael Alexandre Schmitt escreveu:
> Olá,
>
> Acredito que você terá que terá que chamar um componente extero ( uma dll por 
> exemplo... ) que faça isso.
> --
> Rafael Alexandre Schmitt
> [EMAIL PROTECTED]  ||  www.hbtec.com.br
> Blumenau - Santa Catarina
>
>   - Original Message - 
>   From: Junior Martins 
>   To: oracle_br@yahoogrupos.com.br 
>   Sent: Tuesday, May 08, 2007 4:50 PM
>   Subject: [oracle_br] Capturar Imagem com Webcam
>
>
>   Boa tarde,
>
>   Alguém já conseguiu capturar imagem com o Forms?
>
>   Preciso fazer a captura e salvar em rede...
>
>   Abraço,
>
>   Junior
>
>   __
>   Fale com seus amigos de graça com o novo Yahoo! Messenger 
>   http://br.messenger.yahoo.com/ 
>
>   [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
>
>
> --
>   Esta mensagem foi verificada pelo E-mail Protegido Terra.
>   Scan engine: McAfee VirusScan / Atualizado em 08/05/2007 / Versão: 
> 5.1.00/5026
>   Proteja o seu e-mail Terra: http://mail.terra.com.br/ 
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>   
>> Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure 
>> » Scripts » Tutoriais acesse: 
>> http://www.oraclebr.com.br/codigo/ListaCodigo.php 
>> 
> --
>   
>> 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/ 
> --
>   
>> O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>> http://www.oraclebr.com.br/  
>> 
> 
>   
> Links do Yahoo! Grupos
>
>  
>
>
>   



RES: [oracle_br] Capturar Imagem com Webcam

2007-05-09 Por tôpico Sirleno Vidaletti
Junior,

Acho que só com o forms voce não vai conseguir,como o Rafael já te
falou...mas dá uma olhada de repente com Activex Control ou Ole
Container,quem sabe tu consegue alguma coisa...eu tive que fazer isso uma
vez,usei um programa externo escrito em java...voce pode fazer algo
parecido,chamar ele de dentro do forms e depois salvar a imagem capturada no
banco ou diretório,se voce quiser te envio um exemplo dessa aplicação.

Abraço.

Atenciosamente,

Sirleno Vidaletti
Desenvolvedor Oracle
Fundação Aplub de Crédito Educativo
[EMAIL PROTECTED]
-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Junior Martins
Enviada em: terça-feira, 8 de maio de 2007 16:50
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Capturar Imagem com Webcam


Boa tarde,

Alguém já conseguiu capturar imagem com o Forms?

Preciso fazer a captura e salvar em rede...

Abraço,

Junior

__
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/

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






Re: [oracle_br] Capturar Imagem com Webcam

2007-05-09 Por tôpico Rafael Alexandre Schmitt
Olá,

Acredito que você terá que terá que chamar um componente extero ( uma dll por 
exemplo... ) que faça isso.
--
Rafael Alexandre Schmitt
[EMAIL PROTECTED]  ||  www.hbtec.com.br
Blumenau - Santa Catarina

  - Original Message - 
  From: Junior Martins 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Tuesday, May 08, 2007 4:50 PM
  Subject: [oracle_br] Capturar Imagem com Webcam


  Boa tarde,

  Alguém já conseguiu capturar imagem com o Forms?

  Preciso fazer a captura e salvar em rede...

  Abraço,

  Junior

  __
  Fale com seus amigos de graça com o novo Yahoo! Messenger 
  http://br.messenger.yahoo.com/ 

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



   


--
  Esta mensagem foi verificada pelo E-mail Protegido Terra.
  Scan engine: McAfee VirusScan / Atualizado em 08/05/2007 / Versão: 5.1.00/5026
  Proteja o seu e-mail Terra: http://mail.terra.com.br/ 



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



[oracle_br] Re: Coluna SNAPTIME$$ em uma Materialized View Log

2007-05-09 Por tôpico Josinei Barbosa da Silva
Obrigado Chiappa!

--- Em oracle_br@yahoogrupos.com.br, "jlchiappa" <[EMAIL PROTECTED]> escreveu
>
> Colega, ** sempre ** que vc precisar saber um comportamento interno do 
> bd Oracle nalguma coisa que não é documentada diretamente nos manuais, 
> vc consulta o metalink, no caso a nota Subject: SNAPSHOT LOG SNAPTIME$$ 
> SHOWS 01-JAN-00 OR 01-JAN-4000, Doc ID:  Note:1068195.6  nos diz que 
> quando há DML na tabela principal o bd Oracle insere um novo registro 
> nesse log com uma data futura nessa coluna, pra ele "saber" que esse 
> reg está ainda pendente de atualização
> 
> []s
> 
>  Chiappa
> --- Em oracle_br@yahoogrupos.com.br, "Josinei Barbosa da Silva" 
>  escreveu
> >
> > Boa dia pessoal.
> > 
> > Notei que quando criamos uma Materialized View Log, ela é criada com
> > uma coluna chamada SNAPTIME$$ e pensei que essa coluna armazenaria
> > algo como a data de inclusão/atualização do registro.
> > Mas ao consultar os registros, vi que a coluna continha datas como
> > 01/01/4000, por exemplo.
> > 
> > A dúvida é: Qual a finalidade desta coluna e como é definido seu
> > preenchimento?
> > 
> > Se alguém puder dar alguma explicação sobre isso, eu agradeço muito.
> > 
> > Valeu!
> >
>