Witam. Kiedyś korzystałem z bazy danych Oracle i działało wszystko bez problemów. Jednak już dłuższy czas z niej nie korzystałem. Chciałem wczoraj skorzystać z SQL developera jednak nie mogę połączyć się z bazą, gdyż wyskakuje taki błąd: the network adapter could not establish the connection Nie mogę również wejść na stronę: http://127.0.0.1:8080/apex bo wyświetla się komunikat jakbym w ogóle nie był połączony z internetem. Myślałem, że to wina antywirusa NOD32, jednak po deinstalacji nadal ten problem występuje. Jak temu zaradzić, jest mi to bardzo potrzebne.
- baza na tym samym kompie co SQLDeveloper?
- baza wstała?
- nasłuch wstał?
- czy jak uruchomisz
sqlplusa
taksqlplus / as sysdba
to się łączy? Czy wtedyselect name from v$database;
coś zwraca?
- Ten sam komp.
- Wstał
- Wstał
- Zwraca coś takiego:
NAME
XE
co masz w pliku tnsnames.ora
jest w \oracle\network\admin\
co zwraca (z konsoli) tnsping xe
czy się łączy sqlplus tak sqlplus nazwa_usera/haslo@xe
no i jak się próbujesz łączyć
W pliku mam tak:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Piotr-Komputer)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
Konsola zwraca:
TNS-12545: Connect failed because target host or object does not exist
Łącze się przez SQL Developer
Przy łącznie jak napisałeś wyżej, najpierw wyskakuje TNS-12545: Connect failed because target host or object does not exist potem jest Enter user-name i password po wpisaniu wyskakuje: Connected to: Oracle Database 10g Express itd
nie zmieniałeś przypadkiem nazwy kompa? zmień w tnsnames.ora to Piotr-Komputer
na 127.0.0.1
i uruchom nasłuch jeszcze raz (w usługach)
Oj dzięki, właśnie sobie przypomniałem, że zmieniałem nazwę. Co teraz zrobić?
zmień w tnsnames.ora to Piotr-Komputer na 127.0.0.1 i uruchom nasłuch jeszcze raz (w usługach)
Nie chce się zrestartować listener. W cmd pisze Wystąpił błąd systemu 1067.
to zresetuj kompa
I nadal jak włączam SQL Developer to ten sam błąd.
Edit: Zmieniłem nazwę w listenerze i działa. Wielkie dzięki.
abrakadaber napisał(a):
nie zmieniałeś przypadkiem nazwy kompa? zmień w tnsnames.ora to
Piotr-Komputer
na127.0.0.1
i uruchom nasłuch jeszcze raz (w usługach)
a jeśli w tnsnames.ora mam ustawione dane do konkretnej bazy, która jest podłączona, i chcę podłączyć durgą bazę z innymi ustawieniami ... ? ..da się ?
to trzeba dodać kolejny wpis pod inną nazwą
abrakadaber napisał(a):
to trzeba dodać kolejny wpis pod inną nazwą
i tutaj pojawiają się schody - wyskakuje błąd ORA-01031, który mówi właśnie o ustawieniach tnsnames.ora i koło się zamyka, bo w tych ustawieniach wpisane są dane do pierwszej bazy
Wesoły Orzeł napisał(a):
abrakadaber napisał(a):
to trzeba dodać kolejny wpis pod inną nazwą
i tutaj pojawiają się schody - wyskakuje błąd ORA-01031, który mówi właśnie o ustawieniach tnsnames.ora i koło się zamyka, bo w tych ustawieniach wpisane są dane do pierwszej bazy
Czyli idąc od początku:
1.zainstalowałam jakąś tam bazę z zewnętrznego serwera, to wymagało nowych ustawień w tnsnames
2.chcę teraz na tej samej bazie doinstalować bazę hr (tak, tak która jest dołączona do express jako baza demo)
3. podczas ustanawiania połączenia dla bazy hr pojawia się błąd ORA-01031
4. nie wiem co dalej :) podobno może być więcej niż jeden plik tnsnames.ora ale one powinny chyba się same 'produkować' podczas ustanawiania nowego połączenia ?
tnsnames.ora
nie m nic wspólnego z błędem ORA-01031
, ten błąd to "Brak uprawnień". Plik tnsnames.ora
może być tylko jeden (albo nie być go wcale ponieważ nie jest on wymagany a jedynie jest "ułatwieniem") na każdym komputerze klienckim.
Mam wrażenie, że nie wiesz co do czego i próbujesz coś zrobić po omacku. Może najpierw wypadało by jakieś podstawy poczytać o tym jak ogólnie działa oracle, co to za pliki tnsnames.ora
, listener.ora
, jak działają użytkownicy w oracle (bo działają inaczej niż w większości baz).
Nie mam też pojęcia co rozumiesz przez chcę teraz na tej samej bazie doinstalować bazę hr
- a tą bazę to skąd miałeś?
Stwierdzenie zainstalowałam jakąś tam bazę z zewnętrznego serwera, to wymagało nowych ustawień w tnsnames
też jest średnio zrozumiałe.
Jak chcesz konkretnej i pomocnej odpowiedzi to zacznij pisać dokładnie (najlepiej z komendami, które wpisywałeś i jeszcze zdjęciami) co robisz i co chcesz uzyskać.
Prawda to, na bazach nie znam się, dlatego działam po omacku. Dopiero uczę się i chciałam tylko zainstalować sobie bazę testową (hr, która jest dostarczana jako demo wraz z sql developer), żeby nie psuć tej właściwej (ta na której docelowo mam pracować, jest na zew serwerze i żeby podłączyć się do niej trzeba było tnsname wpisać konkretne ustawienia).
Moim celem jest tylko zainstalowanie bazy hr, ale przy ustanowieniu połączenia pojawia się błąd ORA-01031. Nie wiem jak dokładniej mogę to opisać..
Zaczęłam grzebać w sql command line..to połączenie chyba działa
SQL> CONNECT HR AS SYSDBA
Enter password:
Connected.
SQL> SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS;
USERNAME ACCOUNT_STATUS
SYS OPEN
SYSTEM OPEN
ANONYMOUS OPEN
APEX_PUBLIC_USER LOCKED
FLOWS_FILES LOCKED
APEX_040000 LOCKED
OUTLN EXPIRED & LOCKED
DIP EXPIRED & LOCKED
ORACLE_OCM EXPIRED & LOCKED
XS$NULL EXPIRED & LOCKED
MDSYS EXPIRED & LOCKED
USERNAME ACCOUNT_STATUS
CTXSYS EXPIRED & LOCKED
DBSNMP EXPIRED & LOCKED
XDB EXPIRED & LOCKED
APPQOSSYS EXPIRED & LOCKED
HR EXPIRED & LOCKED
Ale w oknie dialogowym nadal mam ten sam błąd:
- żadna baza (demo czy nie demo) nie jest dostarczana z sqldeveloperem - sqldeveloper to narzędzie do administracji samą bazą oracle.
-
hr
to nie jest baza sensu stricte - pisałem Ci wcześniej, że użytkownicy w oracle są inaczej traktowani niż w innych bazach. Generalnie w oracle masz jedną bazę natomiast każdy użytkownik dostaje jakby jej kawałek na własność i tam ma swoje obiekty (tabele, procedury, widoki, ...). -
user
hr
jest domyślnie instalowany wraz z bazą ale jest domyślnie zablokowany
z sql command
SQL> CONNECT AS SYSDBA
łączysz się z bazą danych jako sysdba (czyli coś na kształt super admina)
ALTER USER hr IDENTIFIED BY hr ACCOUNT UNLOCK;
odblokowujesz konto hr
po tym powinieneś móc się połączyć z sqldevelopera na usera hr
z hasłem hr
Wow ! działa :)
dzięki wielkie za pomoc :)