terça-feira, outubro 23

Mundial vai usar ERP Oracle

A Mundial SA (lembra das tesouras mundial?) vai investir R$ 6 mi na implantacao do E-Business Suit. Primeiramente o sistema será instalado nas unidades de Caxias, Porto Alegre, Gravataí e São Paulo. A segunda fase do projeto envolve as subsidiárias da empresa nos Estados Unidos, Argentina e na China.
O ERP rodará em plataforma RISC, com sistema operacional AIX.
A Mundial já utiliza o banco da Oracle há 12 anos.
O executivo Michael Ceitlin, diretor superintendente da Mundia destaca a importância do fato do sistema ser totalmente na web.
No ano passado a compania gaúcha faturou R$ 263 mi e espera crescimento de 10% em 2007.

Confira em detalhes: baguete.com.br

sábado, outubro 20

Oracle 11g no Debian Etch

Confira um tutorial para a instalacão do novo Oracle enterprise 11g no Debian Etch! Eu já estou com ele rodando... e o visual do instalador ainda combina com o padrão azul do gnome no debian! heheheh

segunda-feira, setembro 17

Hot backup Oracle com Ruby!

Linguagens como python, perl e scripts em bass são bem conhecidas dos SysAdmins, e isso é fato. Há algum tempo venho fazendo os scripts em Ruby principalmente pela sua sintaxe e facilidade.
Tinha alguns scripts de hot backup de algumas bases Oracle, que ainda não estavam sendo feitos com o RMAN, aí decidi reescrever os scripts em ruby, por brincadeira mesmo. Os scripts em SQL eram muito confusos além de extremamente longos (SQL né!)

Os scripts em ruby foram colocados no meu website, e quem tiver interesse pode fazer o download. O link é http://cassianoroloff.googlepages.com/rubyscripts

quinta-feira, agosto 23

How to install Oracle Database 10g on Debian

Oracle Enterprise Database is certified to running on RedHat, SuSe and YellowDog beyond many unix and windows, but don't Debian. Recently Oracle has deployed a package of the Express (and free) version in .deb format. This how to is intented to help to install Enterprise Edition. By the way, it's with you own risks!

Install required debian packages

  • rpm
  • gcc
  • alien
  • libdb1-compat
  • libdb4.4++-dev
  • libdb4.4-dev
  • libstdc++-5
  • libstdc++-5-dev
  • compat-db-4.1.25-9 = couldn't find
  • gnome-control-center = 2.14.2.-7
  • gcc-3.4.3-9.EL4 = gcc 4.1.1.1-15 and gcc3.4.6-5
  • gcc-c++-3.4.3-9.EL4
  • glibc-2.3.4-2 = libc6 2.3.6
  • glibc-common-2.3.4-2 = libc6-dev 2.3.6
  • gnome-libs-1.4.1.2.90-44.1
  • libstdc++-3.4.3-9.EL4 = cpp-3.4 3.4.6-5 /g++-3.4 3.4.6-5 / gcc-3.4 3.4.6-5 / libstdc++-6-devel
  • pev 3.4.6-5 = coundn't not found
  • libstdc++-devel-3.4.3-9.EL4
  • make-3.80-5
  • pdksh-5.2.14-30 = pdksh 5.2.14-20
  • sysstat-5.0.5-1 = sysstat 7.0.0-4
  • xscreensaver-4.18-5.rhel4.2 = xscreensaver 4.24-5
  • libaio-0.3.96 = libaio1 0.3.106-3
  • libaio-dev 0.3.106-3
  • libdb1-compat 2.1.3-9
  • linux-kernel-header 2.6.18-7
  • openmotif21 = lesstif2 0.94.4-2
Create some links for compatibility with Red Hat

ln -s /usr/bin/rpm /bin/rpm
cd /usr/lib
ln -s libstdc++.so.6 libstdc++.so.5
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
ln -s /etc /etc/rc.d

Some packages are from non-free pool package. So you need alter your /etc/apt/sources.list. Below you can see my sources.list:

deb http://linorg.usp.br/debian/ etch main contrib non-free
deb-src http://linorg.usp.br/debian/ etch main contrib non-free
deb ftp://ftp.debian.org/debian/ etch main contrib non-free
deb-src ftp://ftp.debian.org/debian/ etch main contrib non-free

deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

Create Oracle user
groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
passwd oracle

Configure kernel parameters
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144

Setting shell limits for oracle user

file /etc/security/limits.conf:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

file /etc/pam.d/login: (I don't need change, it's already ok)
session required /lib/security/pam_limits.so

