Commit 6197cd06e3e57444c86b004baa32b2ac6d1a3f67

Authored by Guilherme Andrade Del Cantoni
1 parent 673cdb2c

Configuração do container oracle para acessar base do SEI do TRF4

Vagrantfile
... ... @@ -13,6 +13,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
13 13 # Necessário permissões de root para utilizar a porta 80 (> 1024)
14 14 config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache)
15 15 config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)
  16 + config.vm.network :forwarded_port, guest: 1521, host: 1521 # Banco de Dados (Oracle)
16 17 config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)
17 18 config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty)
18 19 config.vm.network :forwarded_port, guest: 1080, host: 1080 # MailCatcher
... ... @@ -32,6 +33,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
32 33 # Constrói imagens dos containers utilizados no provicionamento
33 34 docker.build_image "/mnt/sei/ops/solr", args: "-t 'processoeletronico/solr'"
34 35 docker.build_image "/mnt/sei/ops/mysql", args: "-t 'processoeletronico/mysql'"
  36 + docker.build_image "/mnt/sei/ops/oracle", args: "-t 'processoeletronico/oracle'"
35 37 docker.build_image "/mnt/sei/ops/sei", args: "-t 'processoeletronico/sei'"
36 38 docker.build_image "/mnt/sei/ops/fakesmtp", args: "-t 'processoeletronico/fakesmtp'"
37 39 docker.build_image "/mnt/sei/ops/jod", args: "-t 'processoeletronico/jod'"
... ... @@ -48,17 +50,21 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
48 50 daemonize: true,
49 51 args: "-p 11211:11211"
50 52  
51   - # docker run -d --name db -p 3306:3306 processoeletronico/mysql:latest
52   - docker.run "db", image: "processoeletronico/mysql:latest",
  53 + # docker run -d --name mysql -p 3306:3306 processoeletronico/mysql:latest
  54 + docker.run "mysql", image: "processoeletronico/mysql:latest",
53 55 daemonize: true,
54 56 args: "-p 3306:3306"
55 57  
  58 + # docker run -d --name oracle -p 1521:1521 -p 8180:8080 processoeletronico/oracle:latest
  59 + docker.run "oracle", image: "processoeletronico/oracle:latest",
  60 + daemonize: true,
  61 + args: "-p 1521:1521 -p 8180:8080"
  62 +
56 63 # docker run -d --name solr -p 8983:8983 -v /mnt/sei/src/sei/solr:/mnt/sei/index processoeletronico/solr:latest
57 64 docker.run "solr", image: "processoeletronico/solr:latest",
58 65 daemonize: true,
59 66 args: "-p 8983:8983"
60 67  
61   - # Container do Jod desativado por questões de otimização
62 68 # docker run -d --name jod -p 8080:8080 processoeletronico/jod:latest
63 69 docker.run "jod", image: "processoeletronico/jod:latest",
64 70 daemonize: true,
... ... @@ -67,10 +73,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
67 73 # docker run -d --name sei -p 80:80 --link solr:solr --link db:db --link memcached:memcached --link smtp:smtp -v /mnt/sei/src:/opt processoeletronico/sei:latest
68 74 docker.run "sei", image: "processoeletronico/sei:latest",
69 75 daemonize: true,
70   - args: "-p 80:80 --link db:db --link solr:solr --link memcached:memcached --link jod:jod --link smtp:smtp -v /mnt/sei/src:/opt"
  76 + args: "-p 80:80 --link oracle:oracle --link mysql:mysql --link solr:solr --link memcached:memcached --link jod:jod --link smtp:smtp -v /mnt/sei/src:/opt"
71 77 end
72 78  
73 79 # Inicialização dos containers em caso de reinicialização da máquina host
74 80 # A inicialização é realizada de forma sequencial para evitar conflito no mapeamento de volumes no Docker
75   - config.vm.provision "shell", run: "always", inline: "docker restart db && docker restart jod && docker restart solr && docker restart memcached && docker restart smtp && docker restart sei"
  81 + config.vm.provision "shell", run: "always", inline: "docker restart oracle && docker restart mysql && docker restart jod && docker restart solr && docker restart memcached && docker restart smtp && docker restart sei"
76 82 end
... ...
Vagrantfile_Distrib
... ... @@ -33,10 +33,12 @@ Vagrant.configure(2) do |config|
33 33 # Necessário permissões de root para utilizar a porta 80 (> 1024)
34 34 config.vm.network :forwarded_port, guest: 80, host: 80 # SIP e SEI (Apache)
35 35 config.vm.network :forwarded_port, guest: 3306, host: 3306 # Banco de Dados (Mysql)
  36 + config.vm.network :forwarded_port, guest: 1521, host: 1521 # Banco de Dados (Oracle)
  37 + config.vm.network :forwarded_port, guest: 8080, host: 8180 # iSQL (Oracle)
36 38 config.vm.network :forwarded_port, guest: 8080, host: 8080 # Jod Converter (Tomcat)
37 39 config.vm.network :forwarded_port, guest: 8983, host: 8983 # Solr Indexer (Jetty)
38 40 config.vm.network :forwarded_port, guest: 1080, host: 1080 # MailCatcher
39 41  
40 42 # Inicialização dos containers em caso de reinicialização da máquina host
41   - config.vm.provision "shell", run: "always", inline: "docker restart db && docker restart jod && docker restart solr && docker restart memcached && docker restart smtp && docker restart sei"
  43 + config.vm.provision "shell", run: "always", inline: "docker oracle restart && docker restart mysql && docker restart solr && docker restart memcached && docker restart smtp && docker restart sei"
42 44 end
... ...
oracle/Dockerfile 0 → 100644
... ... @@ -0,0 +1,13 @@
  1 +FROM wnameless/oracle-xe-11g
  2 +
  3 +ENV ORACLE_ALLOW_REMOTE=true
  4 +ENV NLS_LANG=PORTUGUESE_BRAZIL.WE8MSWIN1252
  5 +
  6 +COPY install.sh /install.sh
  7 +COPY pre-install.sql /tmp/pre-install.sql
  8 +COPY SEI_3.0.0.dmp /tmp/sei.dmp
  9 +COPY SIP_3.0.0.dmp /tmp/sip.dmp
  10 +COPY sei-config.sql /tmp/sei-config.sql
  11 +COPY sip-config.sql /tmp/sip-config.sql
  12 +
  13 +RUN bash /install.sh
... ...
oracle/install.sh 0 → 100644
... ... @@ -0,0 +1,25 @@
  1 +#!/usr/bin/env bash
  2 +
  3 +set -e
  4 +
  5 +# Variáveis de ambiente
  6 +export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
  7 +export PATH=$ORACLE_HOME/bin:$PATH
  8 +export ORACLE_SID=XE
  9 +export NLS_LANG=PORTUGUESE_BRAZIL.WE8MSWIN1252
  10 +
  11 +# Inicialização do servidor
  12 +bash /usr/sbin/startup.sh
  13 +
  14 +# Configuração do character set e outros parâmetros iniciais
  15 +sqlplus sys/oracle as sysdba @"/tmp/pre-install.sql"
  16 +
  17 +# Restauração das bases de dados do SEI e SIP
  18 +imp system/oracle file=/tmp/sei.dmp full=y
  19 +imp system/oracle file=/tmp/sip.dmp full=y
  20 +
  21 +# Configuração das bases de dados do sistema
  22 +sqlplus sei/sei_user @"/tmp/sei-config.sql"
  23 +sqlplus sip/sip_user @"/tmp/sip-config.sql"
  24 +
  25 +exit 0
... ...
oracle/install_oracle.sh
... ... @@ -1,59 +0,0 @@
1   -# Configuração do Oracle no servidor de aplicação do SEI/SIP
2   -
3   -# Instalação de dependências do projeto
4   -yum -y install libaio
5   -
6   -
7   -# Instalação dos pacotes Basic e SDK Instant Client
8   -rpm -Uvh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
9   -rpm -Uvh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
10   -rpm -Uvh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
11   -
12   -# Instalação dos OCI8 extension
13   -printf "\n" | pecl install oci8-2.0.12
14   -
15   -# Habilitação da extensão do Oracle
16   -echo "extension=oci8.so" > /etc/php.d/oci8.ini
17   -
18   -# Configuração de diretório do Oracle Instant Client no dynamic linker/loader
19   -echo "/usr/lib/oracle/11.2/client64/lib" > /etc/ld.so.conf.d/oracle-11.conf
20   -
21   -# Variáveis de ambiente
22   -export NLS_LANG=PORTUGUESE_BRAZIL.WE8MSWIN1252
23   -
24   -
25   -# Configuração do banco de dados Oracle do SEI/SIP
26   -
27   -sqlplus sys/oracle as sysdba;
28   -
29   -
30   -SHUTDOWN;
31   -STARTUP MOUNT;
32   -ALTER SYSTEM ENABLE RESTRICTED SESSION;
33   -ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
34   -ALTER DATABASE OPEN;
35   -ALTER DATABASE CHARACTER SET INTERNAL_USE WE8MSWIN1252;
36   -ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;
37   -SHUTDOWN IMMEDIATE;
38   -STARTUP;
39   -
40   -
41   -
42   -CREATE TABLESPACE SEI DATAFILE '/u01/app/oracle/oradata/XE/sei.dbf' SIZE 20M AUTOEXTEND ON;
43   -CREATE TABLESPACE SIP DATAFILE '/u01/app/oracle/oradata/XE/sip.dbf' SIZE 20M AUTOEXTEND ON;
44   -
45   -create user sei identified by sei_user;
46   -create user sip identified by sip_user;
47   -
48   -grant all privileges to sei;
49   -grant all privileges to sip;
50   -
51   -
52   -imp system/oracle file=/tmp/SEI_3.0.0.dmp full=y
53   -
54   -
55   -drop user sei cascade;
56   -drop user sip cascade;
57   -
58   -
59   -
oracle/pre-install.sql 0 → 100644
... ... @@ -0,0 +1,20 @@
  1 +SHUTDOWN;
  2 +STARTUP MOUNT;
  3 +ALTER SYSTEM ENABLE RESTRICTED SESSION;
  4 +ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
  5 +ALTER DATABASE OPEN;
  6 +ALTER DATABASE CHARACTER SET INTERNAL_USE WE8MSWIN1252;
  7 +ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;
  8 +SHUTDOWN IMMEDIATE;
  9 +STARTUP;
  10 +
  11 +CREATE TABLESPACE SEI DATAFILE '/u01/app/oracle/oradata/XE/sei.dbf' SIZE 20M AUTOEXTEND ON;
  12 +CREATE TABLESPACE SIP DATAFILE '/u01/app/oracle/oradata/XE/sip.dbf' SIZE 20M AUTOEXTEND ON;
  13 +
  14 +CREATE USER sei IDENTIFIED BY sei_user;
  15 +CREATE USER sip IDENTIFIED BY sip_user;
  16 +
  17 +GRANT ALL PRIVILEGES TO sei;
  18 +GRANT ALL PRIVILEGES TO sip;
  19 +
  20 +EXIT;
... ...
oracle/sei-config.sql 0 → 100644
... ... @@ -0,0 +1,5 @@
  1 +update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;
  2 +delete from auditoria_protocolo;
  3 +
  4 +EXIT;
  5 +
... ...
oracle/sei_2_6_0_BD_Ref_Exec.dmp 0 → 100644
No preview for this file type
oracle/sip-config.sql 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;
  2 +update sistema set pagina_inicial='http://localhost/sip' where sigla='SIP';
  3 +update sistema set pagina_inicial='http://localhost/sei/inicializar.php', web_service='http://localhost/sei/controlador_ws.php?servico=sip' where sigla='SEI';
  4 +update orgao set sin_autenticar='N' where id_orgao=0;
  5 +
  6 +EXIT;
  7 +
... ...
oracle/sip_2_6_0_BD_Ref_Exec.dmp 0 → 100644
No preview for this file type
sei/ConfiguracaoSEI.php
... ... @@ -31,14 +31,24 @@ class ConfiguracaoSEI extends InfraConfiguracao {
31 31 'SipWsdl' => 'http://localhost/sip/controlador_ws.php?servico=wsdl',
32 32 'https' => false),
33 33  
  34 + // CONFIGURAÇÃO PARA BANCO DE DADOS ORACLE
34 35 'BancoSEI' => array(
35   - 'Servidor' => getenv("DB_PORT_3306_TCP_ADDR"),
36   - 'Porta' => getenv("DB_PORT_3306_TCP_PORT"),
  36 + 'Servidor' => getenv("MYSQL_PORT_3306_TCP_ADDR"),
  37 + 'Porta' => getenv("MYSQL_PORT_3306_TCP_PORT"),
37 38 'Banco' => 'sei',
38 39 'Usuario' => 'sei_user',
39 40 'Senha' => 'sei_user',
40 41 'Tipo' => 'MySql'), //MySql ou SqlServer
41 42  
  43 + // CONFIGURAÇÃO PARA BANCO DE DADOS ORACLE
  44 + /* 'BancoSEI' => array(
  45 + 'Servidor' => getenv("ORACLE_PORT_1521_TCP_ADDR"),
  46 + 'Porta' => getenv("ORACLE_PORT_1521_TCP_PORT"),
  47 + 'Banco' => 'sei',
  48 + 'Usuario' => 'sei',
  49 + 'Senha' => 'sei_user',
  50 + 'Tipo' => 'Oracle'), //MySql ou SqlServer
  51 + */
42 52 'CacheSEI' => array(
43 53 'Servidor' => getenv("MEMCACHED_PORT_11211_TCP_ADDR"),
44 54 'Porta' => getenv("MEMCACHED_PORT_11211_TCP_PORT")),
... ...
sei/ConfiguracaoSip.php
... ... @@ -25,14 +25,25 @@ class ConfiguracaoSip extends InfraConfiguracao {
25 25 'PaginaLogin' => 'http://localhost/sip/login.php',
26 26 'SipWsdl' => 'http://localhost/sip/controlador_ws.php?servico=wsdl',
27 27 'https' => false),
28   -
  28 +
  29 + // CONFIGURAÇÃO PARA BASE DE DADOS MYSQL
