2012-02-03 119 views
9

Pracowałem z Oracle przez pewien czas, ale bardzo noob ze stroną administracyjną i uczę się, więc proszę o mnie.Nie można zalogować się do bazy danych jako SYS z Oracle SQL Developer

Nie mogę zalogować się do mojej bazy danych (test orcl) za pomocą SQL Developer z nazwą użytkownika SYS. Mogę zalogować się dobrze w SQLPlus z SYS jako SYSDBA - gdy próbuję z SQL Developer pojawia się błąd:
ORA-01017: nieprawidłowa nazwa użytkownika/hasło; Logowanie zostało odrzucone.

Logując się jako SYS jako SYSDBA w SQLPlus, utworzyłem tabelę testową w bazie danych i nadałem użytkownikowi testowemu SCOTT z uprawnieniami SELECT. Użytkownik Scott może zalogować się za pomocą SQL Developer w/o i uzyskać dostęp do dozwolonych tabel.

Sprawdziłem, że użytkownik Scott i SYS są zalogowaniu się przy użyciu tych samych ustawień -
hosta (adres IP)
port: 1521
SID: orcl_test

Dla SYS I flaga roli SYSDBA - ale poza tym ustawienia są takie same.

Jakieś przemyślenia na temat tego, dlaczego nie mogę się zalogować przy użyciu SYS? Czy właśnie coś przeoczam, czy też skonfigurowałem swój dysk DB niepoprawnie?

Nie jestem pewien, czy jest to istotne, ale nie mogę użyć "localhost" dla nazwy hosta, muszę podać adres IP. Gdzie mam skonfigurować Oracle, aby rozpoznać localhost?

To jest nowa instalacja Oracle 11.2.0.1.0 na samodzielnym polu testowym z systemem Windows XP. Uruchamianie Oracle SQL Developer 1.5.5.

+1

Jeśli spróbujesz z typu połączenia "TNS", co się dzieje? –

+1

Dobra rozmowa! Chociaż wciąż jestem pewien, że coś jest nie tak: zmieniłem typ połączenia na TNS (sprawdziłem wpis orcl_test w tnsnames.ora - wygląda dobrze). Nie powiedzie się, gdy zostanie użyty Network Alias: "test_clcl", ale jeśli wybiorę opcję Connect Identifier i pozostawię go pustym, to SYS jako SYSDBA będzie brzmiał poprawnie. Należy docenić wszelkie wyjaśnienia, co się tutaj wydarzyło. – owlie

+0

Czy masz więcej niż jednego klienta zainstalowanego na komputerze? Wyszukaj tnsnames.ora, istnieje więcej niż jeden? –

Odpowiedz

5

Jeśli dobrze rozumiem, baza danych znajduje się na tym samym hoście, co instalacja programisty SQL? Czy w pełni kwalifikujesz połączenie podczas testowania za pomocą SQLPlus:

sqlplus "sys/[email protected] as sysdba" 

Możliwe, że błąd jest właściwy. Upewnij się, że utworzyłeś plik hasła.

+0

Tak, baza danych znajduje się na tym samym hoście, co instalacja SQL Dev. Mogę połączyć się z pełnym ciągiem połączeń, o którym wspomniałeś, lub po prostu wpisz "sqlplus" w linii poleceń i wprowadź nazwę użytkownika/hasło zgodnie z monitem. Sprawdza istnienie pliku haseł. – owlie

+0

Sprawdzone: tabela v $ pwfile_users zawiera SYS z polami SYSDB i SYSOP ustawione na PRAWDA. – owlie

+1

To jest trudne. SQLDeveloper 3.0 oferuje opcję połączenia - Local/Bequeath, która może pomóc. –

2

Hasło systemowe, którego używasz, jest nieprawidłowe.

Ale ponieważ łączysz się z Oracle za pomocą polecenia na maszynie Oracle, Oracle nie sprawdza hasła, nawet jeśli twoje hasło jest nieprawidłowe.

Wystarczy zmienić hasło systemu i spróbować ponownie.

2

su - wyrocznia

orapwd file = $ ORACLE_HOME/DBS/orapw $ ORACLE_SID password = wpisy Euro2016 = 5

co oznacza: napisz do pliku $ ORACLE_HOME/DBS/orapw $ ORACLE_SID hasło Euro2016 który jest używany przez SYSDBA

teraz można połączyć z sqldeveloper: login, hasło Euro2016 sys z wybranego SYSDBA, nazwy hosta, portu, sid od $ ORACLE_SID

+0

Co masz na myśli przez .. plik orapwd = $ ORACLE_HOME/dbs/orapw $ ORACLE_SID hasło = Euro2016 wpisy = 5 Nie możesz być bardziej opisowy? – Hari

+0

Umożliwia korzystanie z hasła SYSDBA w tym przypadku Euro2016 w wielu aplikacjach zewnętrznych. Dodałem kilka komentarzy powyżej. http://www.dba-oracle.com/t_advanced_orapwd_utility.htm – 42n4

3

z The SYSDBA System Privilege (1) i (Logging In and Connecting to the Database as SYSDBA (2)):

(1): Connecting AS SYSDBA invokes the SYSDBA privilege. If you omit the AS SYSDBA clause when logging in as user SYS, the SQL Command Line rejects the login attempt.

(2): Using SQL Developer, open a database connection to the SYS user AS SYSDBA.

Więc - czy to działa dla Ciebie:

sqlplus sys/[email protected] as sysdba; 

Spróbuj: "SYS AS SYSDBA" jak poniżej:

enter image description here

Alternatywnie:

możesz wpisać: "SYS" i wybrać z rozwijanego menu ROLA: SYSDBA.

enter image description here

Powiązane problemy