Rücksicherung der Praxisdaten auf dem Heimrechner

Auch unter MEDISTAR-SQL (Oracle-Version) ist es möglich die Praxisdaten auf einem anderen Rechner zu importieren. Ich lasse mir in der Praxis den Inhalt des Ordners „…\MEDISTAR\Sicherung“ mit Hilfe von RobocopyMonitor automatisch auf ein USB-Stick sichern.
Der Import in die MEDISTAR-SQL-Installation auf dem Heimrechner gelingt bequem mit der folgenden Batch-Datei. Die Oracle- und MEDISTAR-Dienste müssen während des Imports bereits laufen!

MSRestore.cmd
@echo off & setlocal
color 1f
title Wiederherstellung der MEDISTAR-SQL-Sicherung
set DumpFile=ORACLE_EXP.DMP
set DumpFolder=G:\Sicherung
set MediStar=D:\MEDISTAR

rem DumpFolder 16 = Desktop, 17 = Arbeitsplatz, 18 = Netzwerkumgebung
echo DumpFolder = „%DumpFolder%“ > %~n0.vbs
echo If not CreateObject(„Scripting.FileSystemObject“).FolderExists(DumpFolder) Then >> %~n0.vbs
echo DumpFolder = 17 >> %~n0.vbs
echo End if >> %~n0.vbs
echo DumpFile = „%DumpFile%“ >> %~n0.vbs
echo Text = „Bitte wählen Sie den Ordner aus, der die zu importierende Datei „“ ^& DumpFile ^& „“ enthält.“ >> %~n0.vbs
echo Set objFolder = CreateObject(„Shell.Application“).BrowseForFolder(0,Text,“&H200″,DumpFolder) >> %~n0.vbs
echo If not objFolder is nothing then >> %~n0.vbs
echo WScript.Echo objFolder.Self.Path >> %~n0.vbs
echo End if >> %~n0.vbs
set DumpFolder=
for /f „delims=“ %%i in (‚cscript.exe %~n0.vbs //nologo‘) do set „DumpFolder=%%i“
if exist %DumpFolder%\%DumpFile% goto WARNING
echo MsgBox „%DumpFile% wurde nicht gefunden!“ ^& vbCrLf ^& _ > %~n0.vbs
echo „Der Vorgang wird abgebrochen.“, vbExclamation , „%~n0“ >> %~n0.vbs
cscript.exe %~n0.vbs //nologo
goto QUIT

:WARNING
echo WScript.Echo MsgBox („ACHTUNG!“ ^& vbCrLf ^& _ > %~n0.vbs
echo „Beim Restore werden die vorhandenen Daten gelöscht.“ ^& vbCrLf ^& vbCrLf ^& _ >> %~n0.vbs
echo „Möchten Sie den Vorgang fortsetzen?“, vbQuestion + vbYesNo, „%~n0“) >> %~n0.vbs
for /f „delims=“ %%i in (‚cscript.exe %~n0.vbs //nologo‘) do set „Answer=%%i“
if „%Answer%“==“6“ goto RESTORE
goto QUIT

:RESTORE
rem Zunächst werden die ISAM-Datenbanken ins MS-Verzeichnis kopiert.
xcopy „%DumpFolder%\hdaten“ „%MediStar%\hdaten“ /d /e /y /f /s
xcopy „%DumpFolder%\med“ „%MediStar%\med“ /d /e /y /f /s
xcopy „%DumpFolder%\para“ „%MediStar%\para“ /d /e /y /f /s
xcopy „%DumpFolder%\pdaten“ „%MediStar%\pdaten“ /d /e /y /f /s
xcopy „%DumpFolder%\praxis“ „%MediStar%\praxis“ /d /e /y /f /s
xcopy „%DumpFolder%\stat“ „%MediStar%\stat“ /d /e /y /f /s
xcopy „%DumpFolder%\inst“ „%MediStar%\inst“ /d /e /y /f /s

cls
rem Wenn der User gedroppt wurde, sind alle Daten aus der DB geloescht.
echo drop user msuser cascade; > %~n0.sql
echo commit; >> %~n0.sql
echo exit >> %~n0.sql
sqlplus sys/Passwort as sysdba @%~n0.sql

echo CREATE or REPLACE DIRECTORY imp_dir AS ‚%DumpFolder%‘; > %~n0.sql
echo exit >> %~n0.sql
sqlplus sys/Passwort as sysdba @%~n0.sql
impdp system/Passwort directory=imp_dir dumpfile=%DumpFile% full=yes logfile=imp_medistar.log

rem Es erfolgen finale Anpassungen, danach wird die DB neugestartet.
echo alter system set processes=930 scope=spfile; > %~n0.sql
echo alter system set sessions=1028 scope=spfile; >> %~n0.sql
echo alter system set transactions=1030 scope=spfile; >> %~n0.sql
echo shutdown immediate >> %~n0.sql
echo startup >> %~n0.sql
echo exit >> %~n0.sql
sqlplus sys/Passwort as sysdba @%~n0.sql
echo. & echo %DumpFolder%\imp_medistar.log wird gestartet.
start /b %DumpFolder%\imp_medistar.log
del %~n0.sql & echo. & pause

:QUIT
del %~n0.vbs

Das Passwort für den Benutzer sys müssen Sie in dem Skript passend ersetzen.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.