Wednesday, June 2, 2021

libnsl.so.1: cannot open shared object file: No such file or directory

Symptoms:

Installed the Oracle InstantClient on Linux Linux 8 (packages instantclient-basic-linux.x64-19.11.0.0.0dbru.zip and instantclient-sqlplus-linux.x64-19.11.0.0.0dbru.zip) and later configured the environment variables:
export ORACLE_HOME=/u01/instantclient_19_11/
export LD_LIBRARY_PATH=$ORACLE_HOME
export TNS_ADMIN=/u01/instantclient_19_11/network/admin
export PATH=$ORACLE_HOME:$PATH

When calling the sqlplus utilitary, it presents an error regarding Linux packages missing with message:
sqlplus: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory.


Cause: 

SqlPlus uses a few linux libraries and one of that is exactly the libnsl.
However there are a few packages with similar names (or endings) that does not solve the issue.


Solution:

Simply install the package libnsl with command:
yum install libnsl -y

Thursday, February 18, 2021

ORA-00800: soft external error, arguments: [Set Priority Failed], [VKTM]

Symptoms: 

When starting up the Oracle 19c, it raises an error on the trace file and also creates an incident file with the message:

ORA-00800: soft external error, arguments:  [Set Priority Failed], [VKTM], [Check traces and OS configuration], [Check Oracle document and MOS notes], []


Cause: 

As given by the MOS article (Doc ID 2718971.1)

"19c moved to OL7/UEK4. UEK4 requires rt_period and rt_runtime set for the cgroup from where the d/b is started.

Typically the root one unless the customer is setting up their own cgroups or using system user slices.

It requires the proper values such as the 95%. For this problem, ORA-800 will have the following message in the incident. "


Solution:

Check the priority of VKTM @RDBMS level:

SQL> select a.ksppinm "Parameter", b.ksppstvl "Session Value", c.ksppstvl "Instance Value", a.KSPPDESC "Describtion"

from x$ksppi a, x$ksppcv b, x$ksppsv c

where a.indx = b.indx and a.indx = c.indx and a.ksppinm like '_%' and a.ksppinm like '_highest_priority_process%';


If not "VKTM" is not prioritiesed, please elevate the priority :

SQL> alter system set "_high_priority_processes"='VKTM' scope=spfile;


Restart DB and verify the same

SQL> show parameter "_high_priority_processes";


As root user, change file permission and owner

$ chmod root.oinstall $ORACLE_HOME/bin/oradism

$ chmod u+s oradism


Restart the database and check if it solved the error.

Otherwise, check the MOM Doc ID given above.


Hope that helps you.

Friday, January 22, 2021

RIB error ORA-21700 object does not exist or is marked for delete

Symptoms: 

At random times the Oracle Retail Integration Bus (aka RIB) gets certain errors such as:

GETNXT(?,?,?,?,?,?,?) and/or ORA-21700 object does not exist or is marked for delete.

This error is kind of confusion because if you look at the database, the object exists and it's valid.


Cause: 

Several causes can lead to this behavior, but most commonly some database objects in RMS has changed and RIB detects such modification in the signature.

Invalid or missing objects in RMS database also can be the reason.


Solution:

These steps described will recreate the RIB objects under RMS database.

An important point there is to run the commands from the latest RIB patch applied.

For this, create a staging area, copy from the patch and unzip the file: retail-public-payload-database-object-types-14.1.3.jar


1. Bring down all the RIB managed-servers.

2. Run:

$ cd /u01/stage/rib/hotfixes/<your_patch/staging/

$ unzip retail-public-payload-database-object-types-14.1.3.jar

$ sqlplus rms_user/passwd

   @InstallAndCompileAllRibOracleObjects.sql

3. Compile all objects to make sure objects are valid.

   sqlplus / as sysdba

   @?/rdbms/admin/utlrp;


4. Bring up the RIB.


Hope this help


Monday, November 9, 2020

Error start managed-server Access denied ("oracle.security.jps.JpsPermission" "idstore.config")


Symptoms:

When tried to start the managed-server, after a few seconds get FAILED_START status.

The managed-server log (manage-server_name.out) presents the error such as:

oracle.security.jps.JpsException: oracle.security.jps.service.idstore.IdentityStoreException: java.security.AccessControlException: access denied ("oracle.security.jps.JpsPermission" "idstore.config")


Cause:

This is probably an error - no privilege - to access the jar libraries that provide access to the keystores.


Solution:

Possibly that the error message and the reason might varies according to the configuration, but you might check the privileges at weblogic.policy.

Add the following directives to the file - $WLS_HOME/wlserver/server/lib/weblogic.policy


//begin

grant codeBase "file:/u01/ofm/12.2.1-Domain/WLS/oracle_common/modules/oracle.jps/jps-api.jar" {

               permission java.security.AllPermission;

             };



grant codeBase "file:/u01/ofm/12.2.1-Domain/WLS/oracle_common/modules/oracle.jps_11.1.1/jps-api.jar" {

               permission java.security.AllPermission;

             };


grant codeBase "file:/u01/ofm/12.2.1-Domain/WLS/oracle_common/modules/oracle.jps/jps-internal.jar" {

               permission java.security.AllPermission;

             };


grant codeBase "file:/u01/ofm/12.2.1-Domain/WLS/oracle_common/modules/com.oracle.webservices.fmw.wsserver-impl.jar" {

               permission java.security.AllPermission;

             };


grant codeBase "file:/u01/ofm/12.2.1-Domain/WLS/oracle_common/modules/oracle.wsm.common/wsm-agent-core.jar" {

               permission java.security.AllPermission;

             };


grant codeBase "file:/u01/ofm/12.2.1-Domain/WLS/oracle_common/modules/oracle.wsm.common/wsm-pap.jar" {

               permission java.security.AllPermission;

             };

grant codeBase "file:/u01/ofm/12.2.1-Domain/WLS/oracle_common/modules/*" {

               permission java.security.AllPermission;

             };

//end


Restart the Weblogic server and then try to start the managed-server.

Hope this help.


Thursday, April 16, 2020

Start Weblogic managed-server with error The object identified by: '31' could not be found


Symptoms:
Starting the Weblogic managed-server via startManagedWebLogic.sh script get the error:
Caused by: java.rmi.NoSuchObjectException: The object identified by: '31' could not be found.  Either it was has not been exported or it has been collected by the distributed garbage collector.

Cause:
This error has several reasons, but if you search on the web or Oracle Support, the first results will be port misconfigured somewhere


Solution:
Option 1: Check the Weblogic admin server listener address if its empty: <listen-address></listen-address>
To fix:
1. Go to $DOMAIN_HOME/config/config.xml file
2. Edit config.xml and set valid listen-address for admin server.
<listen-address></listen-address>
3. Restart the server.

Option 2: The script or command to start the managed-server is wrong, it should be the Admin Server port, instead the managed-server.
Example:
$ startManagedWebLogic.sh your_managed_server t3://yourWLS:7010 &

Your AdminServer is running on port 7001 and you tried to launch on the managed-server port (7010), that's why the error.


It might have other solutions for the same message error, so if you know, let us know.

Hope this help.

Monday, February 24, 2020

Oracle Cloud changes /etc/hosts after reboot


Symptoms: 
You have your Linux /etc/hosts configured correctly and after a reboot, the Cloud removes the line where your hostname was set. So the questions is how to permanently change the hostname of an Oracle Cloud Infrastructure (OCI) compute instance?

Cause: 
If any aplication that looks for the physical hostname to start, an example is Weblogic, the start process will hang due to the missing entry on /etc/hosts

Solution:
As given on the MOS Doc ID 2325469.1, by design, changes made in the /etc/hosts and resolve.conf files revert to their original values, after an instance restart.

To stop reverting this changes, edit the oci configuration file for hostnames as given below to update the needed value to 2.
    vi /etc/oci-hostname.conf
    PRESERVE_HOSTINFO=2

Reboot the instance and check.

Tuesday, January 7, 2020

ORA-01017: invalid username/password; logon denied with sqlnet.authentication_services

Symptoms: 
When tyring to login on the db instance using sqlplus / as sysdba, gets ORA-01017: invalid username/password; logon denied.

Cause: 
Operating system authentication may have been deliberately disabled.


Solution:
Look at the sqlnet.ora file located at $ORACLE_HOME/network/admin and check the value of parameter sqlnet.authentication_services.

If you get the operating system authentication disabled, this parameter is set with the value:
#SQLNET.AUTHENTICATION_SERVICES = (NONE)

If you want to allow connection using operating system authentication, remove or comment out the line:
#SQLNET.AUTHENTICATION_SERVICES = (NONE)

Configure the Oracle DB Access Control List to avoid error like ORA-24247: network access denied

Symptoms:  You try to make external connections from the Oracle Database and receive erros like ORA-24247: network access denied by access c...