Thursday, July 19, 2018

Could not locate shrept.lst make: *** [client_sharedlib] Error 1

 Installing the quarterly database patch i got unpleasant message :

"
Patching component oracle.sdo, 12.2.0.1.0...
Make failed to invoke "/usr/bin/make -f ins_rdbms.mk client_sharedlib ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1"....'genclntsh: genclntsh: Could not locate  /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/shrept.lst
make: *** [client_sharedlib] Error 1
'
Make failed to invoke "/usr/bin/make -f ins_net_client.mk client_sharedlib ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1"....'genclntsh: genclntsh: Could not locate  /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/shrept.lst
make: *** [client_sharedlib] Error 1
'
Make failed to invoke "/usr/bin/make -f ins_ldap.mk ldapsearch ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1"....'genclntsh: genclntsh: Could not locate  /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/shrept.lst
make: *** [/u01/app/oracle/product/12.2.0/dbhome_1/lib/libclntsh.so] Error 1
'

The following make actions have failed :

Re-link fails on target "client_sharedlib".
Re-link fails on target "client_sharedlib".
Re-link fails on target "ldapsearch".


Do you want to proceed? [y|n] y
User Responded with: Y
Patch 28163133 successfully applied.
Sub-set patch [27674384] has become inactive due to the application of a super-set patch [28163133].
Please refer to Doc ID 2161861.1 for any possible further required actions.
OPatch Session completed with warnings.
Log file location: /u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/opatch/opatch2018-07-19_10-40-25AM_1.log

OPatch completed with warnings.
"


The reason of this error is obvious: i removed shrept.lst file from $OH/network/admin some time ago.

MOS note make advice to copy this file from similar $OH, but i have no similar $OH near me.

The solution was found to extract the shrept.lst  file from Database Installation Media file, in my case it is linuxx64_12201_database.zip .

1. Unzip linuxx64_12201_database.zip and go to directory
database/stage/Components/oracle.rdbms.rsf/12.2.0.1.0/1/DataFiles/

Here are 3 files :


 
2. The jar - is a zip-archive, so we can unzip it and search the shrept.lst in it
[oracle@oel6 DataFiles]$ unzip filegroup1.jar filegroup2.jar filegroup3.jar
[oracle@oel6 DataFiles]$ find . -name shrept*
./plsql/admin/shrept.lst
./shrept.lst
./rdbms/admin/shrept.lst

[oracle@oel6 DataFiles]$ ls -l ./plsql/admin/shrept.lst ./shrept.lst ./rdbms/admin/shrept.lst
-rw-r--r-- 1 oracle oinstall    72 Apr 15  1998 ./plsql/admin/shrept.lst
-rw-r--r-- 1 oracle oinstall 50099 May  5  2016 ./rdbms/admin/shrept.lst
-rwxr-x--- 1 oracle oinstall 50099 Jul 19 11:22 ./shrept.lst

The plsql is not our case.
It seems both last 2 files are the same. So make the copy and relink:
$ cp ./shrept.lst $OH/network/admin
$ cd $OH/bin
$ ./relink all

And now relink work well !
:)

Oracle Universal Installer... Checking swap space: 493 MB available, 500 MB required. Failed

After installing the patch i decided to relink all binaries. The relinking procedure is very simple:

$ cd $OH/bin
$ ./relink all 

But in my environment i got a unpleasant message:

" Starting Oracle Universal Installer...

Checking swap space: 493 MB available, 500 MB required.    Failed <<<<

Some requirement checks failed. You must fulfill these requirements before
continuing with the installation,

Exiting Oracle Universal Installer ...  "


Because I'm on the Linux, then the fastest solution is to make additional swap file.
It can be done online:

# free
# df -h
# dd if=/dev/zero of=/swapfile bs=1M count=100
# chmod 0600 /swapfile
# mkswap /swapfile
# swapon /swapfile
# df -h
# free


And relink  say:

"Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 593 MB    Passed
Preparing to launch Oracle Universal Installer ..."



To revert changes (online): 
#  swapoff /swapfile
#  rm /swapfile






Thursday, July 5, 2018

12.2+ SQL*Net fetures applicable for ExaStack

In 12.2 Oracle added ExaDirect SQL*Net Adapter:



 And in 18.1 Oracle deprecated SDP protoco (deprecated is supported, but not recommended):





https://docs.oracle.com/en/database/oracle/oracle-database/18/netag/changes-in-this-release.html#GUID-606D7C27-FBE9-47E7-B5A7-308CB576955E 
It is difficult to understand that Oracle:


https://docs.oracle.com/en/database/oracle/oracle-database/18/netag/understanding-communication-layers.html#GUID-E90842A7-D1ED-4356-91C7-E376E2889920

How to setup ExaDirect :
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/netag/optimizing-performance.html#GUID-5499D049-CEB6-4AD1-99B6-0211D391908E

ORA-01405: fetched column value is NULL after upgrade from 12.1 to 18c

SYMPTOMs: After upgrade 12.1.0.2 -> 18.6 we obtained at any SQL (select and DML) : ORA-00604: error occurred at recursive SQL level ...