Forum Stats

  • 3,815,632 Users
  • 2,259,063 Discussions
  • 7,893,192 Comments

Discussions

Oracle XE 18c installation issue - OracleXEService missing

JJJameson
JJJameson Member Posts: 9 Green Ribbon

Hi,

I am trying to install and run Oracle XE v18.0.0 on my Windows 10 Pro laptop.  This is a fairly new machine (February 2020) with 16GB RAM and 373GB of free disk space.  There's just one drive (C:), no partitions.

Just for context, I initially experienced the installation "rollback" problem noted by several others in the community.  I tried a number of things to resolve that (full list available on request) and finally got what appeared to be a successful installation:

pastedImage_0.png

However, when I attempted to connect via SQL*Plus from a command line, I received an "ORA-12560: TNS:protocol adapter error."  I ran "lsnrctl status" and the listener appeared to be running:

pastedImage_2.png

Upon further investigation I found that there were only two Oracle services present: OracleOraDB18Home1MTSRecoveryService and OracleOraDB18Home1TNSListener, as shown below:

pastedImage_1.png

Research into other conversations about XE issues indicated that a service called OracleXEService should have been installed as well and is mandatory for proper function.  That service is nowhere to be found on my machine.

After a good while researching and not finding any solution I decided to uninstall and reinstall Oracle XE 18c.  The uninstall hung at about 25% complete (according to the progress bar) and after about an hour I killed the process, manually cleaned up the remains (removed the HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE key, uninstalled the two services shown above, deleted the install directory, deleted the C:\Program Files\Oracle directory [which had been part of my original installation rollback problem], and restarted the machine) and installed again, with identical results: an apparently successful install, but the OracleXEService is still missing.

My installation log (C:\Program Files\Oracle\Inventory\logs\InstallActions<date><time>.log) shows several warnings but no errors that I can see.  Here are the warnings:

pastedImage_18.png

The log shows an exit status of 0.  Does that indicate success or failure?

The "output" log (C:\Program Files\Oracle\Inventory\logs\InstallActions<date><time>.out) did show what appeared to be a problem:

[Clone API Thread] [ 2020-06-26 16:33:18.539 PDT ] [nativesystem.WindowsNative.Native]  Opening registry key...

[Clone API Thread] [ 2020-06-26 16:33:18.539 PDT ] [nativesystem.WindowsNative.Native]  Key 'Software\Oracle\Olr' does not exist

[Clone API Thread] [ 2020-06-26 16:33:18.556 PDT ] [cluster.ClusterCmd.runCmd:-1]  srcLoc can't be determined: PRCI-1144 : Failed to retrieve Oracle Grid Infrastructure home path

PRKN-1036 : Windows registry key "HKEY_LOCAL_MACHINE\Software\Oracle\Olr" not found on node "localnode"

[Clone API Thread] [ 2020-06-26 16:33:18.560 PDT ] [cluster.ClusterCmd.runCmd:-1]  Calling RuntimeExec to execute the command -->C:\Oracle\XE\18.0.0\dbhomeXE\bin\registerDll.bat

[Thread-7] [ 2020-06-26 16:33:18.571 PDT ] [StreamReader.run:62]  In StreamReader.run

[Thread-6] [ 2020-06-26 16:33:18.571 PDT ] [StreamReader.run:62]  In StreamReader.run

[Clone API Thread] [ 2020-06-26 16:33:22.463 PDT ] [WindowsSystem.getCRSHome:2110]  olrKey = HKEY_LOCAL_MACHINE\Software\Oracle\Olr

[Clone API Thread] [ 2020-06-26 16:33:22.467 PDT ] [WindowsSystem.regKeyExists:1618]  WindowsSystem.regKeyExists: mainkey= HKEY_LOCAL_MACHINE subkey = Software\Oracle\Olr

[Clone API Thread] [ 2020-06-26 16:33:22.468 PDT ] [nativesystem.WindowsNative.Native] 

Native function: inside RegKeyExists Software\Oracle\Olr HKEY_LOCAL_MACHINE

[Clone API Thread] [ 2020-06-26 16:33:22.468 PDT ] [nativesystem.WindowsNative.Native]  InitializeSecurity - successful

