Instalando Oracle Database 19c em um Oracle Linux 8.8 no Virtual Box - PARTE 2
Este material tem a finalidade de Demonstrar como instalar o Oracle Linux 8.8 com as especificações mínimas para realizar a instalação do Oracle Database 19c Release 3.
Na Parte 2 vamos realizar as seguintes atividades:
- Configurar o ambiente para a instalação do Oracle Database;
- Instalar o Oracle Database 19c e criar um banco de dados Container;
- Criar um novo Disco no VirutalBox e um file system no Linux para a FRA;
- Realizar algumas validações e configurações no banco de dados criado;
Link para Download do Oracle Database 19c Release 3:
Configuração pré Instalação:
Primeiro vamos instalar o cd do VBOX na VM, assim poderemos criar uma pasta compartilhada com a VM para poder copiar o binário do oracle.
Com a VM desligada, vá em "Configurações" e depois em "Armazenamento". Selecione a "Controladora IDE" e na parte de baixo da tela clique no Disquete com símbolo de mais (+), selecione "Disco Óptico".
Agora clique em "OK".
Agora vamos iniciar a VM e instalar o GuestAdditions no SO para podermos configurar a pasta compartilhada.
Abre o terminal e vire root. Digite o comando "df -h" para listar os FIle Systems montados. Podemos ver que temos um "VBOX_GAs_7.0.12" montado. Devemos acessar esse File System executar o arquivo "autorun.sh" conforme abaixo.
OBS: pode acontecer de a versão do Guest instalada na sua máquina ser diferente da minha, dessa forma identifique na sua VM o nome correto do GuestAdditions instalado.
use o comando "cd <caminho do file system>" para acessar o diretório.
use o comando "ls" para listar os arquivos dentro do file system que voce entrou
use o comando ./<arquivo sh> para executar um arquivo do tipo shell script no linux
Após executar o comando o GuestAdditions será instalado e ao final será solicitado para que aperte "ENTER" para finalizar. Depois que finalizar desligue a VM para que assim que ligarmos novamente tudo seja instalado e atualizado.
Agora com a VM desligada vá em "Configurações" e depois em "Pasta Compartilhada" e no canto esquerdo clique no símbolo da pasta com o ícone +.
No campo "Caminho da pasta" você deve procurar um pasta existente no seu computador para que você use de ponte para transferir arquivos da sua máquina para dentro da VM, eu selecionei a minha pasta Downloads mas você pode criar uma nova pasta nos Documentos destinada para isso.
O campo "Nome da pasta" será preenchido sozinho, então não é necessário alterar.
O campo "Ponto de Montagem" vai ser o caminho dentro do Linux, assim como criamos os pontos de montagem /u01 e /u02 na instalação (PARTE 1). Aqui vou criar o ponto de montagem /downloads.
Selecione a opção "Montar automaticamente" e clique em "OK"
Agora vamos ligar a VM e confirmar que o ponto de montagem /downloads está criado.
Feito isso, temos agora uma pasta compartilhada para transferir os binários do oracle para dentro da VM. Agora vamos realizar algumas configurações no Linux antes de executar o preinstall.
Host Files
No arquivo hosts que se encontra no "/etc/hosts" vamos adicionar uma nova entrada com as informações de hostname e ip da nossa VM.
Com o user root:
use o comando " vi /etc/hosts" para abrir o arquivo no editor de texto VIM.
use o comando "Esc + i" para habilitar a edição;
Navegue com as setas e "Enter" para pular linha até o final do arquivo para adicionar as informações:
192.168.56.6 orl8db19.localdomain orl8db19Adicionada a entrada e use o comando "Esc" e depois digite ":wq!" e "Enter" para salvar as alterações e sair do VIM.
Para validar se o arquivo foi salvo com as alterações feitas acima, use o comando "cat /etc/hosts".
Caso digite algo errado no arquivo e queira sair sem salvar aperte "Esc" e depois digite ":q!" e Enter para sair sem salvar.
O arquivo deve ficar assim :
Host Name
Agora vamos editar o arquivo hostname que se encontra no "/etc/hostname" usando os mesmos comandos acima.
vamos adicionar ".localdomain" ao final do nosso host caso não esteja com.
No meu caso o arquivo está correto. Use o comando "cat /etc/hostname"para validar se precisa ser adicionado o ".localdomain" ao final do nome.
Use os comandos do VIM descritos acima para editar o arquivo caso necessário.
Agora Vamos baixar o Pré Install que fará todos os ajustes necessários para receber a instalação dos binários do Oracle 19c.
Certifique-se que interface de rede 1 está com as configurações de IPV4 automáticas conforme abaixo,
caso não estejam, configure igual as imagens abaixo e reinicie a VM.
Após configurado, execute o comando abaixo para instalar o Pré Install de maneira automática.
Use o comando "dnf install -y oracle-database-preinstall-19c"
Instalar também as libs abaixo:
# New for OL8 dnf install -y libnsl dnf install -y libnsl.i686 dnf install -y libnsl2 dnf install -y libnsl2.i686
Caso queira realizar a configuração de forma manual, abaixo o link com os passos do Setup Manual :
Agora após executar o pré install podemos ver no arquivo de senhas que o user "Oracle" foi criado:
Agora vamos trocar a senha do user oracle usando o comando abaixo:
use o comando "passwd <usuario>" para trocar a senha de um usuário (É necessário privilégio de super admin).
Após trocar a senha, salve ela pois ela será usada mais a frente. A senha que usei foi "orcldatabase"mas você pode escolher qualquer uma de sua escolha seguindo a política de senhas.
Agora devemos criar os seguintes diretórios os quais abrigaram a instalação do Oracle e os dbfiles do banco de dados.
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1 mkdir -p /u02/oradata chown -R oracle:oinstall /u01 /u02 chmod -R 775 /u01 /u02
Agora no /home/oracle vamos criar uma pasta onde vamos criar o nosso arquivo de variáveis de ambiente que depois será apontado no .bash_profile. Vamos logar na vm com o user oracle e usar a senha configurada nos passos anteriores e executar o comando abaixo.
mkdir /home/oracle/scripts
Agora vamos criar um arquivo set Env.sh configurar as variáveis de ambiente dentro dele para poder iniciar a instalação.
cat > /home/oracle/scripts/setEnv.sh <<EOF # Oracle Settings export TMP=/tmp export TMPDIR=\$TMP export ORACLE_HOSTNAME=orl8db19.localdomain export ORACLE_UNQNAME=orcl export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/dbhome_1 export ORA_INVENTORY=/u01/app/oraInventory export ORACLE_SID=orcl export PDB_NAME=orcl_pdb1 export DATA_DIR=/u02/oradata export PATH=/usr/sbin:/usr/local/bin:\$PATH export PATH=\$ORACLE_HOME/bin:\$PATH export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib EOF
Uma breve descrição das variáveis mais importantes:
ORACLE_HOSTNAME se refere ao hostname da vm que alteremos nos passos anteriores.
ORACLE_UNQNAME se refere ao nome único do nosso banco de dados
ORALCE_SID se refere a nossa instância de banco de dados (bem comum ser igual ao UNQNAME)
PDB_NAME se refere ao nosso Plugabble Database dentro da nossa Instância de banco de dados
ORACLE_HOME se refere a onde será feita a instalação dos binários e executáveis do banco de dados
DATA_DIR se refere ao diretório que abrigará os datafiles, control files, redos e etc do nosso banco de dados.
ORACLE_BASE se refere ao nosso diretório base.
ORA_INVENTORY se refere ao nosso inventário, se já houvesse uma instalação do oracle nessa vm, ao iniciar uma nova instalação o instalador detectaria a existência de um OraInventory através do arquivo /etc/oraInst.loc. Assim ele usaria o OraInventory que já existe e não criará um novo.
As demais: LD_LIBRARY_PATH, PATH e CLASSPATH são variáveis destinadas a binários, libs, java e etc. São variáveis importantes relacionadas a apontamento de versões de binários do oracle, libs e etc.
Testando se o script está funcionando :
Execute:
. /home/oracle/scripts/setEnv.sh
Valide:
echo $ORACLE_HOME
echo $ORACLE_BASE
echo $ORACLE_HOSTNAME
echo $ORACLE_SID
echo $ORACLE_UNQNAME
echo $DATA_DIR
echo $ORA_INVENTORY
echo $PDB_NAME
echo $PATH
echo $CLASSPATH
echo $LD_LIBRARY_PATH
Execute o comando abaixo com Oracle, o comando adiciona uma linha ao .bash_profile referenciando o script criado. Assim toda vez que logar com o oracle na VM essas variáveis serão configuradas automaticamente.
echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile
agora, no próximo login ou executando o comando "source .bash_profile" dentro do /home/oracle
as variáveis serão setadas de acordo com oque configuramos no setEnv.sh.
Essas variáveis serão usadas na instalação do Software Oracle e da instância de bancos de dados no modo Silent/Interativo, é de extrema importância que as mesmas estejam configuradas corretamente.
Agora vamos criar dois scripts, um de stop e outro de start.
cat > /home/oracle/scripts/start_all.sh <<EOF #!/bin/bash . /home/oracle/scripts/setEnv.sh export ORAENV_ASK=NO . oraenv export ORAENV_ASK=YES dbstart \$ORACLE_HOME EOF cat > /home/oracle/scripts/stop_all.sh <<EOF #!/bin/bash . /home/oracle/scripts/setEnv.sh export ORAENV_ASK=NO . oraenv export ORAENV_ASK=YES dbshut \$ORACLE_HOME EOF chown -R oracle:oinstall /home/oracle/scripts chmod u+x /home/oracle/scripts/*.sh
Quando a instalação estiver concluída será possível baixa e subir o banco usando os scripts criados acima com os comandos abaixo.
~/scripts/start_all.sh ~/scripts/stop_all.sh
Instalação
Dando permissão para o user oracle acessar a pasta compartilhada, execute o seguinte comando:
com root: usermod -a -G vboxsf oracle
Acesse o /downloads e encontre o arquivo do oracle baixado
Acesse o $ORACLE_HOME e descompacte o arquivo la dentro, o comando pode demorar um pouco e isso vai travar o Prompt, aguarde a finalização até que o prompt seja liberado.
cd $ORACLE_HOME
unzip -oq /downloads/LINUX.X64_193000_db_home.zip
Após isso, se acessarmos o $ORACLE_HOME podemos ver que foi criada a pasta dbhome_1 e os arquivos foram criados dentro.
Agora vamos executar a instalação do Software Oracle, podemos usar o modo silent ou o interativo.
Abaixo as duas alternativas. Para o modo interativo se estiver usando o MOBAxtern o mesmo já exporta o display sem muito trabalho. Dessa forma para não alongar o post vou acessar o terminal de dentro da VM, acessar o $ORACLE_HOME e instalar pela interface gráfica.
# Fake Oracle Linux 7. export CV_ASSUME_DISTID=OEL7.6
# Silent mode.
./runInstaller -ignorePrereq -waitforcompletion -silent \
-responseFile ${ORACLE_HOME}/install/response/db_install.rsp \
oracle.install.option=INSTALL_DB_SWONLY \
ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=${ORA_INVENTORY} \
SELECTED_LANGUAGES=en,en_GB \
ORACLE_HOME=${ORACLE_HOME} \
ORACLE_BASE=${ORACLE_BASE} \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSBACKUPDBA_GROUP=dba \
oracle.install.db.OSDGDBA_GROUP=dba \
oracle.install.db.OSKMDBA_GROUP=dba \
oracle.install.db.OSRACDBA_GROUP=dba \
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
DECLINE_SECURITY_UPDATES=true# Interactive mode. ./runInstaller
Não esqueça de executar o export da variável C_ASSUME_DISTID, caso contrário o instalador apresentará erro já na abertura.
No passo 11 conforme imagem abaixo não vou habilitar o recovery, isso será feito ao final onde vou mostrar como criar um novo disco no virtual boy e configurar o mesmo para o Recovery do banco, assim segregamos os binários, Arquivos do Banco (DbFiles) e backup&Recovery.
Aqui podemos usar diferentes senhas para o SYS, SYSTEM e PDBADMIN, em ambientes Produtivos isso é de extrema importância. Nesse ambiente como se trata de um laboratório vou configurar a senha "oracle" para todos os users. É necessário clicar 2x em next para confirmar o uso da senha fora dos padrões de segurança.
Configure os grupos conforme imagem abaixo:
Ao final da instalação será necessários executar dois scripts como root, são scripts que alteram o oratab e configuraram permissionamentos dos binários do Oracle, na tela abaixo podemos informar a senha do root e ao final da instalação os scripts serão executados automaticamente. Nós iremos executar esses scripts de forma manual. Deixe a opção desmarcada e clique em Next.
Agora no Pré Check de instalação foi informado que o tamanho da memória Swap não atinge o mínimo suficiente para a instalação, podemos ignorar esse aviso marcando a caixa de seleção "Ignore All". Caso outros erros apareçam, peço que revise os passos anteriores, corrija caso tenha feito algo errado e inicie novamente o instalador do Oracle.
Aqui será mostrado um sumário de instalação com todas as configurações feitas, aqui temos a opção de salvar esse arquivo Response File que pode ser usado posteriormente em novas instalações em modo silent. Clique em "Install".
Na tela abaixo teremos um barra de progresso da instalação do Software Oracle e criação do Banco de dados. Caso Apresente algum erro, a instalação será pausada, caso isso aconteça, abra uma nova janela do terminar do servidor, realize as devidas alterações e continue a instalação. A instalação pode demorar um pouco e em certo momento será exibida a janela "Execute Configuration Scripts", Nesse ponto será necessário abrir uma nova janela do terminal, logar como root e executar os scripts abaixo, após executar os scripts, clique em "OK" e a instalação continuará.
Primeiro script:
Após executar os scripts acima e clicar em "ok" para prosseguir com a instalação a mesma continuará e ao final apresentará a tela abaixo indicando o sucesso da instalação. Clique em "close" para fechar o assistente de instalação.
Agora no terminal do linux com o user Oracle vamos checar se o banco está ativo e se o listener foi configurado.
Agora vamos acessar o ambiente e validar o Container e nosso PDB com os comandos da imagem abaixo:
Comando 1: Comando usando para acessar a Instância com o user SYS;
Comando 2: Comando usado para validar onde estou conectado atualmente: CDB ou PDB.
Comando 3: Comando usado para listar os PDBs dentro do CDB.
Comando 4: Comando usado para listar o status atual dos PDBs.
Comando 5: Comando usado para acessar um PDB.
Explicando de maneira clara e objetiva. o nosso CDB (Container DataBase) é a nossa instância, dentro dela temos os nossos PDBs (Pluggable DataBases) Que podem ser apenas 1 ou N PDBs. para mudar de um para outro PDB podemos usar o Comando 3 para listar quais PDBs temos disponíveis e o Comando 5 para acessar esse PDB.
Feito as validações acima, agora vamos configurar um área de recovery para o ambiente, e para isso precisamos criar um novo disco no VirtualBox, montar esse novo disco no linux e fazer as devidas configurações de permissão para que o user oracle tenha controle de leitura/escrita:
Primeiramente vamos desligar a VM para termos total controle de modificação no ambiente, feito isso vamos em Configurações, depois em Armazenamento e na Controladora SATA vamos clicar no símbolo quadrado que indica "Adicionar disco Rígido":
Agora na próxima tela vamos na opção Criar:
Vamos selecionar a opção VDI - VirtualBox Disk Image:
Aqui vamos selecionar o nome do disco, no caso eu apenas adicionei um "_1" no nome ja existente para distingir e quantos GB queremos que esse novo disco tenha, neste caso aloque no mínimo 25GB, eu segui alocando 30GB. Após isso clique em finalizar.
Agora com o disco criado na lista de Not Attached ou Não Conectado, selecione ele e clique em Escolher:
Agora que o disco foi conectando a Controladora SATA da VM podemos clicar em OK para confirmar a a configuração desse novo disco.
Agora vamos ligar a VM, e na tela de login devemos acessar a opção abaixo dos usuários "Not liste ?"
Aqui poderemos informar o user root e a senha oracle.
Após logar com root vamos acessar os aplicativos e abrir o gerenciador de discos para configurar o novo disco criado:
Na tela Inicial, no canto superior esquerdo, clique em Activities, depois na barra lateral em Show Applications e depois em Disks:
Agora podemos ver os Volumes disponíveis e temos um de 32GB, se selecionarmos ele podemos ver que nao temos nenhuma alocação dentro dele, se olharmos o primeiro poderemos ver que temos a alocação da SWAP, /, HOME e etc, a qual foram configurados na instalação do SO feito na PARTE 1.
Dessa forma vamos selecionar esse disco de 32GB sem alocação para criar uma nova partição dentro Linux. Logo abaixo do Volumes temos um quadrado com símbolo de chave, clique nele:
No menu, selecione a opção Format Partition:
Agora vamos dar o nome de "u03" para a nova partição:
Agora vamos confirmar a criação da nova partição clicando no botão "Confirm", o disco será formatado e a partição "/u03"será criada.
Após realizar o processo acima vamos configurar para que esse novo File System seja montado ao iniciar a VM para não precisarmos realizar essa atividade toda vez que ligarmos a VM. Para isso vamos nas opções dos discos e em "Edit Mount Options" :
Marque as opções "Mount at system startup" e "Show in user interface". Certifique-se que no campo "Mount Point" esta configurado "/u03" e salve as alterações:
A configuração deve ficar mais ou menos assim:
Agora se acessarmos o SO com root podemos ver que temos o Mount Point "/u03" montado como esperado. Use o comando "df -h":
Agora dentro do file system /u03 vamos criar o nosso diretório de recovery Area e ajustar as permissões para que o file system pertença ao Oracle e ajustar as permissões de leitura/escrita/execução do diretório :
- mkdir -p /u03/oradata/recovery_area
- chown -R oracle:oinstall /u03
- chmod 775 /u03
Agora vamos fazer alguns ajustes em nosso PDB para que após um restart da VM o PDB inicie automaticamente assim que a instância for iniciada. Lembre, toda vez que iniciar a VM, cheque se a instância está iniciada, se não estiver, inicie a mesma conforme abaixo.
- Comando: "ps -ef | grep mon" -> Usando para listar o serviço "pmon" da instância que indica que a mesma está online.
Agora que iniciamos o banco, vamos ajustar para que o PDB inicie automaticamente. Com os comandos abaixo podemos ver quais os PDBs disponíveis, e qual o status de cada um deles, se estiver READ WRITE quer dizer que ele está aberto para leitura e escrita, caso esteja MOUNTED quer dizer que ele está apenas montado mas não aberto para leitura/escrita. Nós queremos que após iniciar a instância o status do nosso PDB seja READ WRITE. Dessa forma use o comando "alter session set container =" para nos conectarmos nos PDB e alterar as configuracões:
Agora vamos iniciar o PDB e salvar o status dele, assim quando a instância for reiniciada o status READ WRITE ficará salvo e ele mudará o status assim que houver um reinício:
Agora podemos realizar novamente o stop/start da instância para validar que após um restart o nosso PDB será aberto automaticamente:
Agora que fizemos esse ajuste inicial, vamos configurar o PDB para usar esse diretório "/u03" como a nossa nova área de recovery, onde ficaram armazenados os Archive logs, backups do banco e etc:
Vamos configurar agora os parâmetros "DB_RECOVERY_FILE_DEST_SIZE" e "DB_RECOVERY_FILE_DEST" o primeiro destinado ao tamanho da nossa área e o segundo destinado ao caminho onde ficaram armazenados os nosso arquivos de backup. Eu coloquei 20G para o tamanho mas esse valor pode ser alterado de acordo com a necessidade. Conforme recomendação da Oracle, quanto maior a FRA, mais útil ela é.
Agora podemos configurar para que os archives sejam gerados na FRA e ativar a geração:
Agora temos a nossa FRA (Fast Recovery Area) configurada e os archives gerados dentro dela como podemos ver na imagem acima.
Esses foram os tópicos abordados nesse tutorial.
No próximo tópico vamos configurar e explorar a ferramenta de backup RMAN.
Qualquer dúvida, deixe sua mensagem e ficarei feliz em responde-la.
Thanks,
Pedro Vido








































































Comentários
Postar um comentário