W komentarzu masz wyciąg ze stanu lsnrctl status :
Listening Endpoints summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))) Services summary...
Twój słuchacz słucha tylko na 127.0.0.1 , więc połączenia mogą być nawiązywane tylko z serwera. Nic nie nasłuchuje na twoim zewnętrznym adresie 10.0.2.39 , więc połączenia z portem 1521 na tym adresie kończą się niepowodzeniem.
Twój listener.ora przypuszczalnie ma coś albo pojedynczy ADDRESS lub nie ADDRESS w ogóle, co będzie domyślnie localhost:1521 . Musisz go zmodyfikować na coś takiego:
LISTENER =
...
(ADDRESS_LIST =
...
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.2.39)(PORT = 1521))
)
lub nazwę hosta twojego komputera, jeśli można go rozwiązać na ten adres. Idealnie byłoby to zrobić przez netca zamiast ręcznie edytować plik.