[Clone API Thread] [ 2020-06-26 16:33:22.468 PDT ] [nativesystem.WindowsNative.Native]  Opening registry key...

[Clone API Thread] [ 2020-06-26 16:33:22.468 PDT ] [nativesystem.WindowsNative.Native]  Key 'Software\Oracle\Olr' does not exist

[Clone API Thread] [ 2020-06-26 16:33:22.488 PDT ] [cluster.ClusterCmd.runCmd:-1]  srcLoc can't be determined: PRCI-1144 : Failed to retrieve Oracle Grid Infrastructure home path

PRKN-1036 : Windows registry key "HKEY_LOCAL_MACHINE\Software\Oracle\Olr" not found on node "localnode"

I'm not sure what this means or if I'm supposed to add this key to the registry and try again.

I am at the end of day 2 in trying to get this software installed.  I plopped down $99 to upgrade to Windows 10 Pro just to be able to install Oracle XE and am quite disappointed with the time and effort required so far.

Any advice, thoughts, comments, or SOLUTIONS are welcome.

Thanks!

JJJameson

Best Answer

  • JJJameson
    JJJameson Member Posts: 9 Green Ribbon
    edited Jun 29, 2020 6:41PM Answer ✓

    @Dude!, @L. Fernigrini, and anyone else who's been watching this post (or who might come across it with a similar issue in the future),

    After a couple more unsuccessful attempts to install Oracle XE I thought as a last-ditch effort I would try replacing the installation source file (OracleXE184_Win64.zip).  I deleted the one I had downloaded last Friday, which I'd been using over and over, and downloaded a new one, this time using the new version of Microsoft Edge instead of Firefox, which I had used for the original download.  The subsequent installation took a lot longer than all previous tries (in excess of 20 minutes), and when it was done, I had six Oracle services instead of just the two I'd had before:

    Oracle Services.PNG

    I'm able to logon to SQL*Plus without a problem now and at this point am positioned to proceed with my original project.

    I did verify the original file (and the second one) against the sha256sum provided by Oracle, and both matched their key value.  So...it's hard to say exactly what went wrong, but apparently there was something amiss in the original file.  At any rate I'm considering this complete.

    Thanks for all your help - I truly appreciate that you would choose to spend you valuable time to help me.

«1