Now: Installing Oracle software!!!

./runInstaller -IgnoreSysPrereqs

domingo, agosto 19

The machine is us

quarta-feira, maio 16

Testes de desempenho com LVM - 2% !!!!!

Para quem ainda não conhece, o Logical Volume Manager é um sistema para gerenciamento de armazenagem em disco, que vem se tornando padrão no linux. Ele consiste basicamente em uma camada a mais entre os discos e o Kernel, e passa a oferecer uma versão lógica dos discos. Com isso ganhamos muita flexibilidade no gerenciamento de "partições lógicas".

Entre os principais recursos, estão a facilidade de aumentar o sistema de arquivos, simplesmente adicionando mais discos físicos. O contrário também é possível, ou seja, reduzir o tamanho de um volume lógico. O recurso de snapshots é também muito útil, principalmente para backups e ambientes de testes, esse recurso ficou inda melhor na versão 2 da LVM, agora é possível criar snapshot read-write, na primeira versão apenas snapshots read-only estavam disponíveis.

Como diz o título, não tenho como objetivo fazer aqui um tutorial de como implantar ou instalar LVM, mas apenas mostrar alguns resultados de testes de desempenho realizados.

O Ambiente
Os testes foram realizados em um storage IBM DS4000, com 14 discos scsi 73gb 10k, conectado diretamente a um servidor IBM 440. O storage contém uma única lun, utilizando RAID 10 (1 + stripping). Não foi o objetivo dos testes comparar tipos de RAID, e essa configuracão foi utilizada devido ao equipamento já estar dessa forma, e os testes foram realizados num intervalo entre a migracão de um sistema, nao havendo tempo hábil para alteracões. Duas situacões de particionamento ocorreram no testes comparativos:

  • Volumes físicos: sdb1 (200GB), sdc1 (200GB)
  • LVM - Volumes lógicos: lva (200GB), lvb (200GB)
Todas as unidades foram formatadas com ext3 (opcões default), e o servidor foi reiniciado (inclusive o storage) entre cada um dos testes, garantindo assim que não haveria interferência de dados em cache.

Os Testes
Foram realizados testes de criacão e cópia de arquivos de diversos tamanhos, nas duas unidades. Basicamente, foi medido o tempo de:
  • Criacão e cópia de um arquivo de 2 Gb.
  • Criacão e cópia de 10 arquivos de 100 Mb
  • Criacão e cópia de 32 mil arquivos com tamanhos variando entre 1Kb e 32Kb (1000 arquivos de 1kb, 1000 arquivos de 2kb, 1000 arquivos de 3kb, sucessivamente)
Cada uma dessas tarefas foi realizada 10 vezes para ser utilizado o tempo médio como comparativo.

Os Resultados
Os números são impressionantes, pode-se afirmar com total certeza, que praticamente "nenhuma" queda de desempenho é notada utilizando LVM, contrariando o que muitos imaginam.
Em muitos casos, o tempo gasto para a realizacão das tarefas foi menor utilizando LVM. Principalmente nos casos de arquivos pequenos. Quando maior a quantidade de arquivos e quanto menor o seu tamanho, o desempenho do sistema de arquivos utilizando-se LVM chega a ser melhor do que utilizando dispositivos físicos diretamente.
Nos arquivos de 2Gb, uma pequena diferenca foi notada. Nos arquivos maiores, que apresentaram piores resultados, ainda assim o overhead fica inferior a 2%.

quarta-feira, abril 25

Definindo o editor do sqlplus no linux

O sqlplus possui um recurso de editar o commando sql, atualmente armazenado no buffer, em um editor externo. Isso funciona no windows, utilizando o Notepad como editor padrão.

No linux, isso não sai funcionando logo na instalação, e é necessário alterar um parâmetro do sqlplus para que seja possível usar o Vi (ou outro editor de sua preferência):

sql> define _editor=vi;

Você também pode alterar o arquivo que o sqlplus vai gravar, para usar sintax highligth, ou deixar oculto...

sql> set editfile '.filetemp.sql';

Para tornar essas alterações permanentes, coloque esses parâmetros em um arquivo chamado login.sql no diretório corrente. O sqlplus sempre busca esse arquivo de parâmetros ao iniciar.

terça-feira, abril 17

Debian Etch (agora estavel!!!)

Há poucos dias atras (8/Abr/2007) o projeto Debian anunciou o novo release, o debian 4, codinome etch. Desde o lançamento da versão 3, sarge, já se passavam 21 meses.

