cd /Library
sudo mkdir Oracle
sudo cp ~/Downloads/instantclient*.zip .
sudo unzip instantclient-basic-macos.x64-11.2.0.4.0.zip
sudo unzip instantclient-sdk-macos.x64-11.2.0.4.0.zip
sudo unzip instantclient-sqlplus-macos.x64-11.2.0.4.0.zip
####
cd instantclient_11_2
sudo mkdir network
sudo mkdir network/admin
##
##
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SID)
)
)
##
##
ORACLE_HOME=/Library/Oracle/instantclient_11_2
DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/Library/Oracle/instantclient_11_2
TNS_ADMIN=/Library/Oracle/instantclient_11_2/network/admin
PATH=$PATH:/Library/Oracle/instantclient_11_2
CLASSPATH=$CLASSPATH:$ORACLE_HOME
export ORACLE_HOME
export DYLD_LIBRARY_PATH
export TNS_ADMIN
export PATH
export CLASSPATH
##
##
# required for the Oracle Client
setenv ORACLE_HOME /Library/Oracle/instantclient_11_2
if ($?DYLD_LIBRARY_PATH) then
setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:$ORACLE_HOME
else
setenv DYLD_LIBRARY_PATH $ORACLE_HOME
endif
setenv TNS_ADMIN $ORACLE_HOME/network/admin
setenv PATH ${PATH}:$ORACLE_HOME
if ($?CLASSPATH) then
setenv CLASSPATH ${CLASSPATH}:$ORACLE_HOME
else
setenv CLASSPATH $ORACLE_HOME
endif
##
##
[~] sqlplus -v
SQL*Plus: Release 11.2.0.4.0 Production
[~]
##
##
dyld: Library not loaded: /ade/dosulliv_sqlplus_mac/oracle/sqlplus/lib/libsqlplus.dylib
Referenced from: /Users/sandy/Downloads/instantclient_11_2/sqlplus
Reason: image not found
##
##
[~] sudo cpan
Password:
Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v2.00)
Enter 'h' for help.
cpan[1]> install DBI
##
##
gunzip DBD-Oracle-1.75_2.tar.gz
tar -xvf DBD-Oracle-1.75_2.tar
cd DBD-Oracle-1.75_2
##
##
[~/Downloads/DBD-Oracle-1.75_2] perl Makefile.PL
[... deleted stuff ...]
Using DBI 1.634 (for perl 5.018002 on darwin-thread-multi-2level) installed in /Library/Perl/5.18/darwin-thread-multi-2level/auto/DBI/
Configuring DBD::Oracle for perl 5.018002 on darwin (darwin-thread-multi-2level)
[... deleted stuff...]
Installing on a darwin, Ver#15.0
Using Oracle in /Library/Oracle/instantclient_11_2
dyld: Library not loaded: /ade/dosulliv_sqlplus_mac/oracle/sqlplus/lib/libsqlplus.dylib
Referenced from: /Library/Oracle/instantclient_11_2/sqlplus
Reason: image not found
[... more deleted errors ...]
##
##
#!/bin/sh
# script to change the dynamic lib paths and ids for oracle instant client
# exes and libs
# proces all the executable files in this directory
find . -maxdepth 1 -type f \( -perm -1 -o \( -perm -10 -o -perm -100 \) \) -print | while read exe
do
echo
echo adjusting executable $exe
baseexe=`basename $exe`
otool -L $exe | awk '/oracle/ {print $1}' | while read lib
do
echo adjusting lib $lib
baselib=`basename $lib`
if [ "$baseexe" = "$baselib" ]
then
echo changing id to $baselib for $exe
install_name_tool -id $baselib $exe
else
echo changing path id for $lib in $exe
install_name_tool -change $lib /Library/Oracle/instantclient_11_2/$baselib $exe
fi
done
done
##
##
[/Library/Oracle/instantclient_11_2] sudo bash ~/myScrips//fix_dyld.sh
Password:
adjusting executable ./adrci
adjusting lib /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1
changing path id for /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1 in ./adrci
adjusting lib /ade/dosulliv_ldapmac/oracle/ldap/lib/libnnz11.dylib
[... deleted stuff...]
##
##
[~/Downloads/DBD-Oracle-1.75_2] sudo perl Makefile.PL
Password:
[... deleted stuff ...]
Using DBI 1.634 (for perl 5.018002 on darwin-thread-multi-2level) installed in /Library/Perl/5.18/darwin-thread-multi-2level/auto/DBI/
Configuring DBD::Oracle for perl 5.018002 on darwin (darwin-thread-multi-2level)
[... deleted stuff...]
Looks like an Instant Client installation, okay
You don't have a libclntsh.dylib file, only /Library/Oracle/instantclient_11_2/libclntsh.dylib.11.1
So I'm going to create a /Library/Oracle/instantclient_11_2/libclntsh.dylib symlink to /Library/Oracle/instantclient_11_2/libclntsh.dylib.11.1
[...deleted stuff...]
Writing Makefile for DBD::Oracle
Writing MYMETA.yml and MYMETA.json
##
##
[~/Downloads/DBD-Oracle-1.75_2] make
cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm
cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm
cp lib/DBD/Oracle/Troubleshooting/Aix.pod blib/lib/DBD/Oracle/Troubleshooting/Aix.pod
cp lib/DBD/Oracle/Troubleshooting/Sun.pod blib/lib/DBD/Oracle/Troubleshooting/Sun.pod
[... deleted stuff ...]
Manifying blib/man3/DBD::Oracle::Troubleshooting.3pm
Manifying blib/man3/DBD::Oracle::Troubleshooting::Win64.3pm
Manifying blib/man3/DBD::Oracle::Troubleshooting::Vms.3pm
Manifying blib/man3/DBD::Oracle::Troubleshooting::Linux.3pm
Manifying blib/man3/DBD::Oracle::Troubleshooting::Macos.3pm
Manifying blib/man3/DBD::Oracle::Object.3pm
Manifying blib/man3/DBD::Oracle::Troubleshooting::Win32.3pm
##
##
[~/Downloads/DBD-Oracle-1.75_2] make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/000-report-versions-tiny.t .. #
[... deleted stuff ... mostly version numbers of required modules ...]
t/000-report-versions-tiny.t .. ok
t/00versions.t ................
Can't load '/Users/sandy/Downloads/DBD-Oracle-1.75_2/blib/arch/auto/DBD/Oracle/Oracle.bundle'
for module DBD::Oracle: dlopen(/Users/sandy/Downloads/DBD-Oracle-1.75_2/blib/arch/auto/DBD/Oracle/Oracle.bundle, 2):
Library not loaded: libclntsh.dylib.11.1
Referenced from: /Users/sandy/Downloads/DBD-Oracle-1.75_2/blib/arch/auto/DBD/Oracle/Oracle.bundle
Reason: unsafe use of relative rpath libclntsh.dylib.11.1 in
/Users/sandy/Downloads/DBD-Oracle-1.75_2/blib/arch/auto/DBD/Oracle/Oracle.bundle
with restricted binary at /System/Library/Perl/5.18/darwin-thread-multi-2level/DynaLoader.pm line 194.
at t/00versions.t line 10.
[... more errors ...]
##
##
sudo install_name_tool -change libclntsh.dylib.11.1 /Library/Oracle/instantclient_11_2/libclntsh.dylib.11.1
/Users/sandy/Downloads/DBD-Oracle-1.75_2/blib/arch/auto/DBD/Oracle/Oracle.bundle
##
##
[~/Downloads/DBD-Oracle-1.75_2] make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/000-report-versions-tiny.t .. #
[... deleted stuff ...]
t/000-report-versions-tiny.t .. ok
t/00versions.t ................ # OCI client library version: 11.2.0.4
t/00versions.t ................ ok
t/01base.t .................... ok
t/10general.t ................. skipped: Unable to connect to Oracle
t/12impdata.t ................. skipped: Unable to connect to Oracle
[... deleted stuff ...]
All tests successful.
Files=38, Tests=9, 8 wallclock secs ( 0.11 usr 0.06 sys + 6.33 cusr 0.96 csys = 7.46 CPU)
Result: PASS
##
##
sudo make install
##
##
[~/Downloads] cat test_connection.pl
#!/usr/bin/perl
use strict;
use warnings;
use DBD::Oracle;
use DBI;
my $user= "user";
my $passwd = "password";
my $dbh = DBI->connect("dbi:Oracle:ORCL", $user, $passwd);
[~/Downloads] perl test_connection.pl
[~/Downloads]