Answers

  • [Deleted User]
    [Deleted User] Posts: 0 Green Ribbon
    edited Jun 28, 2020 9:36AM

    Hi,

    It's sad, and some people won't want to hear it...
    But the pre-installation check is a disaster, totally inadequate and misleading.
    Especially for computers running in a company network (domain, central administration) (central administration)


    We can only hope that people will try harder for a 20XE...

    I'm sorry, that doesn't help you, but I had to get rid of it one more time...

    Regards

    Andre

  • JJJameson
    JJJameson Member Posts: 9 Green Ribbon
    edited Jun 28, 2020 2:12PM

    @andremi, based on my experience, it's hard to argue with your position.  That said, I'm still looking for a solution and welcome any comments or ideas.  Thanks!

  • Dude!
    Dude! Member Posts: 22,828 Black Diamond
    edited Jun 28, 2020 3:21PM
    However, when I attempted to connect via SQL*Plus from a command line, I received an "ORA-12560: TNS:protocol adapter error."

    You need to be more specific. Where are you connecting from? the same machine, another machine? How are you connecting, what is your connect string? Is your firewall configured? What is your TCP/IP configuration? Is the database up and running? How did you come up with the hostname in your listener configuration?

  • JJJameson
    JJJameson Member Posts: 9 Green Ribbon
    edited Jun 28, 2020 7:27PM

    @Dude! Thanks for the response.  Here are the answers to your questions, to be best of my ability:

    This is all taking place on my laptop; there are no other machines involved.  To connect, I followed the instructions in chapter 6 of the "Installation Guide for Microsoft Windows," specifically:

    cd <oracle_home>\bin

    sqlplus / as sysdba

    Here's what that looks like on my laptop:

    pastedImage_1.png

    I initially assumed that the database would be up post-installation because of the order of instructions in the installation guide.  As it turns out this error was just a symptom of the real problem, namely that the OracleXEService is missing.  Because that service is missing, I can't bring the database up.

    Network

    The network is my private, secured home wireless network.  I'm running Norton 360 on the laptop.

    Under Wi-Fi Properties I have (among others) the following checked:

         "Client for Microsoft Networks"

         "File and Printer Sharing for Microsoft Networks"

    I'm obtaining my IP address automatically.

    DHCP is enabled.

    NetBIOS is set to "Default"

    The hostname in the listener configuration is the name of my laptop:  

    pastedImage_5.png

    Thanks again for taking a look.  If there's anything else I can share please advise.

    -JJ

  • Dude!
    Dude! Member Posts: 22,828 Black Diamond
    edited Jun 29, 2020 3:12AM

    The Oracle net listener is involved when you make a TCP/IP connection. TNS or tnsnames is similar to DNS to translate your connect string to an appropriate Oracle net listener service and host name. You can also try EZconnect (https://www.orafaq.com/wiki/EZCONNECT ) to connect to the database, hence bypassing tnsnames.

    "sqlplus / as sysdba"

    This connects to the the database using OS authentication and inter-process communication (IPC), also known as the Oracle Bequeath protocol, to connect to the database. No TCP/IP or network involved here.

    I suppose the problem is that you do not have the ORACLE_SID variable setup or setup correctly, and/or use the wrong OS user account.

  • Dude!
    Dude! Member Posts: 22,828 Black Diamond
    edited Jun 29, 2020 3:22AM

    The devicename is your Windows computer name that comes into play when you use Windows Networking.

    What do you receive when you open a command prompt and type, e.g.;

    ping tma-asus-laptop-uc4u601

    Does this work?

  • L. Fernigrini
    L. Fernigrini Data Engineer Sr Consultant Member Posts: 3,801 Silver Crown
    edited Jun 29, 2020 11:49AM

    The problem is there is no XE Service for the DB, that probably means the XE installation did not finished OK...

  • JJJameson
    JJJameson Member Posts: 9 Green Ribbon
    edited Jun 29, 2020 11:49AM

    @Dude!, the ping does return results, showing the "local link IPV6 Address" of my laptop:

    Laptop ping.PNG

    pastedImage_1.png

    I did not set an ORACLE_SID, ORACLE_HOME, or TNS_ADMIN environmental variable as the installation instructions did not specify to do so.  What would the "right" ORACLE_SID be?

    Is it possible for me to connect to SQL*Plus without the OracleXEService?  From what I've read, the database won't start without that service, so I've been assuming that my problem is that the service did not get installed during the installation process, not that I have some other connectivity issue.  Is that a correct line of thinking or am I misunderstanding something?

  • JJJameson
    JJJameson Member Posts: 9 Green Ribbon
    edited Jun 29, 2020 11:57AM

    @L. Fernigrini, that is my thought as well.  Unfortunately I've tried the install twice now, and both times it has reported that it succeeded (see image in my original post).  Is there perhaps something about my environment that's preventing the installation of that service?  I've looked through the installation logs but I don't see anything obvious.  However they are rather large and I may be missing something.  Any ideas on whether there is something specific I should be looking for?

    Thanks!

  • Dude!
    Dude! Member Posts: 22,828 Black Diamond
    edited Jun 29, 2020 1:36PM

    You should be able to connect using "sqlplus / as sysdba". Again, "/ as sysdba" uses OS authentication and works using IPC and does not use or need the Net Listener. However, you need an account with the right privileges that belongs to the OSDBA system group. Under Windows  this is the "ORA_DBA" system groups, which is hard-coded in the Oracle server binary.

    https://docs.oracle.com/en/database/oracle/oracle-database/18/xeinw/connecting-oracle-database-xe.html

    You may not need ORACLE_SID under Windows, which starts the database using ORACLE.EXE and XE as a parameter.

    The database does not need to be running to connect locally. You can start and stop the XE database using sqllplus.

    https://docs.oracle.com/en/database/oracle/oracle-database/18/xeinw/starting-and-stopping-oracle-database-xe.html#GUID-8…

    Your installation screenshot shows "localhost", but no "localhost" is in your net listener. Your database isn't running, which would otherwise register a service with LISTENER.

    Have you seen the following post about a Windows security patch that causes the TNS-12560 problem: