Zum Inhalt springen

2 Instanzen gleichzeitig hochfahren


Alex_winf01

Empfohlene Beiträge

Hallo liebe Forengemeinde,

ich habe auf einem Server 2 Instanzen einer Oracle-Datenbank installiert. Ich kann entweder die eine Instanz oder die andere Instanz starten und verwenden. Kann ich keine 2 Instanzen gleichzeitig laufen lassen?

Doch, kannst du...wo liegt dein Problem genau ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich starte die erste Instanz. Sobald ich jetzt die zweite Instanz hochfahren möchte (beide mit demselben Port), bekomme ich die Fehlermeldung, dass Oracle bereits läuft. Ich kann entweder die erste oder die zweite Instanz hochfahren. Oracle zeigt aber beide Instanzen an. Die zweite Instanz ist übrigens ein Clon der ersten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kannst natürlich zwei Services laufen lassen, die auch auf dem gleichen Port lauschen.

Bist dir da sicher? Ich dachte immer ein Dienst ein Port. Allerdings bezweiflich ich, dass jemand weiß auf welchem Port eine Instance horcht (der ist nämlich nicht festgelegt)

Der allseits bekannte Port 1521 ist der Port des Listeners und von dem kann natürlich nur jeweils einer gestartet werden wenn beide auf den gleichen port "lauschen".

Allerdings ist auch nur ein Listener nötig um n Instancen zu versorgen.

Wenn Du einfach mal eine cmd öffnest (sofern dein User in der ora_dba Gruppe ist) und folgendes eingiebst:


set oracle_sid=deine_instance_n1

sqlplus / as sysdba

startup

exit
Und das gleiche nochmal für die andere Instance. Was passiert da? Nach ein, zwei Minuten mal ein
lsnrctl status

Dim

Link zu diesem Kommentar
Auf anderen Seiten teilen

zwei instanzen auf einem port (listener) geht nicht.

was aber sehr wohl geht, sind zwei instanzen auf 2 getrennten ports (listener).

oder zwei instanzen auf einem listener, aber mit 2 verschiedenen ports.

Die zweite Instanz ist übrigens ein Clon der ersten.

und du bist sicher, dass du eine instanz geklont hast und keine datenbank? ;)

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Listener.ora sieht wie folgt aus:

# listener.ora Network Configuration File: E:\oracle\product\ora10\NETWORK\ADMIN\listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = E:\oracle\product\ora10)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = art)

(SID_NAME = art)

)

(SID_DESC =

(GLOBAL_DBNAME = artentw)

(SID_NAME = artentw)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = XXX)(PORT = 1521))

)

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = XXX)(PORT = 1521))

)

)

Wo XXX steht, ist natürlich der Host eingetragen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

zwei instanzen auf einem port (listener) geht nicht.

was aber sehr wohl geht, sind zwei instanzen auf 2 getrennten ports (listener).

oder zwei instanzen auf einem listener, aber mit 2 verschiedenen ports.

s'Amstel

- Wieso ? Ein Listener horcht auf einem Port, du kannst beliebig viele Instanzen durch diesen Listener bedienen lassen, auch verschiedene Datenbankversionen.



oracle@CHTHL-TUX-ORACLE2:/usr/data/oracle/scripting/dba> lsnrctl status


LSNRCTL for Linux: Version 10.2.0.2.0 - Production on 14-JUL-2009 10:51:25


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


Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 10.2.0.2.0 - Production

Start Date                23-FEB-2009 21:39:29

Uptime                    140 days 12 hr. 11 min. 55 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /opt/oracle/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File         /opt/oracle/product/10.2.0/db_1/network/log/listener.log

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=CHTHL-TUX-ORACLE2.eu.uis.unisys.com)(PORT=1521)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=CHTHL-TUX-ORACLE2.eu.uis.unisys.com)(PORT=8080))(Presentation=HTTP)(Session=RAW))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=CHTHL-TUX-ORACLE2.eu.uis.unisys.com)(PORT=2100))(Presentation=FTP)(Session=RAW))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service "THLDEV12" has 1 instance(s).

  Instance "THLDEV12", status READY, has 1 handler(s) for this service...

Service "THLDEV12XDB" has 1 instance(s).

  Instance "THLDEV12", status READY, has 1 handler(s) for this service...

