10. August 2011
Wenn der Computer, auf dem die Oracle-Datenbank läuft, heruntergefahren wird, besteht die Gefahr, dass die Oracle-Datenbank nicht sauber geschlossen werden kann, weil Windows vor dem Herunterfahren geöffneten Programmen nur wenig Zeit zum Schließen gibt.
Am besten wird die Datenbank vor dem Shutdown sauber heruntergefahren – das beschleunigt den späteren Neustart!
Mit Hilfe eines Powershell-Skripts lässt sich der Vorgang automatisieren.
| MSReboot.ps1 |
# Skript ggfs. mit Administratorrechten neustarten
$identity = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$princ = New-Object System.Security.Principal.WindowsPrincipal($identity)
if(!$princ.IsInRole(
[System.Security.Principal.WindowsBuiltInRole]::Administrator))
{
$ps = [System.Diagnostics.Process]::GetCurrentProcess()
$psi = New-Object System.Diagnostics.ProcessStartInfo $ps.Path
$script = $MyInvocation.MyCommand.Path
$prm = $script
foreach($a in $args) {$prm += ' ' + $a}
$psi.Arguments = $prm
$psi.Verb = "runas"
[System.Diagnostics.Process]::Start($psi) | Out-Null
return;
}
# Oracle-Datenbank herunterfahren
$Password = "MeinPWD" # PASSWORT BITTE ANPASSEN
$SqlFile = "${env:temp}\Temp.sql" # Datei für SQL-Anweisungen
"shutdown normal;", "exit;" -join "`n" | Set-Content $SqlFile
sqlplus sys/$Password as sysdba '@'$SqlFile
Remove-Item -Path $SqlFile # Datei löschen
# MEDISTAR-Dienste beenden
Stop-Service "MEDISTAR ISAM"
Stop-Service "MEDISTAR RPCI"
Stop-Service OracleDBConsolemedistar
Stop-Service OracleMTSRecoveryService
Stop-Service OracleOraDb11g_home1TNSListener
Stop-Service OracleServiceMEDISTAR
# Computer neustarten
Restart-Computer |
Wenn das Skript nicht startet, müssen Sie die Ausführungsrichtlinien anpassen.
Kommentare