2007-01-31

Guias de PL/SQL

Um guia rápido sobre PL/SQL em Inglês.

Um guia de treino em PDF em Inglês (500Kb)

Gui de PL/SQL em Francês

Em Português do Brasil:
http://www.apostilando.com/download.php?cod=185&categoria=Banco%20de%20Dados (necessita de registo gratituíto)
http://www.scriptfacil.com/index.php?arquivo=x&m=386
http://inf.unisul.br/~osmarjr/download/apostila/aptbdii.zip

Oracle vs. PostgreSQL

Eu uso Oracle.
Não nada contra as outas BDs e espero mesmo que a comparação entre elas venha a tornar os produtos mais fiáveis e baratos.
Claro que a Oracle tem uma versão grátis (a XE) tal como o SQLServer mas será que estes dois produtos ou outro que também seja "comercial" vale realmente o dinheiro? Considerando que existem mais produtos livres?
O BD livre que mais gosto é o PostgreSQL, no entanto ainda não consegue escalar em termos de performance e volume de dados/transaçoes como o Oracle pelos meus testes.
Não quero fazer o papel de "advogado do diabo" mas ainda considero a base de dados Oracle a melhor (e ja trabalhei com a defunda Informix, com DB2, SQLServer, Sybase, MySQL, ...)

Apresento aqui uns artigos que achei interresantes:

Oracle vs. PostgreSQL: Users speak out


(...) PostgreSQL(..) "You can recompile a stored procedure on a live system, and only transactions starting after that compilation will see the changes," he said. "Transactions in process can complete with the old version. Oracle just blocks on the busy procedure."

Na versão 11g do Oracle isso é resolvido.

Oracle 10g vs PostgreSQL 8 vs MySQL 5 em termos de instalação

Apareceu também recentemente a EnterpriseDB que é baseada no PosgreSQL e que tem uma syntax SQL compativel com Oracle. Esta versão já é paga!

"EnterpriseDB Advanced Server is an enterprise-class relational database management system (RDBMS) that is compatible with applications written for Oracle. EnterpriseDB Advanced Server is based on PostgreSQL, the world's most advanced open source database, ensuring the world-class data integrity, security, and performance necessary for enterprise environments. In addition, the total cost of ownership (TCO) of an enterprise database solution powered by EnterpriseDB Advanced Server is only a small fraction of the TCO of a comparable Oracle-powered solution."



PostgreSQL vs. MySQL vs. Commercial Databases: It's All About What You Need
"PostgreSQL and MySQL boast widespread use for relatively small databases (under 100GB, for example). Once the data grows larger than 100GB or so, the number of users drops off drastically. At that point, working through large-database-related issues becomes more of a problem. "



É de notar também o que a Oracle não tem somente a DB e um dos seus problema é talvez a interração dos seus outros produtos com outras DBs...vamos lá ver onde isto vai dar.

Mas por mim, por ora, a Oracle ainda está a ganhar.

Oracle Critical Patch Update - January 2007

Foi lançado em Janeiro o último patch da Oracle.

"This Critical Patch Update contains a total of 26 new security fixes for Oracle Database products, divided as follows:

*17 new security fixes for the Oracle Database, 1 of which may be remotely exploitable without authentication, i.e. it may be exploited over a network without the need for a username and password. 1 fix is applicable to Oracle Database client-only installations, i.e. installations that do not have the Oracle Database installed.
*9 new security fixes for Oracle HTTP Server, 8 of which may be remotely exploitable without authentication, i.e. they may be exploited over a network without the need for a username and password. Oracle HTTP Server is an optional product that is not installed by default with the Oracle Database. If it has not been installed, this software will not be present and the Oracle HTTP Server patches are not required. Oracle Database versions up to and including Oracle Database 9i Release 2 allowed Oracle HTTP Server to be installed as an optional component of the database. Oracle Database versions 10g Release 1 and higher include Oracle HTTP Server on the Companion CD."

"One new database vulnerability addressed by this Critical Patch Update, DB11, affects Oracle Database client-only installations (installations that do not have the Oracle Database installed). It is potentially exploitable where a privileged operating system process is passing input from an untrusted source to the affected program. Oracle recommends applying this Critical Patch Update to client-only installations which may be using the affected program in this way, or which are affected by client-only issues fixed in prior Critical Patch Updates if the prior patches have not been applied."

