Last active
November 18, 2025 17:17
-
-
Save alexishida/164285ca27d89511ad2f97ffc7e00a63 to your computer and use it in GitHub Desktop.
Rails Oracle Client 21 Linux
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Instalação do Oracle Instant Client no Ubuntu MATE 24.04
Devido à descontinuação da biblioteca
libaio1na 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 olibaio1, além das ferramentas essenciais de compilação:2. Criar o diretório para o Oracle Instant Client
Crie o diretório
/opt/oraclepara armazenar os arquivos do Oracle Instant Client:3. Extrair os arquivos do Oracle Instant Client
Extraia os arquivos dos pacotes
instantclient-basiceinstantclient-sdkpara o diretório/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_PATHePATHao arquivo~/.bashrcpara que o sistema reconheça o Oracle Instant Client:Após adicionar as linhas acima, recarregue o
~/.bashrcpara aplicar as alterações:6. Instalar a gem
ruby-oci8Com as configurações acima, você já pode instalar a gem
ruby-oci8:Seguindo esses passos, o Oracle Instant Client estará configurado corretamente no Ubuntu MATE 24.04, permitindo o uso das gems
activerecord-oracle_enhanced-adaptereruby-oci8em seu ambiente Ruby on Rails.