SCCM Deployment (Teil II) Automatisierte Oracle-Installation mittels des System Center Configuration Manager

Durch einen Umzug oder Neuaufbau eines Rechenzentrums müssen mehrere Installationen auf diversen Servern durchgeführt werden. So auch zum Beispiel bei Datenbankservern. Mit dem System Center Configuration Manager können Server mit einem Betriebssystem und zusätzlicher Software (z.B. Datenbanksoftware) automatisiert installiert werden.

Einleitung

Im zweiten Teil dieser Artikelreihe wird beschrieben, wie eine unbeaufsichtigte und vollautomatisierte Ausführung von mehreren Oracle-Installationen durchgeführt wird. Hierbei handelt es sich um die reine Installation und Konfiguration von Oracle und nicht um die Migration von Datenbanken. Zusätzlich wird hier pro Oracle Home nur eine Datenbank installiert. 

Für eine grundlegende Einführung in das Thema Softwareverteilung mittels dem System Center Configuration Manager empfehlen wir den ersten Teil dieser Reihe [1].

Vorbereitungen

Zunächst werden die Installationsmedien von Oracle benötigt. Diese können auf der Oracle Internetseite [2] heruntergeladen werden. Anschließend werden die Setup- Dateien auf der SCCM-Freigabe abgelegt und somit dem SCCM zur Verfügung gestellt. Im nächsten Schritt wird sowohl eine globale Response-Datei für die Software-Only-Installation, als auch ein globales Datenbank- Template für die Datenbankerzeugung benötigt und ebenfalls auf der Freigabe abgelegt.

Innerhalb der Response-Datei und des Template gibt es dynamische Parameter, die während der Installation festgelegt werden. Dies geschieht mittels einer Batch-Datei, welche die Konfigurationsbefehle für die Oracle-Installation beinhaltet und die entsprechenden Parameter an den Befehl setup, sowohl für die Software-Only-Installation als auch die Datenbankerzeugung, dynamisch übergibt.

Oracle-Installationsdatei

Damit die Installation von verschiedenen Oracle-Datenbanken auf unterschiedlichen Servern stattfinden kann, wird eine zusätzliche Parameterdatei (z.B. Servernames.txt) benötigt. Innerhalb dieser Datei sind folgende Werte kommagetrennt einzutragen:


  • Servername 
  • Oracle Home
  • SID 
  • DB_UNIQUE_NAME
  • Zeichensatz
  • Nationaler Zeichensatz


Hier eine Parameterdatei mit Beispielinhalt:

SRV_01,D:\oracle\product\OraTest\12.1.0.2, OraTest,OraTest1,WE8MSWIN1252,AL16UTF16

SRV_02,D:\oracle\product\ORAProd\12.1.0.2, OraProd,OraProd1,WE8MSWIN1252,AL16UTF16

Die Werte werden zu Beginn durch eine Batch-Datei, welche alle Installationsbefehle enthält, in einer Schleife ausgelesen (siehe Abbildung 1) und anschließend in den entsprechenden Befehl setup für die Oracle-Installation eingefügt. Damit die korrekte Oracle-Installation auf dem richtigen Server durchgeführt wird, ist innerhalb der Batch-Datei nach dem Auslesen der Parameterdatei eine einfache IF-Abfrage (siehe Abbildung 2) auf den Servername eingefügt. Nur wenn der Parameter srv aus der Parameterdatei mit dem eigentlichen Servernamen übereinstimmt, werden die Installationsbefehle der Batch-Datei durchgeführt. Somit sind alle Installations- und Konfigurationsbefehle für Oracle innerhalb der IF-Abfrage einzufügen.

For /F "tokens=1,2,3,4,5,6,7 delims=," %%A in
(ServerNames.txt) DO (
    SET srv=%%A
    SET home=%%B
    SET SID=%%C
    SET DB_UNIQUE=%%D
    SET Chr=%%E
    SET NChr=%%F
    SET oracle_base=D:\oracle
call :ProcessNext
) 
Abb. 1: Parameterdatei auslesen
IF /i %Computername% == %srv%( […] ) 

Abb. 2: IF-Abfrage Servername

Software-Only-Installation

Die Software-Only-Installation wird mit dem Befehl aus Abbildung 3 durchgeführt. Wichtigster Parameter ist hierbei -silent (für die unbeaufsichtigte Installation). Alle weiteren Parameter sind in der Tabelle der Abbildung 4 aufgeführt. Der letzte Parameter ist die zuvor genannte Response-Datei. Bei dieser Datei handelt es sich um eine gewöhnliche Response-Datei von Oracle.

Der Parameter oracle.install.option muss innerhalb dieser Datei auf INSTALL_DB_SWONLY gesetzt sein. Alle dynamischen Parameter, welche durch den Befehl batch gesetzt werden, sind in der Response- Datei leer zu lassen (z.B. ORACLE_HOME=).