"This Critical Patch Update contains 12 new security fixes for Oracle Application Server, 8 of which may be remotely exploitable without authentication, i.e. they may be exploited over a network without the need for a username and password. No new fixes are applicable to client-only installations, i.e. installations that do not have Oracle Application Server installed.

This Critical Patch Update also contains 8 new security fixes for Oracle Application Server products that are not supported for standalone use, but are supported for use as part of supported products, i.e. those listed in the Category I section. More details of these fixes can be found in the sections of this document covering: Oracle Database, Oracle Collaboration Suite and Oracle E-Business Suite. They are not discussed further in this section, as they do not apply to Oracle Application Server standalone instances."

videos sobre o ACANAC 2007


Qualquer semalhança entre o chefe Carlos e o chefe da BD é pura coincidência (verdade!!).

Uniforme: Manga esquerda


Como alguns têm dúvidas:

  • Os distintivos de equipa devem ficar com os dois cantos superiores a tocar a costura do ombro.


  • Intervalo entre o distintivo de bando, patrulha/tripulação ou equipa/equipagem e a insígnia de progresso: 2 cm

  • Intervalo entre a insígnia de progresso e a(s) insígnia(s) de secção: 2 cm



A segurança mediante passwords de jeito!

Aconselho a leitura do artigo na Wired (em inglês) Secure Passwords Keep You Safer.
Não trás nada de novo, mas foca nos sistemas automáticos de quebra (=descobrir) de passwords.
É importante ter em atenção que a segurança informática começa na segurança da password, no uso inteligente do sistema de email (em especial no caso de sistemas Windows) de modo a evitar virús.

Fora do assunto (talvez :-)) Li ontem, penso que no "jornal" do LIDL que os virús informáticos diminuiram em 2006. Espero que tal seja devido também à atitude dos utilizadores (de não abrirem mails de proviniencia duvidosa e não acreditarem em emails de teoricamente "conhecidos" a pedir para abrir um ficheiro) e protecção que tenham no seu computador e não somente aos sistemas de antivirus dos servidores de mail.
Talvez também o gmail.com e serviços como esses com antivirus incorporado tenha também servido para pervenir as infecções.

Mapa do Raid

Apresenta-se aqui o mapa do Raid. O ficheiro tem um tamanhinho grandinho (1M) de modo a permitir a sua impressão pelos interressados.
A laranja + amarelo está marcado o chamado caminho/percurso Inca sendo que a laranja está marcado o percurso do nosso Raid (somente parte do percurso total) que começou/acabou na Póvoa das Leiras (no cruzeiro) e que fomos às margens do rio Paivô abaixo de Covelo de Paivô.

2007-01-30

Estado do Puzzle (3)

Está a ficar na parte mais chata e difícil!

Merge de Blog

Tinha um outro blog (Oracle Blues) onde pertendia divulgar algumas "descobertas" técnicas interessantes que me vão aparecendo no dia-a-dia. Não pertendendo ser um guru, mas levantar o véu sobre algumas coisa, podendo o leitor interressado no assunto, por ventura, aprender algo. Focado principalmente na tecnologia ORACLE (PL/SQL, forms, ...), HTML, CSS.
Como já tenho um outro blog que mantenho sobre o meu grupo de Pioneiros às vezes postava coisas no sobre Oracle que era para este mais pessoal e vice-versa.
Cheguei à conclusão que o melhor a fazer era fazer um "merge" (significa unir) esses dois blogs (não existe por ora uma maneira automática de o fazer pelo que o vou fazer "à la pata").
A minha vida mais profissional também faz parte de mim :-)

Vou assim passar os posts de um lado para o outro e criar mais uma série de categorias de modo a tornar mais fácil a navegação no meu blog.

Aviso à navegação: alguns posts que coloco sobre Oracle são em inglês devido à própria área e a tentar ajudar também um maior número de pessoas.

Já agora ORACLE é uma companhia que desenvolve e vende vários produtos em especial uma Base de Dados (de nome ORACLE) que é das mais potentes e mais usadas por companhias que necessitam de armazenar e aceder a um grande número de dados.