Service "THLDEV12_XPT" has 1 instance(s).

  Instance "THLDEV12", status READY, has 1 handler(s) for this service...

Service "THLDEV9" has 1 instance(s).

  Instance "THLDEV9", status READY, has 1 handler(s) for this service...

Service "THLDEV9XDB" has 1 instance(s).

  Instance "THLDEV9", status READY, has 1 handler(s) for this service...

Service "THLDWH12" has 1 instance(s).

  Instance "THLDWH12", status READY, has 1 handler(s) for this service...

Service "THLDWH12XDB" has 1 instance(s).

  Instance "THLDWH12", status READY, has 1 handler(s) for this service...

Service "THLDWH12_XPT" has 1 instance(s).

  Instance "THLDWH12", status READY, has 1 handler(s) for this service...

Service "THLPOL12" has 1 instance(s).

  Instance "THLPOL12", status READY, has 1 handler(s) for this service...

Service "THLPOL12XDB" has 1 instance(s).

  Instance "THLPOL12", status READY, has 1 handler(s) for this service...

Service "THLPOL12_XPT" has 1 instance(s).

  Instance "THLPOL12", status READY, has 1 handler(s) for this service...

Service "THLTST9" has 1 instance(s).

  Instance "THLTST9", status READY, has 1 handler(s) for this service...

Service "THLTST9XDB" has 1 instance(s).

  Instance "THLTST9", status READY, has 1 handler(s) for this service...

The command completed successfully

oracle@CHTHL-TUX-ORACLE2:/usr/data/oracle/scripting/dba>



(Das sind Entwicklermaschienen, auf Produktivsystemen würde ich so etwas nicht versuchen :-)

Gruss

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ Amstelchen

ja, ich bin mir sicher, eine Instanz geklont zu haben. Beide Instanzen kennt Oracle, aber ich kann beide nicht gleichzeitig starten. Es gibt einen Listener, in dem beide Instanzen eingetragen wurden. Port:1521

- Was sagt ein "lsnrctl status" ? Stimmt dein Environment, wenn du die beiden Instanzenen starten willst (OracleHome und SID) ?

Gruss

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

(Das sind Entwicklermaschienen, auf Produktivsystemen würde ich so etwas nicht versuchen :-)

so viele nicht, aber 3 o. 4 Instanzen haben wir durchaus. Wobei man natürlich sagen muss, dass sich die Last in Grenzen hält, bzw. die Maschinen mit 16GB nicht ganz so schlecht ausgestattet sind.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

vermutlich bist auf der Instanz angemeldet, die du vorher gestartet hast. Änderst du die ORACLE_SID denn, nachdem du dich auf die zweite Instanz versuchst einzuloggen?

Und wie startest Du die Instancen? Lass dir doch nicht alles aus der Nase ziehen.

In der Tat, etwas mehr Infos würden echt nicht schaden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sorry Leute

Also ich starte die 1. Instanz wie folgt nach folgendem Schema

startup pfile=<init<SID>.ora-Datei inkl. Pfad>

Die 2. Instanz starte ich dann nach dem gleichen Schema, nur gebe ich das entsprechende pfile der 2. Instanz und den Pfad der 2. Instanz an. In SID gebe ich dann die SID der jeweiligen Instanz an.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

also ich weiss nicht, wie es unter Windows ist, aber normalerweis muss man, um sich bei einer Oracle Instanz anzumelden, die SID entweder als Umgebungsvariable gesetzt haben, oder einen Connectionidentifier angeben.

Gib einfach mal, bevor du startup auf der vermeintlich zweiten Instanz eingibst, folgendes Statement ein und poste das Ergebnis:


select instance_name from v$instance;

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sorry Leute

Also ich starte die 1. Instanz wie folgt nach folgendem Schema

Die 2. Instanz starte ich dann nach dem gleichen Schema, nur gebe ich das entsprechende pfile der 2. Instanz und den Pfad der 2. Instanz an. In SID gebe ich dann die SID der jeweiligen Instanz an.

Ich würde sagen, deine Umgebungsvariablen ORACLE_HOME resp ORACLE_SID sind nicht korrekt gesetzt, d.h. du versuchst die 2. Instamz mit den Werten der ersten zu starten. Schreib dir ein Shell-Script, welches dein Environment korerkt für jede der beiden Instanzen setzt und dann sollte es klappen

Gruss

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...