Skip to content

Commit 271dfd4

Browse files
authored
Merge pull request #275 from yahonda/bump-instantclient
Bump Oracle Instant Client to the latest versions
2 parents 916c7ba + 5677dee commit 271dfd4

8 files changed

Lines changed: 78 additions & 73 deletions

File tree

.github/workflows/jruby_head.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ jobs:
1515
jruby-head
1616
]
1717
env:
18-
ORACLE_HOME: /opt/oracle/instantclient_23_26
19-
LD_LIBRARY_PATH: /opt/oracle/instantclient_23_26
2018
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
2119
TNS_ADMIN: ./ci/network/admin
2220
DATABASE_NAME: FREEPDB1
@@ -53,16 +51,19 @@ jobs:
5351
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
5452
- name: Download Oracle instant client
5553
run: |
56-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-basic-linux.x64-23.26.1.0.0.zip
57-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-sqlplus-linux.x64-23.26.1.0.0.zip
54+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linuxx64.zip
55+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-sqlplus-linuxx64.zip
5856
- name: Install Oracle instant client
5957
run: |
60-
sudo unzip -q instantclient-basic-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
61-
sudo unzip -qo instantclient-sqlplus-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
62-
echo "/opt/oracle/instantclient_23_26" >> $GITHUB_PATH
58+
sudo unzip -q instantclient-basic-linuxx64.zip -d /opt/oracle/
59+
sudo unzip -qo instantclient-sqlplus-linuxx64.zip -d /opt/oracle/
60+
ORACLE_HOME=$(find /opt/oracle -name "instantclient_*" -type d | head -1)
61+
echo "ORACLE_HOME=$ORACLE_HOME" >> $GITHUB_ENV
62+
echo "LD_LIBRARY_PATH=$ORACLE_HOME" >> $GITHUB_ENV
63+
echo "$ORACLE_HOME" >> $GITHUB_PATH
6364
- name: Install JDBC Driver
6465
run: |
65-
wget -q https://download.oracle.com/otn-pub/otn_software/jdbc/23261/ojdbc17.jar -O ./lib/ojdbc17.jar
66+
cp "$ORACLE_HOME/ojdbc17.jar" ./lib/ojdbc17.jar
6667
- name: Create database user
6768
run: |
6869
./ci/setup_accounts.sh

.github/workflows/ruby_head.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ jobs:
1616
ruby-debug
1717
]
1818
env:
19-
ORACLE_HOME: /opt/oracle/instantclient_23_26
20-
LD_LIBRARY_PATH: /opt/oracle/instantclient_23_26
2119
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
2220
TNS_ADMIN: ./ci/network/admin
2321
DATABASE_NAME: FREEPDB1
@@ -49,15 +47,18 @@ jobs:
4947
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
5048
- name: Download Oracle instant client
5149
run: |
52-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-basic-linux.x64-23.26.1.0.0.zip
53-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-sdk-linux.x64-23.26.1.0.0.zip
54-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-sqlplus-linux.x64-23.26.1.0.0.zip
50+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linuxx64.zip
51+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-sdk-linuxx64.zip
52+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-sqlplus-linuxx64.zip
5553
- name: Install Oracle instant client
5654
run: |
57-
sudo unzip -q instantclient-basic-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
58-
sudo unzip -qo instantclient-sdk-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
59-
sudo unzip -qo instantclient-sqlplus-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
60-
echo "/opt/oracle/instantclient_23_26" >> $GITHUB_PATH
55+
sudo unzip -q instantclient-basic-linuxx64.zip -d /opt/oracle/
56+
sudo unzip -qo instantclient-sdk-linuxx64.zip -d /opt/oracle/
57+
sudo unzip -qo instantclient-sqlplus-linuxx64.zip -d /opt/oracle/
58+
ORACLE_HOME=$(find /opt/oracle -name "instantclient_*" -type d | head -1)
59+
echo "ORACLE_HOME=$ORACLE_HOME" >> $GITHUB_ENV
60+
echo "LD_LIBRARY_PATH=$ORACLE_HOME" >> $GITHUB_ENV
61+
echo "$ORACLE_HOME" >> $GITHUB_PATH
6162
- name: Create database user
6263
run: |
6364
./ci/setup_accounts.sh