Actualização: para aceder à parte mais técnica do meu Blog (sob a marcação/assunto 'Oracle Blues') basta usar a ligação para essa parte (Parte Técnica)no menu lateral.
Se pretender somente ler a parte não técnica use a opção Parte Pessoal.

Livro que tenho de ler

"Oracle Hackers Handbook" de David Litchfield ISBN 978-0-470-08022-1.

Um livro para ser lido por todos os DBA de ORACLE e por todos os que se interressam por segurança informática.

Raid na Serra da Freita (2)

Mais 2 fotos das 200 e tal que tirei :-)

2007-01-26

George Carlin

Sobre Aviões e linguagem e procedimentos de segurança...em inglês :-)
Um dos grandes cómicos de stand-up na que eu acho melhor apresentação.


Part1


Part2 (breath normally!!)

Rindo com o George Lucas

E se fosse George Lucas a fazer "O Senhor dos Anéis"?



George Lucas quando era jovem?

(Actualizacao: já é o segundo link para video que coloco aqui...aproveitem enquando funciona)

Já podemos notar as inspirações!!
(sobre este video podem ver na Wikipedia)

Sem comentários

Pagou coima em moedas de 1 e 2 cêntimos


720 euros de multa por matar assaltante
Matou amigo por causa do barulho do rádio

Oração do trabalhador stressado

Senhor,
dá-me sabedoria para entender e suportar os colegas e as pessoas que me telefonam,
os bugs dos computadores e das Bases de Dados.
Porque se me dais força, parto-lhes a cara, desligo-lhes o telefona na cara,
parto o computador e mando a BD àquela parte!!!
Amen!

Bug I found in Oracle DB

Sometimes I( or people on my team) encounter some Oracle bugs.
I present here the test case of the last bug I found in PL/SQL that gives bad results
(I already warn Oracle and the Bug got the number 5847371) in Oracle 10.2.0.2.


CREATE TABLE a_test (a VARCHAR2(20));
INSERT INTO a_test VALUES ('test');

CREATE OR REPLACE
FUNCTION teste_a0 (p_notifica IN INTEGER DEFAULT 0)
RETURN PLS_INTEGER
IS
l_found PLS_INTEGER := 0;
BEGIN
FOR c
IN (SELECT a_test.a
FROM a_test
WHERE (p_notifica = 0))
LOOP
l_found := 1;
END LOOP;

RETURN l_found;
END
;
/

SELECT TESTE_A0(0) from dual;
--should return 1 (correct !)


CREATE INDEX a_test_i ON a_test
(
a ASC,
0 ASC
)
/

SELECT TESTE_A0(0) from dual;

--returns 0!! when should return 1

if the line
WHERE (p_notifica = 0))
is exchanged by
WHERE (p_notifica+1 = 1))

the result is correct =>1

2007-01-25

Raid na Serra da Freita - Fotos

Algumas fotos tiradas pelo chefe Filipe no Raid do último fim de semana.






Aqui está uma fotografia artística, que cá o chefe tem a mania :-)

Canhota!!!

Raid na Serra da Freita


No Sábado fui fazer um raid com os meus escuteiros à serra da Freita. Usamos o chamado caminho inca e se bem que seja cansativo (e eu ter sofrido uma queda e estar ainda pisado no glútio direito) foi um dia bem passado.

Bom foi que tirando o chefe do agrupamento, que também foi connosco, mais ninguém se magoou-se significativamente.
Aconselho o percurso mas talvez numa ocasião com menos humidade nas rochas.

2007-01-22

Apanhados da Televisão









Angels & Demons

Encontro-me a ler o livro "Angels & Demons" de Dan Brown ("Anjos e Demónios" na versão portuguesa) que conta uma história do personagem principal do "Código da Vinci" anterior a essa história.

Noutra ocasião falarei desse outro livro mas hoje quero somente partilhar umas coisinhas que já critico neste livro (que comecei a lei há pouco na versão inglesa).

