-
-
Save mailsonsoares/7476adf170755f5918cb39e43d4b9af7 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.5.0.0.0 (Requires glibc 2.14) | |
| # Instalar a biblioteca | |
| sudo apt-get install libaio1 unzip | |
| # Criar a pasta | |
| sudo mkdir /opt/oracle | |
| # Mover para /opt/oracle | |
| instantclient-basic-linux.x64-21.5.0.0.0.zip | |
| instantclient-sdk-linux.x64-21.5.0.0.0.zip | |
| # Extrair para /opt/oracle | |
| unzip instantclient-basic-linux.x64-21.5.0.0.0.zip | |
| unzip instantclient-sdk-linux.x64-21.5.0.0.0.zip | |
| # Criar o link simbolico da lib | |
| cd /opt/oracle/instantclient_21_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_21_5 /opt/oracle/instantclient_12_2 | |
| # Configurando LD | |
| sudo sh -c "echo /opt/oracle/instantclient_21_5 > /etc/ld.so.conf.d/oracle-instantclient.conf" | |
| sudo ldconfig | |
| # Exporta as variaveis abaixo .bashrc .zshrc: | |
| export LD_LIBRARY_PATH=/opt/oracle/instantclient_21_5:$LD_LIBRARY_PATH | |
| export PATH=/opt/oracle/instantclient_21_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_21_5' | |
| ENV['NLS_LANG'] = 'BRAZILIAN PORTUGUESE_BRAZIL.AL32UTF8' | |
| # JAVA_HOME (jdk-8u301-linux-x64.tar.gz) | |
| export JAVA_HOME="/opt/oracle/jdk1.8.0_301" | |
| 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