2014-12-03 47 views
9

Próbuję utworzyć własną bazę danych przy użyciu SQLPlus. Więc najpierw zalogować się do niego jako admin:Jak rozwiązać ten błąd "ORA-01109: database not open"?

sqlplus sys/sys_password as sysdba 

A potem spróbuj utworzyć nowego użytkownika, zwany sqlzoo:

CREATE USER sqlzoo IDENTIFIED BY sqlzoo 
DEFAULT TABLESPACE tbs_perm_01sqlzoo 
TEMPORARY TABLESPACE tbs_perm_01sqlzoo 
QUOTA 20M ON tbs_perm_01sqlzoo; 

To daje mi następujący błąd:

ERROR at line 1: 
ORA-01109: database not open 

Dlaczego daje mi taki błąd?

Odpowiedz

8

Jak podaje błąd - baza danych nie jest otwarta - wcześniej została zamknięta, a ktoś zostawił ją w trakcie procesu uruchamiania. Mogą być celowe lub nieumyślne (tzn. Powinny być otwarte, ale nie udało się tego zrobić).

Zakładając, że nic złego z samej bazy danych, można go otworzyć za pomocą prostego rachunku:

ALTER DATABASE OPEN 
+0

Dzięki! Z jakiegoś powodu, kiedy wszedłem do tego polecenia, mówi mi "Oracle nie jest dostępne" ..nie jestem pewien – Coffee

+0

Myślę, że powinienem unikać używania użytkownika 'sysdba'? – Coffee

+1

należy pamiętać, że bez średnika (;) na końcu instrukcji to nie zadziała (przynajmniej z poziomu SqlPlus) –

1

wypróbowałeś SQL> alter database open;? po pierwszym zalogowaniu?

+0

Hmm, mam ten kod, to mówi mi "Oracle nie jest dostępny" ?? – Coffee

+1

jeśli nie masz dostępu, jak się zalogować? sprawdź usługi bazy danych i nasłuchiwania i spróbuj ponownie – jfun

+0

Myślę, że ponieważ loguję się przy użyciu: 'sqlplus sys/sys_password jako sysdba' - myślę, że powinienem używać normalnego użytkownika? – Coffee

1

Jeśli baza danych jest w dół, a następnie podczas logowania jako SYSDBA można przyjąć to. Podczas gdy polecenie login zostanie wykonane tak jak sqlplus sys/sys_password jako sysdba, otrzymasz odpowiedź "connected to idle instance" z bazy danych. Ten komunikat oznacza, że ​​twoja baza danych jest wyłączona. Powinieneś najpierw sprawdzić plik alert.log, dlaczego baza danych nie działa. Jeśli okaże się, że został on normalnie zniszczony, możesz wydać komendę "start" w celu uruchomienia bazy danych, a następnie wykonać polecenie create user. Jeśli znalazłeś bazę danych ma problem jak brakujący plik danych lub coś innego, musisz najpierw odzyskać bazę danych i otworzyć bazę danych, aby wykonać polecenie tworzenia użytkownika.

Komenda "alter database open" jest akceptowana tylko przez bazę danych, gdy jest na etapie montowania. Jeśli baza danych nie działa, to nie zaakceptuje polecenia "alter database open".

1

Mam ten sam problem. Poniżej znajduje się sposób rozwiązania problemu. Pracuję na bazie danych Oracle 12c plug-in database (pdb) na Windows 10.

- używanie sqlplus do logowania jako sysdba z terminala; Poniżej znajduje się przykład:

sqlplus sys/@ orclpdb jak sysdba

- pierwsze sprawdzić stan bazy danych;

SQL> wybierz nazwę, open_mode z v $ pdbs;

- Pokazuje, że baza danych jest zamontowana w moim przypadku. Jeśli twój nie jest zamontowany, powinieneś najpierw zainstalować bazę danych.

- Next otworzyć bazę danych do odczytu/zapisu

SQL> ALTER DATABASE OPEN Pluggable;

- Sprawdź ponownie status.

SQL> wybierz nazwę, open_mode z v $ pdbs;

- Teraz twoja dababase powinien być otwarty dla odczytu/zapisu i powinieneś być w stanie stworzyć schematy itp

0

Ten sam problem bierze mnie tutaj. W końcu znalazłem ten link, to jest dobre dla mnie.

Source link

sprawdzić status Pluggable bazie danych.

SQL> STARTUP; Wystąpiła instancja ORACLE.

całego systemu Global Area 788529152 bajtów stały rozmiar 2929352 bajtów zmienny Rozmiar 541068600 bajtów Database Zderzaki 239075328 bajtów Redo Zderzaki 5455872 bajtów bazy danych zamontowane. Baza danych została otwarta. SQL> wybierz nazwę, open_mode z v $ pdbs;

NAZWA OPEN_MODE ------------------------------------------ PDB $ SEED MONTOWANE PDBORCL MONTOWANE PDBORCL2 MONTOWANE PDBORCL1
MONTOWANE

musimy zacząć PDB $ SEED Pluggable UPGRADE DATABASE w członkowskie do tego

SQL> shutdown natychmiastowy;

Baza danych zamknięta. Baza danych została odinstalowana. Instancja ORACLE została zamknięta.

SQL> STARTUP UPGRADE;

Rozpoczęto wystąpienie ORACLE.

całego systemu Global Area 788529152 bajtów stały rozmiar 2929352 bajtów zmienny Rozmiar 541068600 bajtów Database Zderzaki 239075328 bajtów Redo Zderzaki 5455872 bajtów bazy danych zamontowane. Baza danych została otwarta.

SQL> ALTER OPTYMALNA BAZA DANYCH WSZYSTKIE OTWARTE UPGRADE; Wbudowana baza danych zmieniona.

SQL> wybierz nazwę, open_mode z v $ pdbs;

NAZWA OPEN_MODE ------------------------------------------ PDB $ SEED MIGRATE PDBORCL MIGRATE PDBORCL2 MIGRATE PDBORCL1
MIGRATE

Powiązane problemy