pamiętać należy że jeżeli dodajemy drugą instancję lub bazę musimy sprawdzić czy w pliku init.ora jest:
LOCAL_LISTENER=[nazwa listenera]
i albo go wywalić albo wpisać poprawnie ponieważ potem przy komendzie
LSNRCTL.EXE opcja STATUS będzie podawana konfiguracja nie z tego pliku listener.ora

$oracle_home/bin/lsnrctl korzysta z pliku $oracle_home/network/admin/listener.ora umieszczonego w tym samym $oracle_home

sqlplus korzysta z pliku $oracle_home/network/admin/tnsnames.ora w zależności od ustawionej zmiennej systemowej ORACLE_HOME
uruchamianie:
lsnrctl start [listener_name]
w winshit wywołanie po raz pierwszy stworzy nowy service

konfiguracja listener.ora:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = [sid_pierwszej_bazy])
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = [IP])
(PORT = 1521)
)
)
)

SID_LIST_LISTENER1 =
(SID_LIST =
(SID_DESC =
(SID_NAME = [sid_drugiej_bazy])
(ORACLE_HOME = G:\oracle\product\10.2.0\db_1)
)
)

LISTENER1 =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = [IP])
(PORT = 1522)
)
)


LISTENER =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=[ip1])(PORT=[port]))
(ADDRESS=(PROTOCOL=tcp)(HOST=[ip2)(PORT=[port2]))
)

)

SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=db1)
(ORACLE_HOME=d:\oracle\product\10.2.0\db_1)
)
(SID_DESC=
(SID_NAME=db2)
(ORACLE_HOME=d:\oracle\product\10.2.0\db_1)
)
) 

tnsnames.ora:
alias=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=tcp)
(Host=host.domain)
(Port=1521)
)

(CONNECT_DATA=
(SID=dbsid)
)
)

ERRORS:
ORA-01150 #check listener.ora
ORA-12154 #check tnsnames.ora

Linux Error: 110: Connection timed out dla lsnrctl status #compare /etc/hosts via listener.ora

ORA-12560 – dla w$ sprawdzić w services.msc czy serwis został uruchomiony