Last active
December 16, 2022 12:21
-
-
Save alexishida/6c2c6fce0bf356d9bdcc6830c9356c19 to your computer and use it in GitHub Desktop.
Rails Oracle Client 19 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 19.11.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.11.0.0.0dbru.zip | |
instantclient-sdk-linux.x64-19.11.0.0.0dbru.zip | |
# Extrair para /opt/oracle | |
unzip instantclient-basic-linux.x64-19.11.0.0.0dbru.zip | |
unzip instantclient-sdk-linux.x64-19.11.0.0.0dbru.zip | |
# Criar o link simbolico da lib | |
cd /opt/oracle/instantclient_19_11 | |
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_11 /opt/oracle/instantclient_12_2 | |
# Configurando LD | |
sudo sh -c "echo /opt/oracle/instantclient_19_11 > /etc/ld.so.conf.d/oracle-instantclient.conf" | |
sudo ldconfig | |
# Exporta as variaveis abaixo .bashrc .zshrc: | |
export LD_LIBRARY_PATH=/opt/oracle/instantclient_19_11:$LD_LIBRARY_PATH | |
export PATH=/opt/oracle/instantclient_19_11:$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_11' | |
ENV['NLS_LANG'] = 'BRAZILIAN PORTUGUESE_BRAZIL.AL32UTF8' | |
# JAVA_HOME | |
JAVA_HOME=/opt/oracle/jdk1.8.0_291 | |
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