Forum Stats

  • 3,826,840 Users
  • 2,260,712 Discussions
  • 7,897,092 Comments

Discussions

18c Express Edition, Win 10 Pro. No default database (ORA-12560, ORA-12514.) What am I missing?

Sondar
Sondar Member Posts: 3

I've (seemingly) successfully installed the 18.4 version of the 18c XE database on Win 10 Pro, but no matter how many times I do the install and no matter what I try, I cannot connect to anything. Is there something obvious I'm missing or should do to make the database accessible?

Let's go through this step by step:

  1. I'm installing the Windows package currently available at this link - that's the Feb 20, 2019 release, 18.4.0.0.0. I've checked the download against the checksum and confirmed the download is not corrupted.

  2. I'm installing the package in a x64-based VM, running Win 10 Pro (build 18363) with 8.87 GB of RAM available. It's a VirtualBox VM, which I assume works - as there's a link to a VirtualBox appliance right here on the landing page of this forum.

  3. To make sure I'm not mis-typing anything, I extracted the contents of the downloaded archive to C:\xe_temp\, and installed with the following batch script:
    setup.exe /s /v"RSP_FILE=c:\xe_temp\sQ-XEInstall.rsp" /v"/L*v c:\xe_temp\setup.log" /v"/qn"
    and the following lines in the corresponding response file:
    INSTALLDIR=C:\oracle\product\18.0.0\
    PASSWORD=<password-known>
    LISTENER_PORT=0
    EMEXPRESS_PORT=0
    CHAR_SET=AL32UTF8
  4. The install script was run from a command terminal "Run as Administrator" by the default (only) user, who is part of the Administrators group.

  5. During the install, I was prompted to allow the application through the firewall. I allowed this for all networks (public and private).

  6. The file that was created during the installation, C:\xe_temp\setup.log, contains the line
    MSI (s) (A0:F4) [15:49:24:863]: Windows Installer installed the product. Product Name: Oracle Database 18c Express Edition. Product Version: 18.4.0.0.0. Product Language: 1033. Manufacturer: Oracle Corporation. Installation success or error status: 0.
  7. Right after the install, I go to the install directory and try and connect to my newly installed database:

    C:\xe_temp>cd C:\oracle\product\18.0.0\dbhomeXE\bin

    C:\oracle\product\18.0.0\dbhomeXE\bin>.\sqlplus / as sysdba

    SQL*Plus: Release 18.0.0.0.0 - Production on Tue Dec 31 12:32:55 2019
    Version 18.4.0.0.0

    Copyright (c) 1982, 2018, Oracle.  All rights reserved.

    ERROR:
    ORA-12560: TNS:protocol adapter error

    Enter user-name: sys
    Enter password: <yes, I entered the correct pwd!>
    ERROR:
    ORA-12560: TNS:protocol adapter error

    Enter user-name: ^C

  8. That doesn't work. Let's see if we can ping the database:

    C:\oracle\product\18.0.0\dbhomeXE\bin>tnsping localhost

    TNS Ping Utility for 64-bit Windows: Version 18.0.0.0.0 - Production on 31-DEC-2019 12:37:04

    Copyright (c) 1997, 2018, Oracle.  All rights reserved.

    Used parameter files:
    c:\oracle\product\18.0.0\dbhomeXE\network\admin\sqlnet.ora

    Used EZCONNECT adapter to resolve the alias
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))
    OK (20 msec)

  9. That seems okay. Is anyone listening?

    C:\oracle\product\18.0.0\dbhomeXE\bin>lsnrctl status

    LSNRCTL for 64-bit Windows: Version 18.0.0.0.0 - Production on 31-DEC-2019 12:33:56

    Copyright (c) 1991, 2018, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MS-TEST-WIN-ORACLE.local)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for 64-bit Windows: Version 18.0.0.0.0 - Production
    Start Date                31-DEC-2019 12:01:52
    Uptime                    0 days 0 hr. 32 min. 3 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Default Service           XE
    Listener Parameter File   c:\oracle\product\18.0.0\dbhomeXE\network\admin\listener.ora
    Listener Log File         c:\oracle\product\18.0.0\diag\tnslsnr\MS-TEST-WIN-ORACLE\listener\alert\log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MS-TEST-WIN-ORACLE)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
      Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
  10. The command completed successfully, and lists at least one service. However, from researching this problem, I'd also expect to see the XE and XEPDB1 services listed there, too.

  11. I checked in the Windows services console - the only Oracle services listed (and running) are OracleOraDB18Home1MTSRRecoveryService and OracleOraDB18Home1TNSListener. I've tried stopping and re-starting them, to no avail.

  12. Can I connect to the single service that is listed? Nope.

    C:\oracle\product\18.0.0\dbhomeXE\bin>.\sqlplus [email protected]:1521/CLRExtProc

    SQL*Plus: Release 18.0.0.0.0 - Production on Tue Dec 31 12:34:46 2019
    Version 18.4.0.0.0

    Copyright (c) 1982, 2018, Oracle.  All rights reserved.

    ERROR:
    ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

    Enter user-name: ^C