.github/workflows/test.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ jobs:
1919
'jruby-10.1.0.0',
2020
]
2121
env:
22-
ORACLE_HOME: /opt/oracle/instantclient_23_26
23-
LD_LIBRARY_PATH: /opt/oracle/instantclient_23_26
2422
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
2523
TNS_ADMIN: ./ci/network/admin
2624
DATABASE_NAME: FREEPDB1
@@ -58,19 +56,22 @@ jobs:
5856
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
5957
- name: Download Oracle instant client
6058
run: |
61-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-basic-linux.x64-23.26.1.0.0.zip
62-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-sdk-linux.x64-23.26.1.0.0.zip
63-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-sqlplus-linux.x64-23.26.1.0.0.zip
59+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linuxx64.zip
60+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-sdk-linuxx64.zip
61+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-sqlplus-linuxx64.zip
6462
- name: Install Oracle instant client
6563
run: |
66-
sudo unzip -q instantclient-basic-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
67-
sudo unzip -qo instantclient-sdk-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
68-
sudo unzip -qo instantclient-sqlplus-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
69-
echo "/opt/oracle/instantclient_23_26" >> $GITHUB_PATH
64+
sudo unzip -q instantclient-basic-linuxx64.zip -d /opt/oracle/
65+
sudo unzip -qo instantclient-sdk-linuxx64.zip -d /opt/oracle/
66+
sudo unzip -qo instantclient-sqlplus-linuxx64.zip -d /opt/oracle/
67+
ORACLE_HOME=$(find /opt/oracle -name "instantclient_*" -type d | head -1)
68+
echo "ORACLE_HOME=$ORACLE_HOME" >> $GITHUB_ENV
69+
echo "LD_LIBRARY_PATH=$ORACLE_HOME" >> $GITHUB_ENV
70+
echo "$ORACLE_HOME" >> $GITHUB_PATH
7071
- name: Install JDBC Driver
7172
if: startsWith(matrix.ruby, 'jruby')
7273
run: |
73-
wget -q https://download.oracle.com/otn-pub/otn_software/jdbc/23261/ojdbc17.jar -O ./lib/ojdbc17.jar
74+
cp "$ORACLE_HOME/ojdbc17.jar" ./lib/ojdbc17.jar
7475
- name: Create database user
7576
run: |
7677
./ci/setup_accounts.sh

.github/workflows/test_11g.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ jobs:
2323
'jruby-10.1.0.0',
2424
]
2525
env:
26-
ORACLE_HOME: /opt/oracle/instantclient_21_15
27-
LD_LIBRARY_PATH: /opt/oracle/instantclient_21_15
26+
ORACLE_HOME: /opt/oracle/instantclient_21_21
27+
LD_LIBRARY_PATH: /opt/oracle/instantclient_21_21
2828
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
2929
TNS_ADMIN: ./ci/network/admin
3030
DATABASE_NAME: XE
@@ -62,26 +62,26 @@ jobs:
6262
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
6363
- name: Download Oracle instant client
6464
run: |
65-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2115000/instantclient-basic-linux.x64-21.15.0.0.0dbru.zip
66-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2115000/instantclient-sqlplus-linux.x64-21.15.0.0.0dbru.zip
67-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2115000/instantclient-sdk-linux.x64-21.15.0.0.0dbru.zip
65+
wget -q https://download.oracle.com/otn_software/linux/instantclient/2121000/instantclient-basic-linux.x64-21.21.0.0.0dbru.zip
66+
wget -q https://download.oracle.com/otn_software/linux/instantclient/2121000/instantclient-sqlplus-linux.x64-21.21.0.0.0dbru.zip
67+
wget -q https://download.oracle.com/otn_software/linux/instantclient/2121000/instantclient-sdk-linux.x64-21.21.0.0.0dbru.zip
6868
- name: Install Oracle instant client
6969
run: |
7070
sudo mkdir -p /opt/oracle/
71-
sudo unzip -q instantclient-basic-linux.x64-21.15.0.0.0dbru.zip -d /opt/oracle
72-
sudo unzip -qo instantclient-sqlplus-linux.x64-21.15.0.0.0dbru.zip -d /opt/oracle
73-
sudo unzip -qo instantclient-sdk-linux.x64-21.15.0.0.0dbru.zip -d /opt/oracle
74-
echo "/opt/oracle/instantclient_21_15" >> $GITHUB_PATH
71+
sudo unzip -q instantclient-basic-linux.x64-21.21.0.0.0dbru.zip -d /opt/oracle
72+
sudo unzip -qo instantclient-sqlplus-linux.x64-21.21.0.0.0dbru.zip -d /opt/oracle
73+
sudo unzip -qo instantclient-sdk-linux.x64-21.21.0.0.0dbru.zip -d /opt/oracle
74+
echo "/opt/oracle/instantclient_21_21" >> $GITHUB_PATH
7575
- name: Install JDBC Driver
7676
if: startsWith(matrix.ruby, 'jruby')
7777
run: |
7878
wget -q https://download.oracle.com/otn-pub/otn_software/jdbc/23261/ojdbc17.jar -O ./lib/ojdbc17.jar
7979
- name: Configure ORA_TZFILE to match Oracle 11g server
8080
run: |
81-
# Oracle 11g XE uses timezone file v14; Instant Client 21.15 embeds
82-
# v35. This mismatch causes ORA-01805 when fetching DATE/TIMESTAMP
83-
# values. Copy the v14 files from the 11g container and point the
84-
# Instant Client at them via ORA_TZFILE.
81+
# Oracle 11g XE uses timezone file v14; the 21.x Instant Client
82+
# embeds a newer file. The mismatch causes ORA-01805 when fetching
83+
# DATE/TIMESTAMP values. Copy the v14 files from the 11g container
84+
# and point the Instant Client at them via ORA_TZFILE.
8585
ORACLE_CONTAINER="${{ job.services.oracle.id }}"
8686
sudo mkdir -p "$ORACLE_HOME/oracore/zoneinfo"
8787
docker cp "$ORACLE_CONTAINER":/u01/app/oracle/product/11.2.0/xe/oracore/zoneinfo/timezlrg_14.dat /tmp/timezlrg_14.dat

