Instalação Oracle 10g - Red Hat 4.0
Autor: MarcusWilliam | Publicado: 2011-07-12T22:57:00-03:00


1 . Introdução





Para mim o aprendizado de como se instala o Oracle em um ambiente Linux foi extremamente difícil. No inicio não eu tinha a noção de que para esta atividade se faz necessários conhecimentos consolidados de ambiente Linux. E depois de muitas investidas, consegui compreender cada passo apresentado nos vários manuais disponíveis na “nuvem”.



Está apresentado a minha versão sobre a compreensão das etapas da instalação de Oracle em Linux. As idéias estão dispostas de acordo como imagino que seria a melhor de serem passadas a mim no início desta empreitada. Imagino que o material a seguir está cabível para quem está dando&nbsp;os primeiros passos no&nbsp;Linux, e distribuídas na seguinte disposição:



Planejamento / Providências


Ações do usuário root


Ações do usuário oracle



Os passos neste material vislumbram a instação de Oracle Entreprise Edition 10g Release 2 (Oracle10gR2) em um sistema operacional Red Hat Entreprise Linux 4.0 (LunixRHEL4.0)

Alguns conceitos de administração Linux estão apresentados de forma superficial. Uma pesquisa mais aprofundada nos sites cabíveis se faz necessária.

A documentação oficial sobre a instalação do Oracle10gR2 em ambiente Linux pode ser encontrada em http://goo.gl/0Vdve 

&nbsp;

2 . Planejamento / Providências

Como em qualquer atividade, seja de TI ou não, é interessante que seja feito um planejamento a fim de apontar todas as providências necessárias para a realização das várias atividades.&nbsp;

2.1 . Definições

No processo de instalação serão solicitadas as seguintes definições sobre :

2.1.1 - Nome do banco de dados - O nome do banco é case-sensitive e deverá ter no máximo ter 8 caracteres;

2.2.2 - Pasta do Software Oracle - em que pasta o software estará posicionado após a instalação. É fortemente indicado a utilização do padrão OFA (Optimal Flexible Architecture) que é uma sugestão da Oracle de como e onde posicionar os vários elementos do banco de dados. 


2.2 . Requisitos de hardware



A documentação oficial Oracle10gR2 (Cheking the Hardware Requerements) sobre o assunto aponta os mínimos requisitos a seguir:

1GB de memoria ;
400MB para /temp ;
3.5GB para os binários (software Oracle) dependendo do tipo de instalação escolhida ;
1.2GB para o banco de dados pré-configurado.


Portanto a adequação aos requisitos mínimos do hardware que receberá a instalação é uma providência necessária para o sucesso na instalação e principalmente para a boa usabilidade do banco de dados que será criado.

A título de informação, em http://www.puschitz.com/ o autor diz que conseguiu instalar o Oracle10gR2 em um equipamento de 256MB e o banco rodou sem problemas. Senhores não efetuem este tipo de teste em produção a informação apresentada neste texto é meramente ilustrativa

2.3 . Pacotes RPM

Assim como o Oracle10gR2 o LunixRHEL4.0 têm várias opções de instalação o que o tornam mais completo ou não em termos de funcionalidades disponíveis por conta da opção de instalação escolhida.

O Oracle10gR2 requer algumas funcionalidade de software que em muitos casos não estão disponíveis do sistema operacional comprometendo assim a instalação desejada. 

Usaremos os pacotes RPM (www.rpm.org) para instalar as funcionalidades ainda ausentes do LunixRHEL4.0 e necessárias à instalação do Oracle10gR2. Desta forma deveremos providenciar todos os pacotes RPM indicados na documentação oficial (Cheking the Software Requerements) como pacotes necessários.

Tomando com base as a documentação oficial e www.putchitz.com, observamos que os pacotes RPM necessários são :


binutils-2.15.92.0.2-10.EL
compat-db-4.1.25-9
control-center-2.8.0-12
gcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
glibc-2.3.4-2
glibc-common-2.3.4-2
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-9.EL4
libstdc++-devel-3.4.3-9.EL4
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
libaio-0.3.96-5 (apenas em www.putchitz.com)
setarch-1.6-1 (apenas na documentação oficial)
compat-libstdc++-296-2.96-132.7.2 (apenas na documentação oficial)


Como fonte de obtenção de pacotes RPM devemos indicar a própria mídia utilizada para instalar o Lunix RHELx. Nesta, encontramos uma gama de arquivos RPM. Na versão &nbsp;LunixRHEL4.0 os pacotes RPM são encontrados na pasta /RedHat/RPMS/

Não devemos de esquecer de citar o portal http://rpm.pbone.net/. Portal especializado em pesquisa de pacotes RPM independente da distribuição de Lunix. Este portal já me salvou de alguns momentos difíceis.

E efetivação da instalação dos pacotes RPM será abordada a seguir.

2.4 . Download Arquivo de instalação

Para baixar o software de instalação, é necessário uma conta OTN, que dá acesso a documentação oficial, aos downloads e newsletters importantes do mundo Oracle. Essa conta é um item imprescindível para um profissional Oracle e pode ser criada em http://goo.gl/qpuj7.

Em http://goo.gl/nY6GF, na região “Oracle Database 10g Relase 2”, acesse o link “Oracle Database 10g Release 2 (10.2.0.1.0) for Linux x86”. Em seguida, na nova página, &nbsp;aceite o License Aggrement e efetive o download através do link “10201_database_linux32.zip”. Como indicado na própria página o arquivo tem 668.734.003 bytes, quase 634MB.

&nbsp;

3 . Ações com o usuário root&nbsp;