O mapa da Cidade de Roma moderna encontra-se com pelo menos 3 erros:
- "Ponte Sant' Angelo" é traduzida por "Bridge of Angels" , ponte dos Anjos...não sei como foi traduzido para português
- "Via Nationale" cujo nome correcto é "Via Nazionale" (existem uma série de erros na escrita de italiano pelo Dan Brown neste livro)
- O Pantheon fica ao sul da "Piazza della Rotunda" e nao ou norte.

Na pagina 15 é afirmado que 60.000 pés de altitude uma pessoa pesa menos 15% quando na realidade pesa na realidade menos 0,6%.

Copérnico morreu de uma ataque de coração em 1543 e não devido à Igraja como Kohler afirma na página 31.

Na página 34 Islam é chamada de língua e é uma religião, a lingua será o árabe.

Mais à frente Vittoria Vetra (com o currículo de físiça quantica) diz que os protões são o oposto dos electrões, na realidade o oposto dos protões são os anti-protões e os positrões são o oposto dos electrões!

Na página 50 (versão inglesa) sobre o facto da Vittoria Vetra praticar o Hatha Yoga, é mencionado que é uma antiga art Budista de alongamentos meditativos(!!)- "The ancient Buddhist art of meditative stretching..." - mas todas as formas de yoga são de origem hindu e não Budistas.

Na página 69 Edwin Hubble é dito como sendo o astrónomo de Havard. Ele nuna esteve associado a Havard!!

Na página 95 é explicado que o telemovel da Vittoria não tem "dial tone" devido a estarem muito abaixo da superficie, no entanto nenhum telemóvel tem "dial tone" (em português será toque de marcação?). Marca-se primeiro o número! Será que o autor queria dizer "call tone" (sinal de chamada)? Penso que o mais obvio seria dizer que se encontrava sem rede!
Actualização (23-1-2006): a versão portuguesa usa mesmo a expressão "sem rede" de modo que a tradutora fez melhor serviço que o Dan Brown :-)

A escada em espiral que dá para o Musei Vaticani (e não o "Museo Vaticano") foi desenhada por Giuseppe Momo em 1932 e não pelo Miguel Angelo(pag 107).

Os uniformes actuais da Guarda Suiça foram desenhado pelo Comandante Jules Repond (1910-1921) e não por Miguel Angelo (pagina 115) ( ver http://www.vatican.va/roman_curia/swiss_guard/swissguard/divisa_en.htm) e os candidatos devem ter mais de 174 cm (um pouco mais que 5'8" e não 5'6'' como afirmado no livro).


As dimensões da Catedral de S. Pedro estão completamente erradas (pag. 119).

(colocarei mais erros que note quando ler mais ....)

Mas é um livro muito interressante de ler e empolgante... Dan Brown sabe prender o leitor.

PlanetaFeup

Falaram-me na sexta-feira de um site agregador de blogs da feup chamado PlanetaFEUP.
Depois de o ter visto, enviei um email ao seu "autor" e rapidamente os meus posts (do meu blog) apareceram lá.

A ideia de agregar blogs não é nova e não percebo o porque do seu autor ter num mail enviado à comunidade da FEUP(que eu so tomei conhecimento hoje) dizer que "esta é uma
iniciativa inédita e é pioneira em Portugal e, provavelmente, em muitos outros países". Tanto não é que usa software (http://www.planetplanet.org/) de 2004!

Problemas com o software? Acho interessante de bem que não use a data de post do blog (talvez seja culpa do Atom originado pelo blogspot) nem reflecte (por ora) actualizações em posts já colocados.

Acho no entanto que é uma ideia louvável e espero que tenha mais sucesso que uma ideia mais ainda que tentei implementar de FeupRing com páginas web pessoais.

Actualização: o site agregador já não existe

2007-01-18

Estado do puzzle


Já avancei mais um pedaço!

Mais uma ferramenta para investigadores

Hoje tomei conhecimento do Live Search Academic (também chamado Microsoft academic search).
É um motor de pesquisa especializado em publicações de investigação tal como o Google Scholar.
Tem a vantagem de fornecer a referência em formato EndNote , BibTex e RefWorks.

Estas duas ferramentes então em Beta mas a do Google já está em Beta há anos!!!

2007-01-16

Universidade do Porto nas mais vistas da Web

Hoje apareceu uma Notícia no Portugal Diário:

A UP é a universidade portuguesa mais bem posicionada nos rankings de universidades europeias baseados na Internet, ocupando o 96º lugar (269º mundial) no «Webometrics» (www.webometrics.info) e o 55º lugar no «4ICU» (www.4icu.org)."
(...)
«É claro que todos os rankings são discutíveis», reconheceu António Marques (vice-reitor da UP), sublinhando que os próprios autores das classificações alertam para o facto de não estarem a medir a qualidade das instituições, mas apenas a sua presença e popularidade na Internet.


2007-01-15

Puzzle



Encontro-me a fazer desde à coisa de 5 dias um puzzle de 1000 peças aos poucos...por exemplo este fim de semana tive outras coisas e não peguei nele.
Segundo a publicidade é dos puzzles mais pequenos de 1000 peças :-).
Foi-me oferecido num aniversário e decidi finalmente ocupar a mesa da sala com ele ...
Saiu da sala os presépios ...uns 7 ou 8 ....e o pinheiro de natal e entra o puzzle.
A minha esposa é bastante compreensiva e devido às últimas notícias que já reportei aqui tenho de ser rápido antes que alguma mão infantil ache "que engraçado" e me faça perder peças :-)