.github/workflows/test_11g_ojdbc11.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ jobs:
1919
'jruby-10.1.0.0'
2020
]
2121
env:
22-
ORACLE_HOME: /opt/oracle/instantclient_21_15
23-
LD_LIBRARY_PATH: /opt/oracle/instantclient_21_15
22+
ORACLE_HOME: /opt/oracle/instantclient_21_21
23+
LD_LIBRARY_PATH: /opt/oracle/instantclient_21_21
2424
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
2525
TNS_ADMIN: ./ci/network/admin
2626
DATABASE_NAME: XE
@@ -57,25 +57,25 @@ jobs:
5757
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
5858
- name: Download Oracle instant client
5959
run: |
60-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2115000/instantclient-basic-linux.x64-21.15.0.0.0dbru.zip
61-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2115000/instantclient-sqlplus-linux.x64-21.15.0.0.0dbru.zip
62-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2115000/instantclient-sdk-linux.x64-21.15.0.0.0dbru.zip
60+
wget -q https://download.oracle.com/otn_software/linux/instantclient/2121000/instantclient-basic-linux.x64-21.21.0.0.0dbru.zip
61+
wget -q https://download.oracle.com/otn_software/linux/instantclient/2121000/instantclient-sqlplus-linux.x64-21.21.0.0.0dbru.zip
62+
wget -q https://download.oracle.com/otn_software/linux/instantclient/2121000/instantclient-sdk-linux.x64-21.21.0.0.0dbru.zip
6363
- name: Install Oracle instant client
6464
run: |
6565
sudo mkdir -p /opt/oracle/
66-
sudo unzip -q instantclient-basic-linux.x64-21.15.0.0.0dbru.zip -d /opt/oracle
67-
sudo unzip -qo instantclient-sqlplus-linux.x64-21.15.0.0.0dbru.zip -d /opt/oracle
68-
sudo unzip -qo instantclient-sdk-linux.x64-21.15.0.0.0dbru.zip -d /opt/oracle
69-
echo "/opt/oracle/instantclient_21_15" >> $GITHUB_PATH
66+
sudo unzip -q instantclient-basic-linux.x64-21.21.0.0.0dbru.zip -d /opt/oracle
67+
sudo unzip -qo instantclient-sqlplus-linux.x64-21.21.0.0.0dbru.zip -d /opt/oracle
68+
sudo unzip -qo instantclient-sdk-linux.x64-21.21.0.0.0dbru.zip -d /opt/oracle
69+
echo "/opt/oracle/instantclient_21_21" >> $GITHUB_PATH
7070
- name: Install JDBC Driver
7171
run: |
72-
wget -q https://download.oracle.com/otn-pub/otn_software/jdbc/23261/ojdbc11.jar -O ./lib/ojdbc11.jar
72+
cp "$ORACLE_HOME/ojdbc11.jar" ./lib/ojdbc11.jar
7373
- name: Configure ORA_TZFILE to match Oracle 11g server
7474
run: |
75-
# Oracle 11g XE uses timezone file v14; Instant Client 21.15 embeds
76-
# v35. This mismatch causes ORA-01805 when fetching DATE/TIMESTAMP
77-
# values. Copy the v14 files from the 11g container and point the
78-
# Instant Client at them via ORA_TZFILE.
75+
# Oracle 11g XE uses timezone file v14; the 21.x Instant Client
76+
# embeds a newer file. The mismatch causes ORA-01805 when fetching
77+
# DATE/TIMESTAMP values. Copy the v14 files from the 11g container
78+
# and point the Instant Client at them via ORA_TZFILE.
7979
ORACLE_CONTAINER="${{ job.services.oracle.id }}"
8080
sudo mkdir -p "$ORACLE_HOME/oracore/zoneinfo"
8181
docker cp "$ORACLE_CONTAINER":/u01/app/oracle/product/11.2.0/xe/oracore/zoneinfo/timezlrg_14.dat /tmp/timezlrg_14.dat

