Seiten

Sonntag, 30. Dezember 2012

Es sich als Oracle-DBA auf einem Windowsserver gemütlich machen

Nach einer Standardinstallation der Oracle Datenbankksoftware auf einem Windowsserver sollte man folgende Anpassungen vornehmen, ohne die zwar auch arbeiten kann, das aber nicht sonderlich komfortabel.

Schnellstartleiste

in der Schnellstartleiste sollten sich diese Einträge befinden:
  1. Windows Explorer
  2. Services
  3. Server Manager
  4. Scheduler
Das alles braucht man häufig, wenn man die Oracle-DB auf dem Server administrieren muss.

Desktop

Auf dem Desktop lege ich verschiedene Verknüpfungen an, die ebenfalls häufig benötigt werden, welche in der Schnellstartleiste aber sehr schnell für Chaos sorgen würden.
Die Commandshell benötigt man natürlich oft und das auch noch mit unterschiedlichen Umgebungsvariablen je nachdem, mit welcher Datenbank oder unter welchem ORACLE_HOME man arbeiten möchte.
In einer frischen RAC-Installation hat man es sofort mit 2 ORACLE_HOME-Directories (Grid und DB), sowie 2 Instanzen (ASM und z.B. ORCL) zu tun.
Natürlich "weiß" CMD nicht, welche Umgebung man gerade braucht. Zu allem Überfluss gelten die Standard-Pfade bzw. das ORACLE_HOME der zeitlich zuletzt ausgeführten Oracle-Installation. Auf das Grid_Home hat man also keinen Zugriff ohne die Umgebung immer manuell zu modifizieren.

oraenv?

Unter Linux ist das Dank oraenv-Skript kein Problem. Unter Windows gibt es aus unerfindlichen Gründen kein oranev.
Es gibt eine Reihe von Anleitungen, sich das fehlende oraenv-Skript selbst zu erstellen. Eine entsprechende Lösung findet man nach kurzem googlen.

Command-Shell-Batches - oraenv für Arme

Die in einer RAC-Installation benötigten Aufrufe der CMD oder von SQLPLUS konfiguriert man sich mit einfachen Batchdateien, die auf dem Desktop als Verknüpfung abgelegt werden. In einer "normalen" - also einer Single-Instance-Installation ohne ASM benötigt man nur 2 dieser Batchdateien.
Unter zum Beispiel d:\skripte\oraenvbat\ werden also diese Batchdateien auf den jeweiligen Knoten angelegt:
  • cmd_grid1.bat
  • cmd_RACDB1.bat
  • sys_RACDB1.bat
  • asmcmd1.bat
  • sys_asm1.bat
Natürlich muss man diese dann auf jedem RAC-Knoten anlegen und die "1" durch den korrekten Wert ersetzen.

GRID shell - cmd_grid1.bat

In der cmd_grid1.bat wird die Umgebung für das GRID-Home und die ASM-Instanz gesetzt.
Hier zeigt die ORACLE_SID auf die "+ASM1"-Instanz. Die "1" steht dabei für die Instanz auf Node1 des RAC.
@echo off
SET ORACLE_SID=+ASM1
set SQLPATH=D:\skripte\oraenvbat
SET ORACLE_HOME=D:\oragrid\11.2.0.3
SET PATH=%ORACLE_HOME%\bin;%PATH%
set NLS_LANG=GERMAN_GERMANY.WE8PC850
%comspec%
pause

DB shell - cmd_RACDB1.bat

Die cmd_RACDB1.bat setzt ORACLE_SID der Instanz des RAC-Knotens (RACDB1), ORACLE_UNQNAME und Oracle-Home der Datenbank.
@echo off
SET ORACLE_SID=RACDB1
SET ORACLE_UNQNAME=RACDB
set SQLPATH=D:\skripte\oraenvbat
SET ORACLE_HOME=D:\oracle\product\11.2.0.3\dbhome_1
SET PATH=%ORACLE_HOME%\bin;%PATH%
set NLS_LANG=GERMAN_GERMANY.WE8PC850
%comspec%
pause

sqlplus auf die DB as sysdba - sys_RACDB1.bat

Es ist recht bequem, sich per Doppelklick auf die sys_RACDB1.bat als SYSDBA mit der DB  zu connecten. Und noch besser: hiermit kommt man auch noch auf Instanz des jeweiligen RAC-Knotens. (RACDB1)
@echo off
SET ORACLE_SID=RACDB1
set SQLPATH=D:\skripte\oraenvbat
SET ORACLE_HOME=D:\oracle\product\11.2.0.3\dbhome_1
SET PATH=%ORACLE_HOME%\bin;%PATH%
set NLS_LANG=GERMAN_GERMANY.WE8PC850
%ORACLE_HOME%\bin\sqlplus / as sysdba
pause

ASMCMD - asmcmd1.bat

Mit dieser Batchdatei startet man gleich ASMCMD.
@echo off
SET ORACLE_SID=+ASM1
set SQLPATH=D:\skripte\oraenvbat
SET ORACLE_HOME=D:\oragrid\11.2.0.3
SET PATH=%ORACLE_HOME%\bin;%PATH%
set NLS_LANG=GERMAN_GERMANY.WE8PC850
%ORACLE_HOME%\bin\asmcmd -p
pause

sqlplus auf die ASM as sysdba - sys_asm1.bat

Was man an Bequemlichkeit mit der sys_RACDB1.bat gewinnt, möchte man natürlich auch im Fall eines ASM-Connect haben.
@echo off
SET ORACLE_SID=+ASM1
set SQLPATH=D:\skripte\oraenvbat
SET ORACLE_HOME=D:\oragrid\11.2.0.3
SET PATH=%ORACLE_HOME%\bin;%PATH%
set NLS_LANG=GERMAN_GERMANY.WE8PC850
%ORACLE_HOME%\bin\sqlplus / as sysasm
pause
Mit diesen Batchdateien kommt man auf einem Windowssystem dann auch ohne oraenv gut über die Runden.

Keine Kommentare:

Kommentar veröffentlichen