Várias atividades deverão ser executadas com o usuário root.

3.1 . Instalação pacotes nescesários

A documentação indica o nome e a versão do que o pacote deverá estar. Deveremos assegurar que todos os pacotes listados no item 2.2 estão instalados seguindo versão indicada. Assim, deveremos providenciar a instalação dos pacotes ausentes, se houverem ou a atualização dos pacotes desatualizados se houverem.

&nbsp;&nbsp;&nbsp; O comando a seguir efetua de só vez a verificação da versão dos vários pacotes necessários . 



rpm -q binutils compat-db control-center gcc gcc-c++ \

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glibc glibc-common gnome-libs &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libstdc++ libstdc++-devel make pdksh &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sysstat xscreensaver libaio &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\ &nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;compat-libstdc++-296-2.96-132.7.2 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setarch


O resultado deste comando indicará se deveremos instalar ou atualizar algum pacote, sendo que , para instalar um pacote ausente deveremos utilizar o comando rpm -ivh &lt;rpmFIle&gt;, em quanto que, para atualizar um pacote já instalado deveremos utilizar o comando rpm -Uvh &lt;rpmFIle&gt;. No processo de instalação de um pacote pode apresentar a necessidade da instalação de algum pacote não listado com necessário no item 2.2, este deverá ser instalado da mesma forma.

3.2 . Parâmetros Kernel

Através do editor de texto mais cómodo, adicionar as seguintes linhas no arquivo /etc/sysctl.conf&nbsp;
&nbsp;

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


e em seguida, para persistir as novas configurações recém adicionadas, proferir o comando :


#/sbin/sysctl -p 


Orientações oficiais em Configuring Kernel Parameters.

3.4 . Usuários e Grupos necessários

São necessários a criação de alguns usuários e grupos de usuários:






Item

Finalidade

Grupo oinstallcontrolar e catalogar todas instalações de produtos oracle.
Grupo dbaserá associado aos usuários do S.O. que deverão ter privilégios de administrador nos bancos de dados
Usuário oracleserá o dono dos arquivos do software Oracle10gR2



&nbsp;&nbsp;&nbsp; Os comandos a seguir efetuam as criações 

# /sbin/groupadd oinstall &nbsp;

# /sbin/groupadd dba &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

# /sbin/userall -m -g oinstall -G dba oracle &nbsp;

# /sbin/passwd oracle


Orientações oficiais em Creating Required Operating System Groups and Users.

3.5 . Local de instalação software Oracle10gR2

Podemos ou não seguir a sugestão da Oracle de posicionamento dos elementos (padrão OFA) como citado no item 2.1.2. No nosso caso, seguindo o padrão, o software será criado na pasta /u01/app/oracle. 


# mkdir -p /u01/app/oracle

# chown -R oracle:oinstall /u01/app/oracle

# chmod -R 775 /u01/app/oracle&nbsp;&nbsp;

3.6 . Variáveis de ambiente usuário Oracle(/home/oracle/.bash_profile)

Sempre que o usuário criado no item 3.4 acessar o S.O. para fins de manutenção ou acesso ao banco de dados, algumas “setagens” de ambiente deverão ser executadas. O arquivo /home/oracle/.bash_profile é automaticamente executado quanto o usuário oracle acessa o sistema, portanto tais “setagens” serão definidas neste arquivo

Através do editor de texto mais cômodo, adicionar as seguintes linhas no arquivo /home/oracle/.bash_profile



export ORACLE_BASE= ??? &nbsp;##valor definido no item 3.5

export ORACLE_SID= ??? &nbsp;&nbsp;##valor definido no item 2.1.1

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export PATH=$PATH:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

3.7 . Incremento nos limites de sistema operacional

Afim de incrementar os limites de recursos do sistema operacional destinados ao usuário oracle recém criado deveremos efetuar o seguinte:

Através do editor de texto mais cómodo, adicionar as seguintes linhas no arquivo /etc/profile
&nbsp;

if [ \$USER = "oracle" ]; then

&nbsp;if [ \$SHELL = "/bin/ksh" ]; then

&nbsp;&nbsp;&nbsp;ulimit -p 16384

&nbsp;&nbsp;&nbsp;ulimit -n 65536

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else

&nbsp;&nbsp;&nbsp;ulimit -u 16384 -n 65536

&nbsp;fi

&nbsp;umask 022

fi

&nbsp;

4 . Ações com o usuário oracle

4.1 . Descompactar arquivo de instalação

O arquivo de instalação obtido no item 2.4 está “zipado”. Deveremos proceder a descompactação da seguinte forma: posicionar o arquivo em uma área de disco com mais de 1.400MB, afim de que não tenhamos problemas de espaço em disco durante a descompactação. Na pasta onde se encontra o arquivo de instalação deverá ser emitido o comando
&nbsp;

$ unzip 10201_database_linux32.zip

&nbsp;

será criada uma pasta database com 695MB.

4.2 . Chamar Oracle Universal Installer (OUI)

A partir da pasta database criada na descompactação do arquivo de instalação (item4.1), deveremos efetuar o seguinte comando


$ ./runinstaler


Em um determinado momento da instalação deveremos executar com usuário root e em uma outra janela o seguinte script


#/u01/app/oracle/product/10.2.0/db_1/root.sh

&nbsp;

5 . Finais

Eu fortemente indico, na instalação do software, a não criação do banco de dados padrão “Create Starter DataBase (additional 720MB)”. Esta opção deverá estar desmarcada. O banco deverá ser criado pelo Database Configuration Assistant (DBCA). E isso é assunto para outro post.