.github/workflows/test_gemfiles.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ jobs:
4040
ruby: '3.2'
4141
env:
4242
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
43-
ORACLE_HOME: /opt/oracle/instantclient_23_26
44-
LD_LIBRARY_PATH: /opt/oracle/instantclient_23_26
4543
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
4644
TNS_ADMIN: ./ci/network/admin
4745
DATABASE_NAME: FREEPDB1
@@ -73,15 +71,18 @@ jobs:
7371
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
7472
- name: Download Oracle instant client
7573
run: |
76-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-basic-linux.x64-23.26.1.0.0.zip
77-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-sdk-linux.x64-23.26.1.0.0.zip
78-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-sqlplus-linux.x64-23.26.1.0.0.zip
74+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linuxx64.zip
75+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-sdk-linuxx64.zip
76+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-sqlplus-linuxx64.zip
7977
- name: Install Oracle instant client
8078
run: |
81-
sudo unzip -q instantclient-basic-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
82-
sudo unzip -qo instantclient-sdk-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
83-
sudo unzip -qo instantclient-sqlplus-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
84-
echo "/opt/oracle/instantclient_23_26" >> $GITHUB_PATH
79+
sudo unzip -q instantclient-basic-linuxx64.zip -d /opt/oracle/
80+
sudo unzip -qo instantclient-sdk-linuxx64.zip -d /opt/oracle/
81+
sudo unzip -qo instantclient-sqlplus-linuxx64.zip -d /opt/oracle/
82+
ORACLE_HOME=$(find /opt/oracle -name "instantclient_*" -type d | head -1)
83+
echo "ORACLE_HOME=$ORACLE_HOME" >> $GITHUB_ENV
84+
echo "LD_LIBRARY_PATH=$ORACLE_HOME" >> $GITHUB_ENV
85+
echo "$ORACLE_HOME" >> $GITHUB_PATH
8586
- name: Create database user
8687
run: |
8788
./ci/setup_accounts.sh

.github/workflows/truffleruby.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ jobs:
1616
truffleruby-head
1717
]
1818
env:
19-
ORACLE_HOME: /opt/oracle/instantclient_23_26
20-
LD_LIBRARY_PATH: /opt/oracle/instantclient_23_26
2119
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
2220
TNS_ADMIN: ./ci/network/admin
2321
DATABASE_NAME: FREEPDB1
@@ -50,15 +48,18 @@ jobs:
5048
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
5149
- name: Download Oracle instant client
5250
run: |
53-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-basic-linux.x64-23.26.1.0.0.zip
54-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-sdk-linux.x64-23.26.1.0.0.zip
55-
wget -q https://download.oracle.com/otn_software/linux/instantclient/2326100/instantclient-sqlplus-linux.x64-23.26.1.0.0.zip
51+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linuxx64.zip
52+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-sdk-linuxx64.zip
53+
wget -q https://download.oracle.com/otn_software/linux/instantclient/instantclient-sqlplus-linuxx64.zip
5654
- name: Install Oracle instant client
5755
run: |
58-
sudo unzip -q instantclient-basic-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
59-
sudo unzip -qo instantclient-sdk-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
60-
sudo unzip -qo instantclient-sqlplus-linux.x64-23.26.1.0.0.zip -d /opt/oracle/
61-
echo "/opt/oracle/instantclient_23_26" >> $GITHUB_PATH
56+
sudo unzip -q instantclient-basic-linuxx64.zip -d /opt/oracle/
57+
sudo unzip -qo instantclient-sdk-linuxx64.zip -d /opt/oracle/
58+
sudo unzip -qo instantclient-sqlplus-linuxx64.zip -d /opt/oracle/
59+
ORACLE_HOME=$(find /opt/oracle -name "instantclient_*" -type d | head -1)
60+
echo "ORACLE_HOME=$ORACLE_HOME" >> $GITHUB_ENV
61+
echo "LD_LIBRARY_PATH=$ORACLE_HOME" >> $GITHUB_ENV
62+
echo "$ORACLE_HOME" >> $GITHUB_PATH
6263
- name: Create database user
6364
run: |
6465
./ci/setup_accounts.sh

spec/plsql/procedure_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1875,7 +1875,7 @@ def new_candidate(status)
18751875
expect(plsql.test_cursor do |cursor|
18761876
cursor2 = cursor
18771877
end).to be_nil
1878-
expect { cursor2.fetch }.to raise_error(/Cursor was already closed|Closed Statement|Closed ResultSet/)
1878+
expect { cursor2.fetch }.to raise_error(/Cursor was already closed|Closed Statement|Closed ResultSet/i)
18791879
end
18801880

18811881
it "should not raise error if cursor is closed inside block" do

0 commit comments

Comments
 (0)