Com instalador gráfico, disponível já faz algum tempo, o Debian Etch conta com instalador traduzido em 58 idiomas. A instalação pode ser feita de diversas formas, a partir de CDs/DVD, de um mirror na internet, chaveiros USB, etc...

O gerenciador de pacotes, apt-get, foi muito melhorado. Agora verifica a integridade de pacotes baixados e está mais consistente e seguro.

Rodando nas mais diversas arquiteturas, suporta 11 modelos de processadores, rodando desde palmtops até supercomputadores, e quase tudo que se encontra entre eles. Entre as arquiteturas suportadas, além é claro da i386, estão: Sun SPARC (sparc), HP Alpha (alpha) e HP PA-RISC (hppa), IBM PowerPC e IBM S/390. E agora introduzidas as versões Debian GNU/Linux 4.0 para AMD64 and Intel EM64T (amd64).

Um grande número de pacotes foi atualizado, como é tradição do debian, e agora conta com ambiente gráfico Gnome 2.14, KDE 3.5.5, Xfce 4.4. Softwares como OpenOffice.org 2.0, Gimp 2.2, Iceweasel (uma versão sem as restrições da licença do Firefox), PostgreSQL 8.1.8, MySQL 5.0, Kernel 2.6.18, Apache 2.2.3, Samba 3.0 Asterisk 1.2, e mais de 18.000 outros pacotes prontos para usar.

sábado, março 31

Oracle Open World (Latin América)

Durante os dias 27, 28 e 29 de Marco ocorreu em São Paulo a Oracle Open World. O evento apresentou solucões e tendências não apenas da própria Oracle, como também de parceiros como a IBM, SUN, HP, Dell além da gaúcha Acão informática.

O evento foi uma grande oportunidade para a Oracle apresentar produtos vindos das suas últimas aquisicões em 2006 e principalmente 2005. Essas compras deixaram a Oracle muito mais agressiva no mercado de solucões integradas de software. Como mostrou o Cyro Diehl, hoje a Oracle já está presente em pequenas e médias empresas, "hoje temos Oracle Applications em escritórios de advocacias e padarias", disse Diehl.

Gostaria de ressaltar uma iniciativa da Oracle Education Fundation - www.think.com - empresa sem fins lucrativos criada pela Oracle para incentivar a educacão. A idéia é uma comunidade online, onde alunos e professores podem entrar e aprender com base na colaboracão mútua. Para ter acesso as ferramentas interativas, websites, email, há muito espaço para criar e compartilhar idéias. As escolas precisam se cadastrar junto à instituicão, que então libera o acesso aos professores e alunos. Os pais e professores tem um excelênte controle de conteúdo, deixando assim esse sistema de aprendizado muito seguro.

Para quem não esteve presente, existem diversas entrevistas disponíveis no site do TVOracle http://oracle.corptv.com.br As entrevistas de Cyro Diehl - think.com, Javier Cordeiro - Fusões e o video de coletiva realizada com o presidente mudial Charles Philips são bacanas.

segunda-feira, março 19

Vim Tips

Hello! Vim is a great editor (the best text editor in my opinion). But at first look it seems crazy and very confuse.

Vertical selection:
Many people know the visual selection, but Vim has also the vertical selection:

CTRL + v

produces this:

vertical selection example.
bla bla bla bla bla bla
ble ble ble ble ble ble
bli bli bli bli bli bli
blo blo blo blo blo
blu blu blu blu blu

Auto indent on past:
When you past any content copied from another application (ie. firefox), vim automatically indent each line, but it's useless. So you can change this configuration while past:
:set paste
then... past your text...

segunda-feira, março 12

How to install UML with kernel 2.6 (and use in production!)

My friend Francisco try to install uml on debian sarge, and I think so it was hard to he as hard to me. And becase that little story I made this how to.

I named host the computer that will runing another uml machines, and virtual user mode machines I called umlhosts.

First you need to install debian sarge on host, and I think so you know how do this, but if you don't, download Debian Net Install from this link, and follow this instructions. We also need create one commom user, here called ernexto on host. This user will run virtual machines.

With host machine running, install User Mode Linux, these are the basic steps:

1. Install uml-utilities package:

apt-get install uml-utilities;
2. Install user_mode_linux package:
This package exists only in debian testing (etch), so if you're installing on etch host, you don't need change apt sources.list file, but my friend Xico is installing on Sarge... type all these commands! hehehe
cd /etc/apt;
cp sources.list sources.list.backup;
echo "deb http://http.us.debian.org/debian testing main contrib non-free" >> /etc/apt/sources.list;
apt-get update;
apt-get install user-mode-linux;
mv sources.list.backup sources.list;
3. Install bridge:
If you need use network in umlhosts, you need this package. Exists many ways to put network working, you can learn more at UML official site.
apt-get install bridge-utils;
4. Download one filesystem:
At uml site, you can download many filesystems. Redhat, debian, slack and others are available. We are going to download Debian 3.0 filesystem from this link. After download, unzip the file using
bunzip2 Debian-3.0r0.ext2.bz2
5. Running it!
Now we have all that we need to running many uml virtual hosts without network configuration. You can test the uml installation typing these commands:
linux ubd0=Debian-3.0r0.ext2;
You will see the commom linux initialization screen, services wake up, and if all occured successful, the login screen. You can logging it using username: root, and blank password.

6. Setup network:
You can normal shutdown the umlhost. We use tun/tap devices to run virtual network. Tun/tap is good for security reasons, becase use preconfigured devices. We will create one tun/tap device, called tap0, belongs to ernexto.
tunctl -u ernexto
echo 1 > /proc/sys/net/ipv4/ip_forward
route add -host 172.16.0.51 dev tap0
echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp
arp -Ds 172.16.0.50 eth0 pub

brctl addbr br0
ifconfig eth0 0.0.0.0 promisc up
ifconfig tap0 0.0.0.0 promisc up
ifconfig br0 172.16.0.50 netmask 255.255.0.0 up
brctl stp br0 off
brctl setfd br0 1
brctl sethello br0 1
brctl addif br0 eth0
brctl addif br0 tap0

7. Finish
With tap device configured, you can run umlhost again, now starting with eth0 device.
linux.uml ubd0=Debian,eth0=tap0
After loggin in umlhost, configure network normally, using command ifconfig eth0. You can set default gatway to host ip.

For more information, see links bellow, or send mail to me.
http://user-mode-linux.sourceforge.net
http://www.debian.org

quarta-feira, fevereiro 28

Quem é que joga a fumaca pro alto...

Last week Eric Raymond published a post in Fedora devel list wich the subject "Goodbye fedora". In the message he wrote why is migrating to Ubuntu. Significant reasons to migrate from fedora includes "technical and political levels", he said. The Fedora mail list received many messages explain about the Raymond's problems and why Fedora is a good system. This is going to be one of the longest threads in the mail list history. You can read the Raymond's message following these link https://www.redhat.com/archives/fedora-devel-list/2007-February/msg01006.html

In my opinion, rpm package dependeces are very crazy, and new yum (up2date on RH) are good, but apt-get of the Debian is the best choice. I instaled to test fedora 6 on my laptop without problems. I just liked the 3d desktop of Gnome, nothing more.

The Debian Etch (testing version) are stable to desktops. You can install easily. The net-install cd have just 180 Mb and at the end of the installation you have a up to date system. The stable version (Sarge) is the best option to servers, and it is really stable.

Debian Sarge on servers and Debian Etch on desktops!!!


segunda-feira, fevereiro 26

Monitoramento com snmp e rrdtool

Logo depois que um sistema qualquer é implantado, como por exemplo um novo servidor, surge a necessidade de realizar um monitoramento dos novos serviços que estão rodando. Cada serviço tem suas particularidades, e o monitorá-los nos permite perceber essas características, como a taxa de crescimento do uso da banda da internet, ou os horarios em que os usuarios mais utilizam o banco de dados da empresa.

Com esses dados podemos "prever" algumas coisas importantes. Quando será necessário incrementar o link da internet é uma delas! Para realizar essas tarefas, existe o snmp. porém ele por si só é um tanto complexo. Aí surge o rrdtool (http://oss.oetiker.ch/rrdtool/)

Semelhante ao conhecido mrtg, ele nos permite gerar gráficos a partir dos dados obtidos com o snmp. Mas pode faz além disso: como os dados são inseridos através de scripts, você pode monitorar praticamente qualquer coisa que resulte um número. A primeira tela abaixo, é do site oficial http://oss.oetiker.ch/rrdtool/ e a segunda mostra o load de um servidor de ftp que estou criando...

Outra ferramenta muito boa é o cacti (www.cacti.org). Desenvido em php, este é uma front-end completo para o rrdtool. Ele consegue obter os dados diretamente de snmp, além de script em python/perl/shell ou qualquer outra coisa executável. Na internet você ainda encontra diversos plugins que aumentam a sua capacidade.