Instalação do produto Oracle 12c R1 no Oracle Linux 7.2

No artigo de hoje, estarei realizando uma instalação do Oracle 12c R1 64 bits em um ambiente Oracle Linux 7.2, (também 64 bits) que criamos em um post anterior (clique aqui para ver).

É importante destacar que a instalação que criaremos não será usada como um ambiente de produção, sendo apenas um ambiente para estudo/testes.

TÓPICOS ABORDADOS

  • Download Oracle. 
  • Descompactação dos Arquivos.
  • Desabilitar Firewall e SElinux.
  • Configuração do host.
  • Configuração e instalação automática dos pre requisitos do Oracle.
  • Criação do diretório de instalação.
  • Configuração das variáveis de ambiente e permissões do usuário Oracle- /etc/ambiente_ora_db.sh.
  • Instalação e configuração do VNC Server.
  • Instalação Gráfica do Produto.
DOWNLOAD DA MÍDIA
O download das mídias de instalação do Oracle, pode ser realizado através do OTN ou do Edelivery nos links abaixo:


DESCOMPACTAÇÃO DOS ARQUIVOS
Após termos realizado o download e enviado a mídia para o servidor, será necessário descompacta-la. Para isso, basta usar o comando unzip midia.gz, conforme o exemplo abaixo, no qual os arquivos foram descompactados dentro do diretório /u01/discos.
[oracle@ora12c discos]$ pwd
/u01/discos
-rw-r--r--. 1 oracle root   1014530602 May 23 11:00 linuxamd64_12102_database_2of2.zip
-rw-r--r--. 1 oracle root   1673544724 May 23 11:09 linuxamd64_12102_database_1of2.zip

[oracle@ora12c discos]$ unzip linuxamd64_12102_database_1of2.zip
Archive:  linuxamd64_12102_database_1of2.zip
   creating: database/ ....

[oracle@ora12c discos]$ unzip linuxamd64_12102_database_2of2.zip
Archive:  linuxamd64_12102_database_2of2.zip
   creating: database/stage/Components/oracle.ctx/ ....

[oracle@ora12c discos]$ ls -ltr
total 2625084
drwxr-xr-x. 7 oracle oracle       4096 Jul  7  2014 database
-rw-r--r--. 1 oracle root   1014530602 May 23 11:00 linuxamd64_12102_database_2of2.zip
-rw-r--r--. 1 oracle root   1673544724 May 23 11:09 linuxamd64_12102_database_1of2.zip

DESABILITAR FIREWALL E SELINUX
Se estiverem ativados, tanto o firewaal quando o Selinux podem impactar no processo de instalação. Desta forma estaremos realizando a desativação dos mesmos. Posteriormente, se existir uma necessidade, os mesmos podem ser configurados e ativados novamente.

Primeiramente, desativar o firewall e a sua inicialização automática do mesmo.
[root@ora12c ~]# systemctl status firewalld
â firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2016-05-25 15:30:11 BRT; 35min ago
 Main PID: 662 (firewalld)
   CGroup: /system.slice/firewalld.service
           ââ662 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

May 25 15:30:03 ora12c systemd[1]: Starting firewalld - dynamic firewall daemon...
May 25 15:30:11 ora12c systemd[1]: Started firewalld - dynamic firewall daemon.
[root@ora12c ~]# systemctl stop firewalld
[root@ora12c ~]# systemctl status firewalld
â firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Wed 2016-05-25 16:05:42 BRT; 4s ago
  Process: 662 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 662 (code=exited, status=0/SUCCESS)

May 25 15:30:03 ora12c systemd[1]: Starting firewalld - dynamic firewall daemon...
May 25 15:30:11 ora12c systemd[1]: Started firewalld - dynamic firewall daemon.
May 25 16:05:40 ora12c systemd[1]: Stopping firewalld - dynamic firewall daemon...
May 25 16:05:42 ora12c systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@ora12c ~]#

Apos a desativação do firewall, estarei ajustando o SElinux alterando o campo SELINUX=enforcing para SELINUX=permissive no arquivo /etc/selinux/config e posteriormente aplicando essa alteração, através do comando setenforce Permissive.
[root@ora12c u01]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


[root@ora12c u01]# setenforce Permissive
[root@ora12c u01]#

