4

I installed Oracle database 11g enterprise edition to my laptop. When I was installing Oracle, at the beginning I selected Desktop Class (not server class) option.

Now I am trying to make remote connection to my Oracle database from another PC but I cannot connect to Oracle and get this error message:

"ORA-12545: Connect failed because target host or object does not exist"

even though all Oracle services have been already started.

May the reason be why I installed Oracle as desktop class instead of server class?

My tnsnames.ora file:

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

DERS =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = Ders)
    )
  )
2
  • did you try tnsping?
    – OldProgrammer
    Feb 7, 2014 at 19:19
  • Can you describe the network topology a bit? Is your laptop, for example, getting its IP address via DHCP or does it have a static IP address? On the remote machine, are you using the IP address to connect to the Oracle database? Or is the remote client using a host name which is resolved by a DNS server? Apr 11, 2014 at 21:11

3 Answers 3

3

May the reason be why I installed Oracle as desktop class instead of server class?

No, 'Desktop Class' just means you only get basic choices from the installer1, according to the docs:

  • Desktop Class—This installation class is most appropriate for laptop or desktop computers. It includes a starter database and requires minimal configuration.

  • Server Class—This installation class is for servers, such as you would find in a data center, or used to support enterprise-level applications. Choose this installation class if you need access to advanced configuration options.

During a Desktop Class installation, you make only basic choices. For a Server Class installation, you choose either typical installation (where you make only basic choices) or advanced installation.

During a Desktop Class or a typical installation, Oracle Database automatically installs the sample schemas.

You'll need to go through the kind of troubleshooting steps suggested in the comments to find out what is causing the ORA-12545 error:

An ORA-12545 error occurs when the client is not able to contact the listener on the node specified. For example: when the listener has not been started on the node, if the node address has been specified incorrectly, or a firewall blocks access.


1 So 'Desktop Class' and 'Server Class' are poor names for the installation types. 'Basic' and 'Custom' might be better?

1

Start with the basics.

  • Make sure you have a network connection that is listening on a public IP.

  • Then make sure it is reachable. Unless you like totally outdated windows versions your computer has a firewall that will kill all incoming traffic unless told not to.

As per your tnsnames.ora....

(HOST=localhost)

So, the other computer tries to reach a database on localhost, which is himself, not your laptop? Now that will not work... per definition. I suggest changing the tnsnames.ora file to something sensible.

-1

When installing Oracle Enterprise Database on Windows with setup.exe you are asked to choose the systemclass. You have to decide the systemclass to be one of these two choices at installation:

  1. Server class
  2. Desktop class

When I had to decide, I didn't have further information about the differences of the two possible system classes. As my installation is for Dev-usage on a desktop computer, I supposed Oracle would use this information for resource configuration and decided for (2) Desktop class. That was definitely the wrong choice.

Result: I wasn't able to connect from a client computer to the DB, even though the listener was up, running and correctly configured by listener.ora. Exactly the situation described in the question.

After endless and desperate research and even a lot more of trial/error measures, I completely uninstalled the DB. After reinstallation with Systemclass=Serverclass, the remote access was fine then, immediately.

It's a pity but I didn't find more information about the meaning of Systemclass. Looking back, the option to setup with systemclass=Desktop class seems a bit pointless to me. Even more as I think there is no way to change this once installation is completed.

The problem with systemclass=Desktop class configuration is:

The DB is installed in localhost::DBname instead of MyHostname::DBname.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.