Serverlebenszyklus mit Skripten verwalten

Wenn eine Domain keinen Node Manager zum Starten und Stoppen von Servern verwendet, können Sie die standardmäßigen Start-/Stop-Skripte des Servers aus WebLogic verwenden oder ein Wrapper-Skript zum Aufrufen von WebLogic Scripting Tool (WLST) verwenden.

Best Practices für die Verwendung benutzerdefinierter Skripte

Verwenden Sie keine benutzerdefinierten Skripte, es sei denn, dies ist erforderlich. Wenn Sie jedoch benutzerdefinierte Skripte zur Verwaltung des Lebenszyklus der Serversteuerung verwenden müssen, lesen Sie die folgenden empfohlenen Vorgehensweisen.

  • Lesen Sie keine Eingabe aus stdin oder Skriptparametern. WebLogic Management sendet den Servernamen für Managed Server-Skripte, es wird jedoch nichts für den Administrationsserver gesendet.
  • Behandeln Sie Fehlerbedingungen in jedem Schritt. Dadurch kann WebLogic Management die Fehler effizient verarbeiten.
  • Rufen Sie keine Skripte wie startWebLogic.sh ohne korrekte Beendigungskriterien auf, da der Aufruf eines solchen Skripts den Aufrufer nicht beendet. Das Skript startWebLogic.sh startet den Server und kehrt erst zurück, wenn der Serverprozess beendet ist. Dadurch hängt das Management-Plug-in WebLogic mit dem Warten auf die Antwort ab. WebLogic Die Verwaltung vermeidet das Warten, indem das Skript aufgerufen wird. Es empfiehlt sich jedoch immer, ein benutzerdefiniertes Skript ordnungsgemäß zu beenden.
  • Wenn die Domain Node Manager verwendet, führen Sie den Vorgang mit WLST aus, und rufen Sie ein WLST-Skript aus Shellskript (Linux) oder Batchdatei (Windows) auf.
  • Wenn der Administration Server länger als 5 Minuten dauert, passen Sie die Eigenschaften in /usr/libexec/oracle-cloud-agent/plugins/oci-wlms/_internal/wls_actions/wlst/properties.json an, um Werte anzugeben, die für die Umgebung optimal wären. Beispiele:
    "wls_max_retries": 10, (The number of times to poll for the admin server to check if the admin port is opened)
    "wls_sleep_interval": 30 (The polling interval)

Start-/Stopp-Skripte des Standardservers aus WebLogic verwenden

Verwenden Sie startWebLogic.sh/cmd und stopWebLogic.sh/cmd für den Administrationsserver und startManagedWebLogic.sh/cmd und stopManagedWebLogic.sh/cmd für Managed Server. Konfigurieren Sie die Domaineinstellungen in der WebLogic-Verwaltung, um diese Skripte zu verwenden. Siehe Patching und Serversteuerung konfigurieren.

Nach der Konfiguration ruft WebLogic Management die stopWebLogic.sh ohne Parameter und stop/start ManagedWebLogic.sh-Skripte auf, indem der Servername als Parameter übergeben wird.

Wenn Sie diese Skripte verwenden, überwacht oder fragt WebLogic Management den Status des Starts von Managed Servern oder des Stoppens von Servern nicht ab. Dies kann zu einem erfolgreichen Reporting des Lebenszyklusvorgangs führen, obwohl die Server nicht erfolgreich gestoppt oder gestartet wurden.

WLST mit Wrapper-Skript aufrufen

Stellen Sie mit WLST eine Verbindung zum Administration Server her, und verwalten Sie die Server dann mit der Administration Server-Verbindung. Das WLST-Skript wird von einem Wrapper-Shellskript aufgerufen, das in der Einstellung des Start- und Stoppskripts in der WebLogic-Verwaltung verwendet wird. Im Folgenden finden Sie die Beispiel-Wrapper-Skripte.

Administrations-Server stoppen:

# stop Admin script

import sys
 
wls_user = <weblogic-admin-user-name>
wls_password = <weblogic-admin-password>
admin_url = <admin_url>
try:
    connect(wls_user, wls_password, admin_url)
except Exception, e:
    # Handle exception here and identify if the server is running
    if "Error getting the initial context. There is no server running at" in str(e):
        # This error means, there is no server running. So nothing to stop
        sys.exit(0)
    else:
        sys.exit(1)
 
# We are connected. now shutdown the server
try:
    shutdown()
    sys.exit(0)
except:
    # Failed to shutdown. Exit with non-zero
    sys.exit(3)

Shell-Skript zum Aufrufen des Stopp-Admin-Vorgangs:

#!/bin/bash

# $MW_HOME - The path to the MW_HOME
$MW_HOME/oracle_common/common/bin/wlst.sh <stop-admin-python script>
Wichtig

Geben Sie zum Starten des Administrationsservers das Skript startWebLogic.sh an, wenn das Management den Port abfragt, um festzustellen, ob der Administrationsserver erfolgreich gestartet wurde. WebLogic

Managed Server starten:

# start managed server

import sys
 
managed_server_name = sys.argv[1]
wls_user = <weblogic-admin-user-name>
wls_password = <weblogic-admin-password>
admin_url = <admin_url>
 
# connect to the admin server and then start the managed server
 
try:
    connect(wls_user, wls_password, admin_url)
except Exception, e:
    # We cannot connect to admin and hence we cannot start the managed server
    sys.exit(1)     
 
# We are connected. now start the server
try:
    start(managed_server_name)
    sys.exit(0)
except:
    # Failed to start server. Exit with non-zero
    sys.exit(2)

Skript zum Aufrufen des Start-/Stoppvorgangs des Managed Servers:

#!/bin/bash

# $MW_HOME - The path to the MW_HOME
SERVER_NAME=$1
$MW_HOME/oracle_common/common/bin/wlst.sh <stop/start-managedserver-python script> $SERVER_NAME