Can anyone identify what the problem is? Why weren't the XE|PDB1 services installed? Is the syntax of my sqlplus commands correct?

clcarter

Answers

  • Gaz in Oz
    Gaz in Oz Member Posts: 3,785 Bronze Crown
    edited Jan 1, 2020 10:39PM

    Just as a matter of interest, why did you not just run setup.exe and manually enter what you are asked for throuh the OUI?

    It would apear that you haven't setup the OS env with "set ORACLE_SID=XE" or there is some other ORACLE env var not set correctly.

    It would also appear that your database is not up.

    What does the install log say?

  • Billy Verreynne
    Billy Verreynne Software Engineer Member Posts: 28,829 Red Diamond
    edited Jan 3, 2020 12:49AM

    tnsping does not ping  the database - it simply checks if a tcp port connect is accepted by a listener. It is useless otherwise.

    To determine if a database instance is running, one does a process listing of oracle (ps -fu oracle on Linux) and identify the instance's SID via processes like PMON (process monitor) and SMON (system monitor). On Windows, threads are used - thus you need to determine which threads are owned by oracle.exe processes.

    As for running XE in a Windows 10 VM - plain silly. Use an Oracle Linux VM as a free OpenSource solution, with full access to Oracle's Public Yum Repository of Linux s/w - and the ability to also add access to CentOS's EPL Yum Repository. No licensing and copyright issues.

    I remain dumbfounded that Windows is even considered as an option in such a case. It is a wholly inferior choice and solution given free and robust Oracle Linux with the UEK kernel.

  • Sondar
    Sondar Member Posts: 3
    edited Jan 3, 2020 6:48AM

    I did run the setup manually - several times. But after repeated attempts didn't work, I got paranoid I was mis-typing something during the install process, so I codified everything as a repeatable script / response file.

    I tried your suggestion - setting ORACLE_SID just before install, with no success. I also couldn't find any mention of it, nor any other required variable, in the installation guide (other than an injunction to make sure ORACLE_HOME is not set.) The guide does say that the installer will only use the SID XE, which brings me back to my question - why didn't the installer create the XE service, even though that is the only one supported and allowed? You say the database is not up - assuming that it does exist (lsnrctl can't find it), how would you suggest I bring it up?

    As for the install log, you can see an extract from it in my question - setup completed without errors. Would the full install file help?

  • Billy Verreynne
    Billy Verreynne Software Engineer Member Posts: 28,829 Red Diamond
    edited Jan 3, 2020 8:46AM

    The installer log will detail the attempted XE db creation.

    And SIDs other than XE can be created too - but only a single instance is allowed to run at a time.

    Assuming a successful XE Oracle installation (but a failed XE db creation), you can use DBCA to interactively create a database.

  • Sondar
    Sondar Member Posts: 3
    edited Jan 8, 2020 6:54AM

    Prompted by @Billy~Verreynne I went through the setup log, more carefully this time, and found the following line:

    SEVERE: Oracle XE Database configuration was not successful. Verify the corresponding logs under cfgtoollogs\dbca and try again

    Looking at the log files under cfgtools\dbca, I found one with the message

    [FATAL] [DBT-50000] Unable to check for available memory

    Looking further in the setup log, it seems the installer was running the database creation script at the time of the error, with the following parameters:

    c:\oracle\product\18.0.0\dbhomeXE\bin\dbca.bat -silent -createDatabase -gdbName XE -templateName XE_Database.dbc -characterSet AL32UTF8 -createAsContainerDatabase true -numberOfPDBs 1 -pdbName XEPDB1 -sid XE -emConfiguration DBEXPRESS -emExpressPort 5500 -sampleSchema true -initParams sga_target=1536M,pga_aggregate_target=512M -customScripts c:\oracle\product\18.0.0\dbhomeXE\assistants\dbca\postdb_creation.sql -oui_internal -maskPasswords FALSE

    After looking further into the DBT-50000 error and suggested fixes, I re-ran the DBCA command manually, with two changes:

    1. I removed the -silent option
    2. I added the -J-Doracle.assistants.dbca.validate.ConfigurationParams=false option

    Running the DBCA script manually brought up the Oracle Database Configuration assistant. At first I tried to go with the Typical Configuration, as follows:

    pastedImage_25.png

    But after churning awhile, that again brought up the DBT-50000 unable to check memory error. So then I selected the Advanced configuration and went through all the remaining setup dialogs (which were generally pre-populated with the options passed to the DBCA script on the command line.)

    Everything initially went well, and the installer started copying the files across. It even created the Windows services that were missing and I expected in my previous comment (such as OracleServiceXE.) But that's where the good news ended - the installation failed again with an error saying it couldn't start the database service ("DIM-00019: create service error" and "O/S-Error: (OS 1053) The service did not respond to the start or control request in a timely fashion"

    I tried starting the service manually, as Administrator, and got the same error message:

    pastedImage_26.png

    For what it's worth, I was able to install version 11g XE on the same virtual machine without any hassle whatsoever - but that's no use, as we have clients using versions from 12 to 18.

    Any further suggestions, or should I be looking into a different Oracle install? (Not necessarily an XE one...)

  • Gaz in Oz
    Gaz in Oz Member Posts: 3,785 Bronze Crown
    edited Jan 8, 2020 7:18AM

    Amongst other things, No, do NOT set ORACLE_SID before install, I did not say that. I was replying to your original post where you show listener output missing XE and XEPDB1 services being listened for.... And specifically you showed you were not able to connect "/ as sysdba" which the setting of ORACLE_SID was about.

    You mention a VM, is the VM guest OS windows 10 pro, or something else?

    If you are using a VM then use a VM running OLinux or Redhat linux, Oracle databases run much better on Linux.

  • Billy Verreynne
    Billy Verreynne Software Engineer Member Posts: 28,829 Red Diamond
    edited Jan 8, 2020 8:29AM

    Last used Oracle 7 on Windows NT - and cannot recall just what the service does technically. But you need to figure out why the service fails to load/respond.

    You can configure the service to run as oracle (if not already). Configure the service to allow desktop interaction. Peruse the event log for service errors. Look for oracle trace/log/dump files created or updated by the service. Etc.

    Windows is unfortunately a complex o/s when it comes to troubleshooting - no /proc or /sys kernel memory structure file system mounts, no easy strace for tracing system calls, which are among the reasons Linux is #1.

  • Christian.Shay -Oracle
    Christian.Shay -Oracle Posts: 2,153 Employee
    edited Jan 13, 2020 3:55PM

    This is a failed installation, most likely caused by named pipes issues/Antivirus issues.

    Please go through these steps

    1) Is ORACLE_HOME or TNS_ADMIN set in the environment? Go to a command prompt, type "set". You will need to temporarily unset any such environment variables. This is often the cause of rollbacks.

    2) Are you using Windows 10 Home Edition? It is not supported and the installer is not properly checking for it in the Prerequisite check.

    3) Are you using Server 2019? Same issue.

    4) On your network adapter that you are using, check (enable) "Client for Microsoft Networks" and "File and Printer Sharing for Microsoft Networks".

    5) Check to see if Netbios is enabled on your network connection:

    See this link for more info:

    http://ecross.mvps.org/howto/enable-netbios-over-tcp-ip-with-windows.htm

    6) In some cases, antivirus has interfered with an installation.  Try disabling anti-virus.

    7) Try creating a local user and adding to local administrator group and then log in and install as that user.

    clcarter
  • User_9W54D
    User_9W54D Member Posts: 1 Green Ribbon

    HOST=MS-TEST-WIN-ORACLE , I think computer names is exceed 15 characters. (NetBIOS computer names Maximum name length: 15 characters)

    Change computer name and reinstall again. I hope this will help you.