Instalando o OracleDB 12C no OracleLinux 7 usando o script pre-install




Olá,
Em Agosto de 2014 foi disponibilizado o Oracle Linux 7, baseado na distribuição da RedHat e que neste tutorial vimos a instalação básica do Oracle Linux 7.0, junto com o XFCE e algumas configurações básicas iniciais, neste link é explicado algumas diferenças do OracleLinux 7 para com os outros derivados do RedHat 7.0 e também alguns detalhes sobre esta distro, links, downloads, além do passo-a-passo para uma instalação limpa e enxuta com o Xfce.
Agora, veremos como realizar a instalação a título de teste/homologação do Oracle Database 12C no GNU/Linux Oracle 7.0 usando o script RDBMS pre-install.

Iremos instalar o banco de dados na mesma instalação do Oracle Linux 7 que foi mostrada no artigo anterior, sendo assim, caso não tenha instalado o Oracle Linux 7, basta seguir o tutorial.
Para iniciar, deveremos instalar o repositório EPEL no Linux. O porém é que até o momento não há este repositório para o Oracle Linux 7, mas felizmente por ele ser derivado do R.H. e compatível (até certo ponto) com demais distros (Scientific, CentOS, Fedora...), não teremos problemas.


Vamos instalar o repositório EPEL (Extra Packages for Enterprise Linux), este repositório contém softwares 100% livres criados pela comunidade do Projeto Fedora.
Sendo estas distros baseadas no RHEL, não haverá conflitos ou incompatibilidades (salvo algumas exceções). Este repositório também é usado no CentOS e outras distros.
Baixe e instale o epel para a versão 7. (Atualmente está no repositório beta do fedora).

http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm

Verifique no endereço dl.fedoraproject.org/pub/epel/beta/7/x86_64 se não há uma versão mais recente.


O link acima é para a versão 64bits da distro.


# wget -c http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm



# rpm -ivh epel-release-7-0.2.noarch.rpm


# yum update



Após adicionado o repositório, vamos instalar as dependências.

Dependências para o Oracle RDBMS Server 12c Pre-Install:

# yum install bc bind-utils compat-libcap1 compat-libstdc++-33 gcc-c++ ksh libaio libaio-devel libstdc++-devel nfs-utils smartmontools sysstat xorg-x11-utils zip unzip libXp zlib-devel



1 - RDBMS

Vamos usar o rdbms para o OracleDatabase 12C R1 que está nos repositórios da versão anterior da distro, ou seja, do Oracle Linux 6, isto porque até o momento este pacote não existe para a versão 7 do Oracle Linux, porém irá funcionar perfeitamente bem.

Link do diretório (para verificar se não há uma nova versão):
http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/getPackage/


Download do Oracle RDBMS Server 12Cr1 Pre-Install 1.0-11:
http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/getPackage/oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64.rpm



Após fazer o download do arquivo .rpm, instale-o:

# rpm -ivh oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64.rpm


Após instalar, o comando estará disponivel:

oracle-rdbms-server-12cR1-preinstall-verify 

Diretório com logs:
/var/log/oracle-rdbms-server-12cR1-preinstall/



Ao executar o comando, o meu log ficou o seguinte:


[[email protected] results]# cat orakernel.log 
Adding group oinstall with gid 54323
groupadd: grupo 'oinstall' já existe
Adding group dba
groupadd: grupo 'dba' já existe
User oracle is already present
uid=54321(oracle) gid=54321(oinstall) grupos=54321(oinstall),54322(dba)
Creating oracle user passed
Verifying  kernel parameters as per Oracle recommendations...
fs.file-max = 6815744
fs.file-max is matching with preinstall config.
kernel.sem is matching with preinstall config.
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmmni is matching with preinstall config.
kernel.shmall = 1073741824
kernel.shmall is matching with preinstall config.
kernel.shmmax = 4398046511104
kernel.shmmax is matching with preinstall config.
net.core.rmem_default = 262144
net.core.rmem_default is matching with preinstall config.
net.core.rmem_max = 4194304
net.core.rmem_max is matching with preinstall config.
net.core.wmem_default = 262144
net.core.wmem_default is matching with preinstall config.
net.core.wmem_max = 1048576
net.core.wmem_max is matching with preinstall config.
fs.aio-max-nr = 1048576
fs.aio-max-nr is matching with preinstall config.
net.ipv4.ip_local_port_range is matching with preinstall config.
net.ipv4.ip_local_port_range = 9000 65500
Setting kernel parameters as per oracle recommendations...
Altered file /etc/sysctl.conf
Original file backed up at /etc/sysctl.conf.orabackup
Verifying & setting of kernel parameters passed
Setting user limits using /etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf
Verifying oracle user OS limits as per Oracle recommendations...
oracle soft nofile 1024
nofile soft limit is matching with preinstall config.
oracle hard nofile 65536
nofile hard limit is matching with preinstall config.
oracle soft nproc 16384
nproc soft limit is matching with preinstall config.
oracle hard nproc 16384
nproc hard limit is matching with preinstall config.
oracle soft stack 10240
stack soft limit is matching with preinstall config.
oracle hard stack 32768
stack hard limit is matching with preinstall config.
Setting oracle user OS limits as per Oracle recommendations...
Altered file /etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf
Original file backed up at /var/log/oracle-rdbms-server-12cR1-preinstall/backup/Jul-30-2014-13-16-09
Verifying & setting of user limits passed
/boot/grub/menu.lst not present.. ..
Verifying of boot parameters failed.
Disabling Transparent Hugepages.
Refer Oracle Note:1557478.1
Disabling defrag.
Refer Oracle Note:1557478.1
Taking a backup of old config files under /var/log/oracle-rdbms-server-12cR1-preinstall/backup/Jul-30-2014-13-16-09 



Com isto, podemos prosseguir com a instalação do Oracle 12C.


2 - Oracle Database 12C

Após baixar o pacote do Oracle 12C para linux (no próprio site da Oracle), descompacte-o. Para fazer o download no e-delivery, você deverá se cadastrar (é gratuito). O pacote linux para download do Oracle database 12C é composto por 2 arquivos compactados, no total de quase 2,5Gb, veja neste link


Com o SSH server habilitado, podemos conectar usando a opção -Y para executar um aplicativo gráfico deste servidor no nosso linux desktop remotamente...

Dentro do diretório onde você descompactou os arquivos do 12C, execute o instalador. Ele abrirá a tela de setup.


3 - Instalação

A seguir, as telas no processo de instalação e algumas observações sobre cada uma delas e também a solução de contorno nos problemas que podem surgir durante a instalação.

NOTA: Apenas será instalado o Oracle 12C (o que não deve ser o ideal), não instalei neste tutorial um ambiente completo para servidor, onde obviamente incluiria o Oracle GRID e outras configurações mais refinadas e completas (lembre-se: isto é a continuação do ambiente de testes/homologação iniciado no tutorial anterior)


Etapa 1 - Cadastro de e-mail (opcional)


Etapa 2 - Atualização do banco (aconselho ignorar, estamos montando um ambiente para testes numa vm com varias limitações)



Primeiro erro na instalação do Oracle 12C: O ambiente não atende aos requisitos mínimos. Podemos continuar (sim).


Etapa 4 - Classe do Sistema - Escolha o modo rápido e fácil, Classe de Desktop


Etapa 5 - Definição da localização dos arquivos de banco, home, etc... (aqui, eu criei um usuário no linux chamado "oracle", a instalação será feita dentro deste usuário), escolha do tipo de edição do banco (optei pela Standard Edition One).
Além disto, você criará a senha administrativa.






Etapa 6 - Diretório de inventário e nome do grupo oraInventory (grupo no S.O.)


Etapa 8 - Confirmar as configurações e escolhas feita (podendo salva-las) e iniciar a instalação finalmente.


Iniciando a instalação...






Erro na instalação do Oracle 12C:
Erro ao chamar o destino "links proc gen_pcscfg procob" do makefile...

Como resolver este erro na instalação do Oracle 12C:
O problema está relacionado com dependencias e link para tais.
Siga os seguintes passos para a solução de contorno:

1 - Faça um backup e delete o seguinte diretório (ou renomeie para 'OLD-stubs-BKP', por exemplo):
rm -rf /home/oracle/app/product/12.1.0/dbhome_1/lib/stubs

2 - Depois, faça um backup do arquivo env_rdbms.mk (por segurança). No arquivo original, 
procure pela linha onde está definido o "LINKTTLIBS" (linha 176, ou proximo deste número), e edite para o seguinte:

Linha original:
LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS)

