L'auditeur prend pas en charge les services de
J'ai installé la Base de données Oracle 11gR2 Oracle Grid Infrastructure sur une Linux box, puis j'ai créé le orcl
base de données.
J'ai toujours été en mesure de se connecter à ma base de données à l'aide de SQL*Plus ou OEM. Mais dernièrement, je suis confronté à un problème lors de la saisie de la commande lsnrctl status
, et donc je ne suis pas en mesure de se connecter à la base de données.
Mon listener.ora
fichier:
# 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
Mon tnsnames.ora fichier :
# 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)
)
)
Lors de la saisie de lsnrctl status
, je reçois le texte suivant :
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
Lors de la saisie de sqlplus /as sysdba
puis startup
, j'obtiens ceci :
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
Et la srvctl start database
commande ne parvient pas à démarrer la base de données trop.
Mon oratab
fichier est le suivant :
#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
- Est votre base de données fonctionne réellement? Elle n'apparaît pas dans la liste des services jusqu'à ce qu'il enregistre, ce qui n'est au démarrage s'il le peut, et il continue d'essayer si elle ne peut pas. Si c'est en place - vous pouvez vous connecter en local avec SQL*Plus: avez - vous de la
local_listener
init jeu de paramètres; et nepc.company.com
résoudre votre véritable adresse IP du PC (c'est à dire que vous n'utilisez pas DHCP)? - Ma base de données n'est pas en cours d'exécution malheureusement, et je ne suis pas à l'aide de dhcp. J'ai une adresse IP statique.
Vous devez vous connecter pour publier un commentaire.
La base de données des registres de son nom de service(s) avec l'auditeur lorsqu'il démarre. Si elle est incapable de le faire, puis il essaie à nouveau périodiquement - donc, si l'auditeur commence après la base de données, il peut y avoir un délai avant que le service est reconnu.
Si la base de données n'est pas en cours d'exécution, cependant, rien ne sera inscrit au service, vous ne devriez pas s'attendre à l'auditeur de savoir -
lsnrctl status
oulsnrctl services
de ne pas déclarer un service qui n'est pas encore enregistré.Vous pouvez démarrer la base de données sans l'écouter; à partir de l'Oracle de compte et votre
ORACLE_HOME
,ORACLE_SID
etPATH
jeu, vous pouvez le faire:Puis, à partir de SQL*Plus prompt:
Ou par le biais de l'infrastructure de réseau, à partir de la grille de compte, utilisez le
srvctl démarrer la base de données
commande:Vous voudrez peut-être chercher à savoir si la base de données est configuré pour démarrer automatiquement dans votre
oratab
fichier, et en fonction de ce que vous êtes en utilisant de savoir si elle aurait démarré automatiquement. Si vous vous attendez à être en cours d'exécution et il n'est pas, ou vous essayez de le démarrer et il ne viendra pas, alors c'est un tout autre scénario, vous devez regarder les messages d'erreur, journal des alertes, éventuellement, les fichiers de trace etc. pour voir exactement pourquoi il ne veut pas démarrer, et si vous ne pouvez pas le comprendre, peut-être demander sur la Base de données Adminsitrators plutôt que sur un Débordement de Pile.Si la base de données ne peut pas voir
+DATA
puis ASM ne peut pas être en cours d'exécution; vous pouvez voir comment démarrer qu'ici; ou à l'aide desrvctl commencer asm
. Que dit la documentation, assurez-vous de le faire à partir de la grille de la maison, pas de la base de données à la maison.vous devez reconfigurer votre tnsnames.ora de sorte qu'il peut pointer vers votre nom d'hôte
après que l'auditeur va être en mesure de choisir le nouveau nom d'hôte. après quoi vérifier le statut de votre écouteur lsnrctl d'état et de commencer auditeur lsnrctl start
ensuite enregistrer votre écoute. Modifier le système de registre
Vérifier local_listener définition dans votre spfile ou pfile. Dans mon cas, le problème était avec pfile, j'avais déplacé le pfile à partir d'un environnement similaire et il avait LISTENER_sid en tant qu'AUDITEUR et pas seulement à l'écoute.
Vous devez ajouter votre
ORACLE_HOME
définition dans votre auditeur.ora fichier. Dès maintenant ses pas inscrits auprès d'unORACLE_HOME
.De l'échantillon de l'auditeur.ora
pour l'auditeur de soutien de l'absence de services, vous pouvez utiliser la commande suivante pour définir local_listener paramètre dans votre spfile utiliser votre écouteur port et l'adresse ip du serveur
alter system set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.101)(PORT=1520)))' sid='testdb" scope=spfile;