CONFIGURAÇÃO DO HOSTS
Na configuração do arquivo de hosts que conterá o hostname e IP que será resolvido. Para realizar esta configuração, basta com o usuário root, editar o arquivo /etc/hosts adicionando o hostname da maquina e o IP atribuído usando a sintaxe:
 <IP-address> <fully-qualified-machine-name> <machine-name>. 
No meu caso o hostname é ora12c e o IP 192.168.9.121 a linha adicionada é:
192.168.9.121 ora12c ora12c
[root@ora12c u01]# ping ora12c
ping: unknown host ora12c
[root@ora12c u01]# hostname
ora12c
[root@ora12c u01]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.9.121  netmask 255.255.255.0  broadcast 192.168.9.255
        inet6 fe80::a00:27ff:fe0c:370  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:0c:03:70  txqueuelen 1000  (Ethernet)
        RX packets 2022541  bytes 2854627702 (2.6 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 600924  bytes 42230064 (40.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 1208  bytes 97372 (95.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1208  bytes 97372 (95.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:0c:d9:80  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 695 (695.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@ora12c u01]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.9.121 ora12c ora12c

[root@ora12c u01]#
[root@ora12c u01]# ping ora12c
PING ora12c (192.168.9.121) 56(84) bytes of data.
64 bytes from ora12c (192.168.9.121): icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from ora12c (192.168.9.121): icmp_seq=2 ttl=64 time=0.093 ms
64 bytes from ora12c (192.168.9.121): icmp_seq=3 ttl=64 time=0.053 ms

CONFIGURAÇÃO E INSTALAÇÃO AUTOMÁTICA DOS PRE REQUISITOS DO ORACLE 
Afim de realizar as instalações e configurações dos pacotes necessários para a instalação do Oracle 12c, para "facilitar nossa vida" vamos utilizar o pacote oracle-rdbms-server-12cR1-preinstall. Assim como nas versões 10g/11g, é disponibilizado um pacote que efetua todas as configurações e instalações necessárias.
Desta forma, com o usuário root, basta executar o comando:
yum install oracle-rdbms-server-12cR1-preinstall -y
[root@ora12c ~]# yum install oracle-rdbms-server-12cR1-preinstall -y
BDB2053 Freeing read locks for locker 0x336: 3697/139625249990464
BDB2053 Freeing read locks for locker 0x338: 3697/139625249990464
Loaded plugins: langpacks, ulninfo
Resolving Dependencies
--> Running transaction check
---> Package oracle-rdbms-server-12cR1-preinstall.x86_64 0:1.0-4.el7 will be installed
--> Processing Dependency: ksh for package: oracle-rdbms-server-12cR1-preinstall-1.0-4.el7.x86_64
--> Processing Dependency: libaio-devel for package: oracle-rdbms-server-12cR1-preinstall-1.0-4.el7.x86_64
--> Running transaction check
---> Package ksh.x86_64 0:20120801-22.el7_1.3 will be installed
---> Package libaio-devel.x86_64 0:0.3.109-13.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                                                      Arch                           Version                                       Repository                          Size
====================================================================================================================================================================================
Installing:
 oracle-rdbms-server-12cR1-preinstall                         x86_64                         1.0-4.el7                                     ol7_latest                          18 k
Installing for dependencies:
 ksh                                                          x86_64                         20120801-22.el7_1.3                           ol7_latest                         880 k
 libaio-devel                                                 x86_64                         0.3.109-13.el7                                ol7_latest                          12 k

Transaction Summary
====================================================================================================================================================================================
Install  1 Package (+2 Dependent packages)

Total download size: 910 k
Installed size: 3.2 M
Downloading packages:
warning: /var/cache/yum/x86_64/7Server/ol7_latest/packages/libaio-devel-0.3.109-13.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEYB/s |    0 B  --:--:-- ETA
Public key for libaio-devel-0.3.109-13.el7.x86_64.rpm is not installed
(1/3): libaio-devel-0.3.109-13.el7.x86_64.rpm                                                                                                                |  12 kB  00:00:00
(2/3): oracle-rdbms-server-12cR1-preinstall-1.0-4.el7.x86_64.rpm                                                                                             |  18 kB  00:00:00
(3/3): ksh-20120801-22.el7_1.3.x86_64.rpm                                                                                                                    | 880 kB  00:00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                               1.1 MB/s | 910 kB  00:00:00
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Importing GPG key 0xEC551F03:
 Userid     : "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>"
 Fingerprint: 4214 4123 fecf c55b 9086 313d 72f9 7b74 ec55 1f03
 Package    : 7:oraclelinux-release-7.2-1.0.5.el7.x86_64 (@anaconda/7.2)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libaio-devel-0.3.109-13.el7.x86_64                                                                                                                               1/3
  Installing : ksh-20120801-22.el7_1.3.x86_64                                                                                                                                   2/3
  Installing : oracle-rdbms-server-12cR1-preinstall-1.0-4.el7.x86_64                                                                                                            3/3
  Verifying  : oracle-rdbms-server-12cR1-preinstall-1.0-4.el7.x86_64                                                                                                            1/3
  Verifying  : ksh-20120801-22.el7_1.3.x86_64                                                                                                                                   2/3
  Verifying  : libaio-devel-0.3.109-13.el7.x86_64                                                                                                                               3/3

Installed:
  oracle-rdbms-server-12cR1-preinstall.x86_64 0:1.0-4.el7

Dependency Installed:
  ksh.x86_64 0:20120801-22.el7_1.3                                                       libaio-devel.x86_64 0:0.3.109-13.el7

Complete!
[root@ora12c ~]#

CRIAÇÃO DO DIRETÓRIO DE INSTALAÇÃO
Nesta etapa, estaremos criando os diretórios utilizados para a instalação do produto Oracle. No exemplo abaixo, criarei e concederei permissão ao usuário oracle no diretório /orabin/app/oracle/product/12.1.0.2/db_1.
[root@ora12c /]# mkdir -p /orabin/app/oracle/product/12.1.0.2/db_1
[root@ora12c /]# chown -R oracle:oinstall /orabin
[root@ora12c /]# chmod -R 775 /orabin
[root@ora12c /]# ll /orabin/app/oracle/product/12.1.0.2/db_1
total 0

CRIAÇÃO DAS VARIÁVEIS DE AMBIENTE E PERMISSÕES DO USUÁRIO ORACLE
Afim de facilitar a definição das variáveis necessárias e criar uma "organização" estaremos criando um arquivo com as variáveis necessárias para o Oracle. O arquivo ficara abaixo do /etc e terá o nome de ambiente_ora12c_db.sh. O mesmo deverá conter as variáveis abaixo, definidas de acordo com a necessidade de seu ambiente.
[root@ora12c ~]# cat /etc/ambiente_ora12c_db.sh
#VARIAVEIS ORACLE 12c
ORACLE_BASE=/orabin/app/oracle/; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/db_1; export ORACLE_HOME
ORACLE_SID=prda; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH; export PATH
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1; export NLS_LANG
PS1="Banco=$ORACLE_SID-> "; export PS1

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
[root@ora12c ~]#
Configurada as variáveis de ambiente, vamos realizar a configuração dos grupos e subgrupos do usuário Oracle. Para isso, basta executar o comando abaixo
[root@ora12c ~]#
[root@ora12c ~]# usermod -G dba,oinstall -c "Database Owner" oracle
[root@ora12c ~]#
INSTALAÇÃO E CONFIGURAÇÃO DO VNC SERVER
Nesta etapa, será realizada a instalação e configuração do VNC Server, que permitirá qe possamos realizar uma conexão remota via VNC para executar o modo gráfico da instalação do Oracle.
O primeiro passo que temos que realizar é baixar e instalar o pacote do VNC. Estaremos realizando este processo através do yum, usando o usuário root, conforme abaixo.
[root@ora12c ~]# yum install tigervnc-server
Loaded plugins: langpacks, ulninfo
Resolving Dependencies
--> Running transaction check
---> Package tigervnc-server.x86_64 0:1.3.1-4.el7_2 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================================================
 Package                                       Arch                                 Version                                       Repository                                Size
=================================================================================================================================================================================
Installing:
 tigervnc-server                               x86_64                               1.3.1-4.el7_2                                 ol7_latest                               202 k

Transaction Summary
=================================================================================================================================================================================
Install  1 Package

Total download size: 202 k
Installed size: 493 k
Is this ok [y/d/N]: y
Downloading packages:
tigervnc-server-1.3.1-4.el7_2.x86_64.rpm                                                                                                                  | 202 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : tigervnc-server-1.3.1-4.el7_2.x86_64                                                                                                                          1/1
  Verifying  : tigervnc-server-1.3.1-4.el7_2.x86_64                                                                                                                          1/1

Installed:
  tigervnc-server.x86_64 0:1.3.1-4.el7_2

Complete!
[root@ora12c ~]#
Concluída a etapa de instalação, vamos agora conectar com o usuário oracle e executar o comando vncserver, após a execução do mesmo, nos será solicitada a senha de acesso. A mesma deve ter pelo menos 6 caracteres e será usada para acesso ao vnc.
[root@ora12c ~]# su - oracle
Last login: Tue May 24 14:58:38 BRT 2016 on pts/2
[oracle@ora12c ~]$ vncserver

You will require a password to access your desktops.

Password:
Verify:

Warning: ora12c:1 is taken because of /tmp/.X11-unix/X1
Remove this file if there is no X server ora12c:1
xauth:  file /home/oracle/.Xauthority does not exist

New 'ora12c:3 (oracle)' desktop is ora12c:3

Creating default startup script /home/oracle/.vnc/xstartup
Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/ora12c:3.log

[oracle@ora12c ~]$
Podemos observar no resultado do processo acima, que nosso VNC subiu na porta 3. Desta forma, estarei realizando a conexao através do IP definido ao mesmo (em meu caso 192.168.9.121) e na porta 3 e passando a senha que foi definida anteriormente.



INSTALAÇÃO DO PRODUTO
Realizado o processo acima, estaremos conectando com usuário Oracle. Vamos abrir o prompt de comando, exportar a variável de ambiente /etc/ambiente_ora12c_db.sh e posteriormente acessar o diretório de instalação (/u01/discos/database). Neste diretório vamos executar o runInstraller (conforme abaixo) e aguardar para abrir o processo de instalação.
1- Na primeira tela do processo de instalação, estarei desmarcando a opção para receber os updates via My Oracle Support, clicando em next e confirmando a advertência recebida.

2- Tendo em vista que nosso objetivo neste post é inicialmente instalar apenas o produto (binarios), vamos selecionar a segunda opção (install database software only) na próxima tela e clicar em next.
3- Na próxima tela, estarei selecionando a instalação de uma single instace, através da primeira opção (Single instance database installation) e clicando em next.
4- Agora estarei selecionando o idioma a ser utilizado. Estarei deixando o padrão (English) e clicando e next.
5- Na próxima tela, a opção selecionada é a opção Enterprise Edition uma vez que o produto que baixamos foi a versão Enterprise. É importante sempre estar atendo as questões de licenciamento ao Realizar um processo de instalação em um ambiente que não seja para estudos e testes pessoais.
6- A seguir, nos será apresentado o local da instalação. Como na primeira etapa da instalação já exportamos as variáveis de ambiente, estes campos ja aparecerão preenchidos com os caminhos definidos nas variáveis.
7- Na tela seguinte, também não serão realizadas alterações no diretório.
8- Tendo em vista que no criamos apenas o grupos oinstall, oper, esteramos deixando as opções default, conforme abaixo.
9- Na próxima etapa, serão avaliados se todos os pré-requisitos estão sendo atendidos. Em meu caso existe uma advertência que pode ser corrida. Para isso, basta clicar em Fix&Check Again e executar o script de correção gerado.
[root@ora12c ~]# sh /tmp/CVU_12.1.0.2.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.
[root@ora12c ~]#
Após a execução do script conforme recomendação aberta, são verificados novamente os pre-requisitos e caso estejam ok, somos direcionados diretamente ao sumário.
10- Apos validar o sumário, vamos executar o processo de instalação, clicando em install. Agora é aguardar o tempo de execução do processo.
Durante o processo de instalação, teremos que executar 2 scripts, conforme instruções que aparecerão na tela.
[root@ora12c ~]# sh /orabin/app/oraInventory/orainstRoot.sh
Changing permissions of /orabin/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /orabin/app/oraInventory to oinstall.
The execution of the script is complete.
[root@ora12c ~]# sh /orabin/app/oracle/product/12.1.0.2/db_1/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /orabin/app/oracle/product/12.1.0.2/db_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
[root@ora12c ~]#
Executadas todas as etapas acima, nosso processo de instalação do produto (binários) está concluida com sucesso. Em um proximo post, estaremos realizando a criação de uma instancia utilizando esta instalação realizada.

Fonte:
http://www.oracle.com/technetwork/pt/articles/linux/simplifica-install-db-oracle-linux-2251327-ptb.html
https://docs.oracle.com/database/121/LADBI/pre_install.htm#LADBI222

Comentários