Edite para:
LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS) -lons


3 - Agora, procure por 2 linhas (279 e 280 ou próximo) onde começa com "LINK=" e edite seguindo abaixo:
Linhas originais: 
LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS)

LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS)

Substitua para o seguinte:
LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS) -Wl,--no-as-needed

LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS) -Wl,--no-as-needed


4 - Agora, procure por 2 linhas onde há "TG4PWD_LINKLINE" (3041 e 3042, ou alguma linha próxima destas) e edite:
Linhas originais:
TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \
$(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS)

Altere para o seguinte:
TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \
$(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS) -lnnz12


5 - Abra o arquivo "$ORACLE_HOME/ctx/lib/env_ctx.mk" procure pela linha LINK=$(LDCCOM) (provavel linha de numero 154),
e altere para:
LINK=$(LDCCOM) --Wl,--no-as-needed


6 - Volte ao instalador e clique em "repetir". A instalação continuará sem erros. Depois da instalação você deverá executar o relink (dentro do $ORACLE_HOME/app/product/12.1.0/dbhome_1/bin):
./relink all

Pronto. Erro contornado ;-)

Seguimos a instalação do nosso ambiente:








Os seguintes scripts informados deverão ser executados com o root (o Oracle não vai fazer isto pra você kk)























Gerenciamento das senhas e contas.
Todas as contas exceto SYS e SYSTEM são bloqueadas!


Finalizamos a instalação do Oracle 12C no ambiente de testes.



Pronto!!

Configurando as variáveis (caso você usou outro diretório para instalação, os caminhos no comando abaixo serão diferentes):

ORACLE_HOME=/home/oracle/app/oracle/product/12.1.0/dbhome_1
export ORACLE_HOME

ORACLE_SID=orcl
export ORACLE_SID

NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export NLS_LANG

PATH=$ORACLE_HOME/bin:$PATH
export PATH



Extras:

Como fiz a instalação dentro do home do usuário Oracle, os executáveis estão dentro de:
/home/oracle/app/oracle/product/12.1.0/dbhome_1/bin

Você deverá iniciar o banco:
Como usuário Oracle, digite:
. oraenv
Ao dar enter, confirme o SID do banco (no meu caso é o orcl).
Pronto.
Agora basta iniciar:
srvtl start database -d orcl -o open

Na instalação já está o SQL*Plus e o SQL Developer.




Aspecto visual do Oracle Linux 7:
Estou usando a mesma VM do tutorial anterior, e foi instalado o Xfce, caso queira siga os passos:
yum install uln-yum-mirror
yum groupinstall Xfce
yum -y install xorg-x11-fonts-Type1 xorg-x11-fonts-misc
yum install xorg-x11-server-Xorg
yum install xorg-x11-drivers


reinicie!!!

Inicie agora o ambiente gráfico:

startxfce4



Melhorando o visual do XFCE com ícones e temas:

Caso queira incrementar o Xfce, adicione alguns opcionais para melhor visual no xfce (eu prefiro assim):
yum install oxygen-gtk2 oxygen-gtk3 gtk2-engine mate-themes mate-icon-theme gnome-icon-theme
Com  isto eu tenho os ícones e tema do Gnome/Mate, porém no Xfce.


Recuperar a senha do Oracle database 12C:

Caso perca a senha ou não tenha definido-a no momento de instalação, logue no sqlplus como sysdba (na configuração padrão, não pede senha):

sqlplus / as sysdba

ALTER USER SYS IDENTFIED BY novasenha ;
ALTER USER sysdba IDENTFIED BY novasenha ;



Finalizamos este tutorial que foi dividido em 2 partes, bem simples e "cru". Realizamos a instalação do Oracle Linux 7, juntamente com Xfce, EPEL e por fim, colocamos o Oracle database 12C.

Mais vistos no mês:

As melhores distribuições Linux para 2017

TuxMath - Tux, do Comando da Matemática. Ensino e diversão a crianças.

Teste de Performance de Rede com Iperf

DHCP - Guia Completo

Aula #14 - Os sistemas de arquivos ext2/ext3/ext4

OPNsense - Firewall Open Source

Ophcrack: Descubra todas as senhas do Windows

SSD no linux

Oracle Linux 7.0 Server com Xfce - Instalação e configurações iniciais

Brískola - aprenda a jogar !!