日期:2014-05-17  浏览次数:21122 次

怎样解决 ora-12542 address in used 错误?
怎样解决   ora-12542   address   in   used   错误?

------解决方案--------------------

Ensure that the port number specified in the listener.ora. and the tnsnames.ora is not already in use. You may also get this error if you shut the listener down for any reason, and then try to start it back up.

Basically your errors 12542 indicates that the listener port is already in use by another application. Or maybe have another listener running or perhaps added another instance but it 's trying to listen on the same port.

Check the ports in use, make appropriate corrections to listener.ora and tnsnames.ora files with new port number and restart the listener.

With Windows NT, do a netstat. This will search all the ports being used in your machine.

If there are multiple address for 'PROTOCOL=IPC ' in the same LISTENER.ORA file for a listener, make sure none of the 'KEY ' parameter values are duplicated.

Check if this parameter is set in the listener.ora:
USE_CKPFILE_LISTENER = true
If this setting exists, it means you are using a checkpoint file for your listener. Check the port settings in use in the file - they may be an already allocated port. If your listener.ora is correct, set this parameter to FALSE. This will keep the listener from reading the checkpoint file.
------解决方案--------------------
AIX
AIX uses the "no " command to set network options. AIX uses two separate ephemeral port ranges, one for TCP and UDP, and both default to the values 32768 through 65535:

# /usr/sbin/no -a | fgrep ephemeral
tcp_ephemeral_low = 32768
tcp_ephemeral_high = 65535
udp_ephemeral_low = 32768
udp_ephemeral_high = 65535
The default range is sufficient, but you can change it using the no command. Here is an example that sets the TCP ephemeral port range to 49152 through 65535:

# /usr/sbin/no -o tcp_ephemeral_low=49152 -o tcp_ephemeral_high=65535
The options you set with no must be done each time the system starts up. One way to do that is to edit /etc/rc.tcpip and insert your no commands just before the script starts running the server daemons.