Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save flaugabriel/1f63880e6c72677dcc639834753da0fa to your computer and use it in GitHub Desktop.
Save flaugabriel/1f63880e6c72677dcc639834753da0fa to your computer and use it in GitHub Desktop.
Rails Oracle Client 19 Linux
# Version 19.5.0.0.0
# Instalar a biblioteca
sudo apt-get install libaio1
# Criar a pasta
sudo mkdir /opt/oracle
# Mover para /opt/oracle
instantclient-basic-linux.x64-19.5.0.0.0dbru.zip
instantclient-sdk-linux.x64-19.5.0.0.0dbru.zip
# Extrair para /opt/oracle
unzip instantclient-basic-linux.x64-19.5.0.0.0dbru.zip
unzip instantclient-sdk-linux.x64-19.5.0.0.0dbru.zip
# Criar o link simbolico da lib
cd /opt/oracle/instantclient_19_5
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_19_5 /opt/oracle/instantclient_12_2
# Configurando LD
sudo sh -c "echo /opt/oracle/instantclient_19_5 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig
# Exporta as variaveis abaixo .bashrc .zshrc:
export LD_LIBRARY_PATH=/opt/oracle/instantclient_19_5:$LD_LIBRARY_PATH
export PATH=/opt/oracle/instantclient_19_5:$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_19_5'
ENV['NLS_LANG'] = 'BRAZILIAN PORTUGUESE_BRAZIL.AL32UTF8'
# JAVA_HOME
JAVA_HOME=/opt/oracle/jdk1.8.0_251
export JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
# 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