-
-
Save alexishida/164285ca27d89511ad2f97ffc7e00a63 to your computer and use it in GitHub Desktop.
| # Version 21.6.0.0.0 (Requires glibc 2.14) | |
| # Instalar a biblioteca (http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.113-5_amd64.deb) | |
| # sudo apt-get install libaio1 libaio-dev unzip | |
| sudo apt-get install libaio1t64 | |
| sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1 | |
| # Criar a pasta | |
| sudo mkdir /opt/oracle | |
| # Mover para /opt/oracle | |
| instantclient-basic-linux.x64-21.6.0.0.0.zip | |
| instantclient-sdk-linux.x64-21.6.0.0.0.zip | |
| # Extrair para /opt/oracle | |
| unzip instantclient-basic-linux.x64-21.6.0.0.0.zip | |
| unzip instantclient-sdk-linux.x64-21.6.0.0.0.zip | |
| # Criar o link simbolico da lib | |
| cd /opt/oracle/instantclient_21_6 | |
| ln -s libclntsh.so.19.1 libclntsh.so | |
| ln -s libocci.so.19.1 libocci.so | |
| # Manter versões legadas | |
| ln -s /opt/oracle/instantclient_21_6 /opt/oracle/instantclient | |
| # Configurando LD | |
| sudo sh -c "echo /opt/oracle/instantclient > /etc/ld.so.conf.d/oracle-instantclient.conf" | |
| sudo ldconfig | |
| # Exporta as variaveis abaixo .bashrc .zshrc: | |
| export LD_LIBRARY_PATH=/opt/oracle/instantclient:$LD_LIBRARY_PATH | |
| export PATH=/opt/oracle/instantclient:$PATH | |
| # Criando o projeto no Rails | |
| rails new projeto -d oracle | |
| # Adiciona no Gemfile | |
| gem 'activerecord-oracle_enhanced-adapter' | |
| gem 'ruby-oci8' | |
| # Instalando as gems | |
| bundle install | |
| # colocar no config/boot.rb | |
| ENV['LD_LIBRARY_PATH'] ||= '/opt/oracle/instantclient' | |
| ENV['NLS_LANG'] = 'BRAZILIAN PORTUGUESE_BRAZIL.AL32UTF8' | |
| # JAVA_HOME (jdk-8u331-linux-x64.tar.gz) | |
| ln -s /opt/oracle/jdk1.8.0_202 /opt/oracle/jdk | |
| export JAVA_HOME="/opt/oracle/jdk" | |
| export PATH="$JAVA_HOME/bin:$PATH" | |
| # Configuração do Number Oracle | |
| # conf/database.yml | |
| nls_numeric_characters: '.,' | |
| # Criar um arquivo config/initializers/oracle.rb e inserir o código | |
| ActiveSupport.on_load(:active_record) do | |
| ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.class_eval do | |
| # true and false will be stored as 'Y' and 'N' | |
| self.emulate_booleans_from_strings = true | |
| # start primary key sequences from 1 (and not 10000) and take just one next value in each session | |
| self.default_sequence_start_value = "1 NOCACHE INCREMENT BY 1" | |
| # Use old visitor for Oracle 12c database | |
| self.use_old_oracle_visitor = false | |
| # other settings ... | |
| # ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.default_tablespaces = | |
| # {:clob => 'TSLOBS', :blob => 'TSLOBS', :index => 'TSINDEXES', :table => 'TSTABLES'} | |
| end | |
| end |
Instalação do Oracle Instant Client no Ubuntu MATE 24.04
Devido à descontinuação da biblioteca libaio1 na versão 24.04 do Ubuntu MATE, são necessárias adaptações específicas para configurar o Oracle Instant Client corretamente. Siga os passos abaixo:
1. Atualizar os repositórios e instalar dependências
Primeiramente, atualize os repositórios e instale o pacote libaio1t64, que substitui o libaio1, além das ferramentas essenciais de compilação:
sudo apt-get update
sudo apt-get install -y libaio1t64 build-essential2. Criar o diretório para o Oracle Instant Client
Crie o diretório /opt/oracle para armazenar os arquivos do Oracle Instant Client:
sudo mkdir -p /opt/oracle3. Extrair os arquivos do Oracle Instant Client
Extraia os arquivos dos pacotes instantclient-basic e instantclient-sdk para o diretório /opt/oracle:
sudo unzip instantclient-basic-linux.x64-21.17.0.0.0dbru.zip -d /opt/oracle/
sudo unzip instantclient-sdk-linux.x64-21.17.0.0.0dbru.zip -d /opt/oracle/4. Criar links simbólicos necessários
Algumas bibliotecas requerem links simbólicos para serem reconhecidas corretamente. Crie-os com os comandos abaixo:
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
cd /opt/oracle/instantclient_21_17
sudo ln -s libclntsh.so.21.1 libclntsh.so5. Configurar variáveis de ambiente
Adicione as variáveis de ambiente LD_LIBRARY_PATH e PATH ao arquivo ~/.bashrc para que o sistema reconheça o Oracle Instant Client:
echo 'export LD_LIBRARY_PATH=/opt/oracle/instantclient_21_17:$LD_LIBRARY_PATH' >> ~/.bashrc
echo 'export PATH=/opt/oracle/instantclient_21_17:$PATH' >> ~/.bashrcApós adicionar as linhas acima, recarregue o ~/.bashrc para aplicar as alterações:
source ~/.bashrc6. Instalar a gem ruby-oci8
Com as configurações acima, você já pode instalar a gem ruby-oci8:
gem install ruby-oci8Seguindo esses passos, o Oracle Instant Client estará configurado corretamente no Ubuntu MATE 24.04, permitindo o uso das gems activerecord-oracle_enhanced-adapter e ruby-oci8 em seu ambiente Ruby on Rails.
Este guia detalha os passos necessários para configurar o Oracle Instant Client no Ubuntu MATE 24.04, garantindo a compatibilidade com as gems mencionadas.
👍