Skip to Main Content

Oracle Database Express Edition (XE)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Problems installing 18c on Centos8

PaulG.auNov 24 2019 — edited Nov 27 2019

I am trying to install Oracle 18 on Centos 8 64 Bit.

I have been able to install the prerequiste component, that in itself requires pre-requisites, but the Oracle install itself fails.

Any assistance would be greatly appreciated.

My system is as follows.

    [root@localhost ~]# uname -a

    Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

I have run the following.

    [root@localhost ~]# yum -y localinstall compat-libcap1-1.10-7.el7.x86_64.rpm

    [root@localhost ~]# yum -y localinstall compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

    [root@localhost ~]# yum -y localinstall oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm

    [root@localhost ~]# yum -y localinstall oracle-database-xe-18c-1.0-1.x86_64.rpm

    Last metadata expiration check: 0:02:01 ago on Sun 24 Nov 2019 18:06:23 AEDT.

    Dependencies resolved.

    =============================================================================================================================================================================

     Package                                             Arch                                Version                             Repository                                 Size

    =============================================================================================================================================================================

    Installing:

     oracle-database-xe-18c                              x86_64                              1.0-1                               @commandline                              2.4 G

  

   

    Transaction Summary

    =============================================================================================================================================================================

    Install  1 Package

  

   

    Total size: 2.4 G

    Installed size: 5.2 G

    Downloading Packages:

    Running transaction check

    Transaction check succeeded.

    Running transaction test

    Transaction test succeeded.

    Running transaction

      Preparing        :                                                                                                                                                     1/1

      Running scriptlet: oracle-database-xe-18c-1.0-1.x86_64                                                                                                                 1/1

      Installing       : oracle-database-xe-18c-1.0-1.x86_64                                                                                                                 1/1

      Running scriptlet: oracle-database-xe-18c-1.0-1.x86_64                                                                                                                 1/1

    Exception java.lang.UnsatisfiedLinkError: /opt/oracle/product/18c/dbhomeXE/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory occurred..

    java.lang.UnsatisfiedLinkError: /opt/oracle/product/18c/dbhomeXE/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory

            at java.lang.ClassLoader$NativeLibrary.load(Native Method)

            at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)

            at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)

            at java.lang.Runtime.loadLibrary0(Runtime.java:870)

            at java.lang.System.loadLibrary(System.java:1122)

            at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:388)

            at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.<clinit>(OiipuUnixOps.java:130)

            at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:201)

            at oracle.sysman.oii.oiix.OiixIniPair.instantiateEnvVars(OiixIniPair.java:299)

            at oracle.sysman.oii.oiix.OiixIniPair.updateValue(OiixIniPair.java:230)

            at oracle.sysman.oii.oiix.OiixIniPair.<init>(OiixIniPair.java:148)

            at oracle.sysman.oii.oiix.OiixIniFile.readFile(OiixIniFile.java:809)

            at oracle.sysman.oii.oiix.OiixIniFile.readIniFile(OiixIniFile.java:978)

            at oracle.sysman.oii.oiix.OiixIniFile.getProfileString(OiixIniFile.java:385)

            at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:339)

            at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:297)

            at oracle.sysman.oii.oiix.OiixOraparam.usePrereqChecker(OiixOraparam.java:417)

            at oracle.sysman.oii.oiic.OiicSessionContext.setVariables(OiicSessionContext.java:1325)

            at oracle.sysman.oii.oiic.OiicBaseInventoryApp.execute(OiicBaseInventoryApp.java:766)

            at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:685)

            at oracle.sysman.oii.oiic.OiicDetachHome.main(OiicDetachHome.java:420)

    'DetachHome' failed.

    Exception in thread "main" java.lang.NullPointerException

            at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:701)

            at oracle.sysman.oii.oiic.OiicDetachHome.main(OiicDetachHome.java:420)

    Exception java.lang.UnsatisfiedLinkError: /opt/oracle/product/18c/dbhomeXE/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory occurred..

    java.lang.UnsatisfiedLinkError: /opt/oracle/product/18c/dbhomeXE/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory

            at java.lang.ClassLoader$NativeLibrary.load(Native Method)

            at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)

            at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)

            at java.lang.Runtime.loadLibrary0(Runtime.java:870)

            at java.lang.System.loadLibrary(System.java:1122)

            at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:388)

            at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.<clinit>(OiipuUnixOps.java:130)

            at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:201)

            at oracle.sysman.oii.oiix.OiixIniPair.instantiateEnvVars(OiixIniPair.java:299)

            at oracle.sysman.oii.oiix.OiixIniPair.updateValue(OiixIniPair.java:230)

            at oracle.sysman.oii.oiix.OiixIniPair.<init>(OiixIniPair.java:148)

            at oracle.sysman.oii.oiix.OiixIniFile.readFile(OiixIniFile.java:809)

            at oracle.sysman.oii.oiix.OiixIniFile.readIniFile(OiixIniFile.java:978)

            at oracle.sysman.oii.oiix.OiixIniFile.getProfileString(OiixIniFile.java:385)

            at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:339)

            at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:297)

            at oracle.sysman.oii.oiix.OiixOraparam.usePrereqChecker(OiixOraparam.java:417)

            at oracle.sysman.oii.oiic.OiicSessionContext.setVariables(OiicSessionContext.java:1325)

            at oracle.sysman.oii.oiic.OiicBaseInventoryApp.execute(OiicBaseInventoryApp.java:766)

            at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:685)

            at oracle.sysman.oii.oiic.OiicAttachHome.main(OiicAttachHome.java:696)

    'AttachHome' failed.

    Exception in thread "main" java.lang.NullPointerException

            at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:701)

            at oracle.sysman.oii.oiic.OiicAttachHome.main(OiicAttachHome.java:696)

    [SEVERE] An error occurred while registering the Oracle home. Verify logs in /var/log/oracle-database-xe-18c/results/oraInstall.log and /opt/oracle/oraInventory for more details and try again.

    warning: %post(oracle-database-xe-18c-1.0-1.x86_64) scriptlet failed, exit status 1

  

   

    Error in POSTIN scriptlet in rpm package oracle-database-xe-18c

      Verifying        : oracle-database-xe-18c-1.0-1.x86_64                                                                                                                 1/1

  

   

    Installed:

      oracle-database-xe-18c-1.0-1.x86_64

  

    Complete!