29 30 'BancoSip' => array(
30   - 'Servidor' => getenv("DB_PORT_3306_TCP_ADDR"),
31   - 'Porta' => getenv("DB_PORT_3306_TCP_PORT"),
  31 + 'Servidor' => getenv("MYSQL_PORT_3306_TCP_ADDR"),
  32 + 'Porta' => getenv("MYSQL_PORT_3306_TCP_PORT"),
32 33 'Banco' => 'sip',
33 34 'Usuario' => 'sip_user',
34 35 'Senha' => 'sip_user',
35 36 'Tipo' => 'MySql'), //MySql ou SqlServer),
  37 +
  38 + // CONFIGURAÇÃO PARA BASE DE DADOS ORACLE
  39 +/* 'BancoSip' => array(
  40 + 'Servidor' => getenv("ORACLE_PORT_1521_TCP_ADDR"),
  41 + 'Porta' => getenv("ORACLE_PORT_1521_TCP_PORT"),
  42 + 'Banco' => 'sip',
  43 + 'Usuario' => 'sip',
  44 + 'Senha' => 'sip_user',
  45 + 'Tipo' => 'Oracle'), //MySql ou SqlServer),
  46 +*/
36 47  
37 48 'CacheSip' => array(
38 49 'Servidor' => getenv("MEMCACHED_PORT_11211_TCP_ADDR"),
... ...
sei/Dockerfile
... ... @@ -15,6 +15,12 @@ ENV TERM xterm
15 15  
16 16 COPY install.sh /install.sh
17 17  
  18 +# Arquivos de instalação dos componentes do Oracle
  19 +COPY oracle/oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm /tmp/
  20 +COPY oracle/oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm /tmp/
  21 +COPY oracle/oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm /tmp/
  22 +COPY oracle/install_oracle.sh /tmp/
  23 +
18 24 RUN bash /install.sh
19 25  
20 26 # Configuração dos parâmetros do SEI e SIP
... ...
sei/install.sh
... ... @@ -9,11 +9,8 @@ yum -y update
9 9 yum -y install httpd24u mysql56u memcached openssl wget curl unzip gcc java-1.7.0-openjdk libxml2 crontabs
10 10  
11 11 # Instalação do PHP e demais extenções necessárias para o projeto
12   -#wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
13 12 wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
14 13 wget https://centos6.iuscommunity.org/ius-release.rpm
15   -#rpm -Uvh epel-release*.rpm
16   -#rpm -ivh epel-release-6-8.noarch.rpm
17 14 rpm -ivh epel-release-latest-6.noarch.rpm
18 15 rpm -ivh ius-release.rpm
19 16  
... ... @@ -31,6 +28,9 @@ echo "extension=uploadprogress.so" >> /etc/php.d/uploadprogress.ini
31 28 # Instalação de componentes para teste do Barramento de Seriços do PEN
32 29 yum -y install supervisor gearmand libgearman libgearman-devel php56u-pecl-gearman
33 30  
  31 +# Instalação dos componentes de conexão ao Oracle (Oracle Instant Client)
  32 +bash /tmp/install_oracle.sh
  33 +
34 34 # Configuração de permissão do diretório de arquivos
35 35 mkdir -p /var/sei/arquivos && \
36 36 chmod -R 777 /var/sei/arquivos
... ...
sei/oracle/install_oracle.sh 0 → 100644
... ... @@ -0,0 +1,22 @@
  1 +#!/usr/bin/env bash
  2 +
  3 +set -e
  4 +
  5 +# Instala?o de depend?cias do projeto
  6 +yum -y install libaio
  7 +
  8 +# Instala?o dos pacotes Basic e SDK Instant Client
  9 +rpm -Uvh /tmp/oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
  10 +rpm -Uvh /tmp/oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
  11 +rpm -Uvh /tmp/oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
  12 +
  13 +# Instala?o dos OCI8 extension
  14 +printf "\n" | pecl install oci8-2.0.12
  15 +
  16 +# Habilita?o da extens? do Oracle
  17 +echo "extension=oci8.so" > /etc/php.d/oci8.ini
  18 +
  19 +# Configura?o de diret?io do Oracle Instant Client no dynamic linker/loader
  20 +echo "/usr/lib/oracle/11.2/client64/lib" > /etc/ld.so.conf.d/oracle-11.conf
  21 +
  22 +exit 0
... ...
sei/oracle/oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 0 → 100644
No preview for this file type
sei/oracle/oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm 0 → 100644
No preview for this file type
sei/oracle/oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm 0 → 100644
No preview for this file type