2014-07-21 17 views
5

Zainstalowałem bazę danych Oracle Database 11gR2 oraz Oracle Grid Infrastructure w systemie Linux, a następnie utworzyłem bazę danych orcl.Słuchacz nie obsługuje żadnych usług.

Zawsze byłem w stanie połączyć się z moją bazą danych za pomocą SQL * Plus lub OEM. Ale ostatnio napotykam problem podczas wpisywania polecenia lsnrctl status, więc nie mogę połączyć się z bazą danych.

Moja listener.ora file:

# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/grid/network/admin/listener.ora 
# Generated by Oracle configuration tools. 
LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
     (ADDRESS = (PROTOCOL = TCP)(HOST = pc.company.com)(PORT = 1521)) 
    ) 
) 
ADR_BASE_LISTENER = /u01/app/oracle 

Mój plik tnsnames.ora:

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora 
# Generated by Oracle configuration tools. 

ORCL = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = pc.company.com)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = orcl.example.com) 
    ) 
) 

Podczas wpisywania lsnrctl status, mam następujące:

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 21-JUL-2014 03:35:48 

Copyright (c) 1991, 2009, Oracle. All rights reserved. 

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) 
STATUS of the LISTENER 
------------------------ 
Alias      LISTENER 
Version     TNSLSNR for Linux: Version 11.2.0.1.0 - Production 
Start Date    21-JUL-2014 03:25:58 
Uptime     0 days 0 hr. 9 min. 50 sec 
Trace Level    off 
Security     ON: Local OS Authentication 
SNMP      OFF 
Listener Log File   /u01/app/oracle/diag/tnslsnr/pc151/listener/alert/log.xml 
Listening Endpoints Summary... 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=pc.company.com)(PORT=1521))) 
The listener supports no services 
The command completed successfully 

Whe n wpisując sqlplus/as sysdba następnie startup, otrzymuję to:

ORA-01078: failure in processing system parameters 
ORA-01565: error in identifying file '+DATA/orcl/spfileorcl.ora' 
ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/spfileorcl.ora 
ORA-29701: unable to connect to Cluster Synchronization Service 

A komenda srvctl start database nie uruchomi bazę zbyt.

Mój plik oratab jest następujący:

#Backup file is /u01/app/oracle/product/11.2.0/dbhome_1/srvm/admin/oratab.bak.pc150 line added by Agent 
# 

# This file is used by ORACLE utilities. It is created by root.sh 
# and updated by the Database Configuration Assistant when creating 
# a database. 

# A colon, ':', is used as the field terminator. A new line terminates 
# the entry. Lines beginning with a pound sign, '#', are comments. 
# 
# Entries are of the form: 
# $ORACLE_SID:$ORACLE_HOME:<N|Y>: 
# 
# The first and second fields are the system identifier and home 
# directory of the database respectively. The third filed indicates 
# to the dbstart utility that the database should , "Y", or should not, 
# "N", be brought up at system boot time. 
# 
# Multiple entries with the same $ORACLE_SID are not allowed. 
# 
# 
+ASM:/u01/app/oracle/product/11.2.0/grid:N 
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N   # line added by Agent 
+0

Czy twoja baza danych rzeczywiście działa? Nie pojawi się na liście usług, dopóki się nie zarejestruje, co robi podczas uruchamiania, i nadal próbuje, jeśli nie może. Jeśli jest włączony - możesz połączyć się lokalnie z SQL * Plus - czy masz zestaw parametrów inicjalizujących 'local_listener'; i czy 'pc.company.com' rozwiązuje rzeczywisty adres IP twojego komputera (tzn. nie używasz DHCP)? –

+0

Moja baza danych nie działa niestety, a ja nie używam dhcp. Mam statyczny adres IP. – Simo03

Odpowiedz

15

Baza rejestruje swoją nazwę (-y) Usługi z słuchacza, gdy zaczyna się. Jeśli nie może tego zrobić, to próbuje ponownie okresowo - więc jeśli detektor uruchomi się po bazie danych, może nastąpić opóźnienie, zanim usługa zostanie rozpoznana.

Jeśli baza danych nie jest uruchomiona, nic nie będzie rejestrować usługi, więc nie należy oczekiwać od odbiorcy informacji o tym - lsnrctl status lub lsnrctl services nie zgłosi usługi, która nie jest jeszcze zarejestrowana.

Możesz uruchomić bazę danych bez detektora; z rachunku Oracle oraz z ORACLE_HOME, ORACLE_SID i PATH zestawu można zrobić:

sqlplus /nolog 

Następnie z SQL * Plus monit:

connect/as sysdba 
startup 

lub za pośrednictwem infrastruktury sieciowej, z rachunku siatki, użyj srvctl start database command:

srvctl start database -d db_unique_name [-o start_options] [-n node_name] 

Możecie zajrzeć do tego, czy baza danych jest ustawiona na auto-start w Twój plik oratab, w zależności od tego, co używasz, czy powinien zacząć się automatycznie. Jeśli spodziewasz się, że to działa, a nie jest, lub spróbujesz go uruchomić i nie pojawi się, to jest zupełnie inny scenariusz - musisz spojrzeć na komunikaty o błędach, dziennik alarmów, ewentualnie śledzić pliki itp., aby zobaczyć, dlaczego dokładnie się nie uruchamia, a jeśli nie możesz tego pojąć, może zapytaj o Adminsitrators baz danych zamiast o przepełnienie stosu.


Jeśli baza danych nie może zobaczyć +DATA, wówczas ASM może nie działać; możesz see how to start that here; lub przy użyciu srvctl start asm.Jak mówi dokumentacja, upewnij się, że robisz to z sieci domowej, a nie z bazy domowej.

+0

Nie udało się uruchomić asm przez wydanie srvctl start asm! Mój plik listener.ora znajduje się w sieci domowej, a nie w bazie danych, czy to normalne? – Simo03

+1

Tak, to jest normalne. Dodaj błąd, który dostajesz od ASM, zacznij od pytania. Zaczynałeś ASM od domu, prawda? Może warto sprawdzić status ASM i status dysku, w zależności od tego, jaki błąd. –

0

musisz ponownie skonfigurować swoją stronę tnsnames.ora, aby mogła wskazywać na nazwę hosta po tym, że słuchacz będzie mógł wybrać nową nazwę hosta. po czym sprawdź status swojego statusu lsnrctl i rozpocznij odbiór lsnrctl start następnie zarejestruj swojego słuchacza. Alter rejestr systemu

Powiązane problemy