This post has been answered by PaulG.au on Nov 26 2019
Jump to Answer

Comments

Answer

Stored procedures are implemented starting with ROracle 1.3.1.  This example does the following:

1. Creates a PL/SQL Procedure with one IN/OUT Parameter.

2. Executes the procedure.

3. Drops the procedure.

# Load the ROracle Library.

library(ROracle)

# Establish the connection with Oracle Database.

drv <- dbDriver("Oracle")

con <- dbConnect(drv, "username", "password")

# Define the data frame/attributes for capturing the results.

temp_output <-data.frame(emp_no = as.numeric(123), emp_name = as.character(NA), stringsAsFactors = FALSE)

attr(temp_output$emp_no,   "ora.parameter_name") <- "emp_no";

attr(temp_output$emp_no,   "ora.parameter_mode") <- "IN";

attr(temp_output$emp_name, "ora.parameter_name") <- "emp_name";

attr(temp_output$emp_name, "ora.parameter_mode") <- "OUT";

# Display the data frame.

temp_output

# Create a simple IN/OUT pl/sql procedure test_procedure1.

#INTEGER IN, VARCHAR2 OUT

dbGetQuery(con,"CREATE PROCEDURE test_procedure1

(emp_no IN INTEGER, emp_name OUT VARCHAR2)

IS

BEGIN

    SELECT first_name INTO emp_name  FROM employees WHERE employee_id=emp_no;

END;");

# Exeucte the procedure.

oracleProc(con,'BEGIN test_procedure1(:emp_no,:emp_name);END;',temp_output)

# Display the data frame.

temp_output

# Drop the procedure test_procedure1.

dbGetQuery(con,"DROP PROCEDURE test_procedure1")

# Disconnect

dbDisconnect(con)

dbUnloadDriver(drv)

Sherry

Marked as Answer by BG4GRAPH · Sep 27 2020
BG4GRAPH

Hi @"Sherry Lamonica-Oracle",

thanks for the detailed instructions. I noticed just one point: the output parameter is not transfered to temp_output, instead I called

res <- oracleProc(con,'BEGIN test_procedure1(:emp_no,:emp_name);END;',temp_output)

and the the dataframe "res" containes the output.

Yours, user8632123.

1 - 2

Post Details

Added on Nov 24 2019
1 comment
19,962 views