História Linda

Hoje apeteceu-me partilhar convosco a letra de uma canção que gosto muito, salientando parte da letra que me tocam mais.

2007-01-10

O custo de verificar a não duplicação de chaves

Hoje descobri que, segundo um artigo de http://www.jlcomp.demon.co.uk/, no caso de termos uma constrainst de unique_key e desta ser violada num statement o Oracle irá efectuar um select de modo a descobrir o nome da constraint para dar o erro
ORA-00001: unique constraint (<constraint_name>) violated.
No caso de somente usarmos um index (unique key) para além desse select será efectuado outro para detectar o nome do indice respectivo que foi violado.
O autor logicamente chega à conclusão que é melhor em termos de performance ter constraints associadas aos índices.
Uma outra "descoberta" é que um insert que dá erro de constraint realmente faz os seguintes passos:
  • efectua um insert da linha completa
  • actualiza os indices por ordem de criação (é então sugerido que os indices sejam criados por probabilidade de darem erro, ou seja PK e UK anteriormente a os outros)....falha
  • redo do insert (que implica redo dos indices que tenham sido actualizados)
Minha conclusão: A importância desta informação depende do sistema. Alguns programadores preferem verificar no cliente a existência de colisão de uma futura inserção (via select 1 into L_verify from tabela where key=:p_nova_key) antes de tentarem inserir ou fazer update.
Outros preferem fazer o insert e no caso de lançamento de exception de DUPLICATE_KEY fazer update e outros o MERGE.

É necessário fazer testes no sistema para verificar qual será mais eficaz no caso da performance ser um problema.
Em termos de leitura o MERGE e o modo da exception são mais compreensivos.

2007-01-09

Não resistimos!

Já contamos aos amigos!

Não resistimos mais!

É uma vontade muito forte de contar e partilhar a nossa alegria!

Sabemos claro, que os primeiros 3 meses são cruciais e às vezes a gravidez às vezes não é levada até ao fim. Mas temos esperança que tudo corra bem!

O pessoal já está a dar palpites de nomes para o caso de ser menina pois para o caso de
ser rapaz já temos nome.

(já coloquei acessivel os posts sobre o assunto que fiz entretanto e que não tinha tornado públicos)

2007-01-04

Portugal a 360

Devido a um post que o meu amigo 'Gitano' colocou no seu blog sobre uma visita ao Mosteiro da Batalha (o que eu comentei), fiz uma pesquisa na net e descobri que já alguem usou o seu tempo (não foi perdeu...) a fazer uma modelização 3D muito boa do Mosteiro para usar no Google Earth.

2007-01-02

É oficial!

A minha esposa foi hoje tirar umas dúvidas com a médica e esta confirmou e já fez uma ecografia onde lhe mostrou o "saquinho" e já se nota o coração.

Tempo previsto de gestação actual: 5 a 6 semanas. Isto vem confirmar o meu calculo de nascimento para finais de Agosto. O site bebes.clix.pt é optimo nisso.

(colocarei este post visivel depois de contar aos amigos...quero ver a cara deles!!)