%~dp0setup.exe -silent "ORACLE_HOSTNAME=%srv%"
"ORACLE_HOME=%home%" "ORACLE_BASE=%oracle_base%"
"ORACLE_HOME_NAME=%SID%"
"INVENTORY_LOCATION=D:\oracle\Inventory"
-force -nowait -noconsole -waitforcompletion -response-
File %~dp0oracle_sw_only.rsp 
Abb. 3: Software-Only-Installationsbefehl
​Parameter ​Bedeutung
silent​ ​unbeaufsichtigte Installation
​ORACLE_HOSTNAME
​Servername
​ORACLE_HOME
​ORACLE_HOME-Verzeichnis
​ORACLE_BASE
​ORACLE_BASE-Verzeichnis
​nowait
​Nach Abschluss wird das CMDFenster der Oracle-Installation automatisch beendet
​force
​Installation in vorhandenes Verzeichnis möglich
​waitforcompletion
​Installer wartet auf die Beendigung der Installation
​responseFile
​Parameterdatei
Abb. 4: Software-Only-Installationsparameter

Datenbankerstellung

Bevor die eigentliche Datenbankerstellung durchgeführt werden kann, muss das Datenbank-Template in das durch die Software-Only-Installation erstellte Verzeichnis für den Database Creation Assistent (DBCA) kopiert werden. Dies geschieht mit dem Befehl aus Abbildung 5.

Nachdem das Template in das korrekte Verzeichnis kopiert wurde, kann anschließend der DBCA im silent- Modus ausgeführt werden (siehe Abbildung 6). Auch hier werden dynamische Parameter über die Batch-Datei an den Befehl setup übergeben. Die Parameter für die Datenbankerzeugung sind in der Tabelle der Abbildung 7 aufgelistet.

start /wait cmd /k "copy %~dp0Global_Template.dbt %home%\
assistants\dbca\templates && exit" 
Abb. 5: Datenbank-Template kopieren
start /wait cmd /k "%home%\BIN\dbca -silent -createDatabase
-templatename %home%\assistants\dbca\templates\Global_Template.
dbt -gdbName %SID% -sid %SID% -Characterset %Chr%
-nationalCharacterSet %NChr% -sysPassword P@ssw0rd -system-
Password P@ssw0rd -SERVICEUSERPASSWORD P@ssw0rd -initparams
db_name="%SID%" -initparams db_unique_name="%DB_UNIQUE%" -initparams
db_recovery_file_dest="E:\oradata\FRA\%SID%" -initparams
db_recovery_file_dest_size=2560M && exit" 
Abb. 6: Datenbank Installation & Konfiguration
​Parameter

​Bedeutung
​silent
Unbeaufsichtigte Installation​
​CreateDatabase
​Datenbankerstellung
​Templatename
​Pfad inkl.Template
​gdbName
​Globaler Datenbankname
​sid
​SID
​Characterset
​Zeichensatz
​nationalCharacterset
​Nationaler Zeichensatz
​sysPassword
​Passwort: sys
​systemPassword
​Passwort: system
​SERVICEUSERPASSWORD
​Passwort: Dienstkonto
​db_name
​Datenbankname
​db_unique_name
​Unique Datenbankname
​db_recovery_file_dest
​Speicherort:
Flash Recovery Area (FRA)
​db_recovery_file_dest_size
​Größer der FRA

Abb. 7: Datenbankerstellungsparameter

Abschluss

Folgende Dateien sind somit für die Installation notwendig und auf der SCCM-Freigabe abzulegen:

  • Oracle-Installationsmedien
  • Batch-Datei für die Installation
  • Response-Datei
  • Datenbank-Template
  • Parameterdatei (Textdatei)
Für die Oracle-Installation mittels SCCM wird zunächst ein SCCM-Paket erstellt, welches alle hier beschriebenen Dateien enthält und als Programm die Batch-Datei ausführt.
Anschließend wird das erstellte Paket auf dem Distribution Point hochgeladen. Wichtig ist vor allem die Parameterdatei, da diese die Ausführung der korrekten Installation auf den unterschiedlichen Servern steuert.
Nun kann das erstellte Paket über eine Device Collection auf die gewünschten Server verteilt und ausgeführt werden. Hierbei sollte sichergestellt sein, dass in der Device Collection die Server enthalten sind, welche in der Parameterdatei aufgeführt sind. Das Erstellen und Verteilen eines SCCM-Paketes kann im ersten Teil dieser Artikelreihe nachgelesen werden [1].

Links

[1] ORDIX® news Artikel – „SCCM Deployment (Teil1): Automatisiertes Verteilen von Software mittels System Center Configuration Manager" https://www.ordix.de/ordix-news-archiv/1-2017.html

[2] Oracle Installationsmedien http://www.oracle.com/technetwork/database/enterprise-edition/downloads/ index.html

0
Totgesagte leben länger?
Open Source Software Ansible - Continous Ansible m...

Related Posts

Unsere Autoren

Technologie Blogs

Tutorials

4 members

Webentwicklung

3 members

Java

3 members

Archiv | Blog-Beiträge

Login