Adauga FAZA1.cmd/FAZA2.cmd, care despart migrarea in partea care se poate face in timpul programului (contafin, obiecte SYS, sinonime, licente, IIS) si partea de seara (schemele de firma). Scripturi noi: 09 pentru licentele din SYS.AUTH_SERII/AUTH_DETALII, 10 pentru publicarea D:\ROAUPDATE in IIS, 11 pentru exportul zilnic cu backupora.exe, drop-contafin pentru reimport. backupora.exe si sabloanele sale intra in repo ca sa fie kitul autonom. Pasul 07 primeste verificarile corespunzatoare pentru licente, IIS si task. Nerulat inca pe o baza reala - vezi docs/handoff_instalare-doua-faze.md. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SzF1hf4aFS1tmJWpPMiwGp
328 lines
13 KiB
Batchfile
328 lines
13 KiB
Batchfile
@echo off
|
|
REM =============================================================================
|
|
REM ROA Oracle - FAZA 1: tot ce se poate face IN TIMPUL PROGRAMULUI
|
|
REM =============================================================================
|
|
REM Instaleaza si configureaza sistemul ROA complet, fara schemele de firma.
|
|
REM Utilizatorii lucreaza mai departe pe serverul vechi cat ruleaza asta.
|
|
REM
|
|
REM Ce intra in faza 1:
|
|
REM - baza, tablespace, user CONTAFIN_ORACLE, profil (01)
|
|
REM - obiectele SYS: AUTH_PACK, NEWSCHEMA, INFO... (02)
|
|
REM - CONTAFIN_ORACLE: al clientului daca e in DMPDIR, (03)
|
|
REM altfel sablonul din kit
|
|
REM - sinonime publice, granturi, sys-grants (04)
|
|
REM - licentele de pe serverul vechi (09, optional)
|
|
REM - directoare ROAUPDATE, SERVER_INFO, joburi, SMTP (08)
|
|
REM - oglinda de update publicata in IIS (10)
|
|
REM - exportul zilnic in D:\ROA\EXPORT_ORADMP (11)
|
|
REM - verificare (07)
|
|
REM
|
|
REM Ce NU intra: schemele de firma. Alea vin in FAZA2.cmd, dupa program.
|
|
REM
|
|
REM De ce merge asa: pe CONTAFIN_ORACLE nu se lucreaza activ, deci el poate
|
|
REM fi exportat de pe serverul vechi inca din timpul programului. Doar
|
|
REM firmele se schimba sub picioare.
|
|
REM
|
|
REM Utilizare:
|
|
REM FAZA1.cmd <IdClient> [optiuni]
|
|
REM
|
|
REM Optiuni:
|
|
REM /smtp:<server> server SMTP (implicit mail.romfast.ro)
|
|
REM /vechi:<gazda> serverul vechi, pentru licente
|
|
REM /serviciuvechi:<nume> serviciul de pe serverul vechi (implicit XE)
|
|
REM /parolavechi:<parola> parola SYS de pe serverul vechi
|
|
REM /licente:<fisier.sql> licente dintr-un fisier, in loc de retea
|
|
REM /roaupdate:<cale> radacina oglinzii (implicit D:\ROAUPDATE)
|
|
REM /export:<cale> director export (implicit D:\ROA\EXPORT_ORADMP)
|
|
REM /faralicente sari peste pasul 09
|
|
REM /faraiis sari peste pasul 10
|
|
REM /farabackup sari peste pasul 11
|
|
REM
|
|
REM Exemple:
|
|
REM FAZA1.cmd 138
|
|
REM FAZA1.cmd 138 /vechi:10.0.0.5 /parolavechi:oracle /serviciuvechi:XE
|
|
REM FAZA1.cmd 214 /licente:C:\kit\licente.sql /faraiis
|
|
REM =============================================================================
|
|
|
|
setlocal enabledelayedexpansion
|
|
|
|
set "KIT=%~dp0"
|
|
set "IDCLIENT=%~1"
|
|
set "DMPDEST=C:\DMPDIR"
|
|
|
|
REM Valori implicite
|
|
set "SMTP=mail.romfast.ro"
|
|
set "VECHI="
|
|
set "SERVICIUVECHI=XE"
|
|
set "PAROLAVECHI="
|
|
set "LICENTEFIS="
|
|
set "ROAUPDATE=D:\ROAUPDATE"
|
|
set "EXPORTDIR=D:\ROA\EXPORT_ORADMP"
|
|
set "FARALICENTE=0"
|
|
set "FARAIIS=0"
|
|
set "FARABACKUP=0"
|
|
|
|
if "%IDCLIENT%"=="" goto :utilizare
|
|
if /i "%IDCLIENT%"=="/?" goto :utilizare
|
|
|
|
REM ---------------------------------------------------------------------------
|
|
REM Parsarea optiunilor
|
|
REM ---------------------------------------------------------------------------
|
|
shift
|
|
:parsare
|
|
if "%~1"=="" goto :parsare_gata
|
|
set "ARG=%~1"
|
|
|
|
if /i "!ARG!"=="/faralicente" ( set "FARALICENTE=1" & shift & goto :parsare )
|
|
if /i "!ARG!"=="/faraiis" ( set "FARAIIS=1" & shift & goto :parsare )
|
|
if /i "!ARG!"=="/farabackup" ( set "FARABACKUP=1" & shift & goto :parsare )
|
|
|
|
for /f "tokens=1,* delims=:" %%A in ("!ARG!") do (
|
|
set "OPT=%%A"
|
|
set "VAL=%%B"
|
|
)
|
|
|
|
if /i "!OPT!"=="/smtp" set "SMTP=!VAL!"
|
|
if /i "!OPT!"=="/vechi" set "VECHI=!VAL!"
|
|
if /i "!OPT!"=="/serviciuvechi" set "SERVICIUVECHI=!VAL!"
|
|
if /i "!OPT!"=="/parolavechi" set "PAROLAVECHI=!VAL!"
|
|
if /i "!OPT!"=="/licente" set "LICENTEFIS=!VAL!"
|
|
if /i "!OPT!"=="/roaupdate" set "ROAUPDATE=!VAL!"
|
|
if /i "!OPT!"=="/export" set "EXPORTDIR=!VAL!"
|
|
|
|
shift
|
|
goto :parsare
|
|
:parsare_gata
|
|
|
|
echo.
|
|
echo ============================================================
|
|
echo ROA Oracle - FAZA 1 (in timpul programului)
|
|
echo ============================================================
|
|
echo.
|
|
echo Kit: %KIT%
|
|
echo Id client: %IDCLIENT%
|
|
echo SMTP: %SMTP%
|
|
echo ROAUPDATE: %ROAUPDATE%
|
|
echo Export: %EXPORTDIR%
|
|
if not "%VECHI%"=="" echo Server vechi: %VECHI% / %SERVICIUVECHI%
|
|
if not "%LICENTEFIS%"=="" echo Licente din: %LICENTEFIS%
|
|
echo.
|
|
|
|
REM ---------------------------------------------------------------------------
|
|
REM [1/9] DMPDIR
|
|
REM ---------------------------------------------------------------------------
|
|
if not exist "%KIT%DMPDIR\FIRMANOUA.dmp" (
|
|
echo [EROARE] Lipseste "%KIT%DMPDIR\FIRMANOUA.dmp".
|
|
echo Fara sablonul de firma noua, clientul nu va putea adauga firme.
|
|
exit /b 1
|
|
)
|
|
|
|
dir /b "%KIT%DMPDIR\*contafin*.dmp" >nul 2>&1
|
|
if errorlevel 1 (
|
|
echo [EROARE] Lipseste un fisier *contafin*.dmp din "%KIT%DMPDIR".
|
|
exit /b 1
|
|
)
|
|
|
|
if not exist "%DMPDEST%" mkdir "%DMPDEST%"
|
|
echo [1/9] Copiez DMP-urile in %DMPDEST% ...
|
|
copy /Y "%KIT%DMPDIR\*.dmp" "%DMPDEST%\" >nul
|
|
if errorlevel 1 (
|
|
echo [EROARE] Copierea DMP-urilor a esuat.
|
|
exit /b 1
|
|
)
|
|
REM Serviciul Oracle citeste fisierele cu contul lui, nu cu al tau.
|
|
icacls "%DMPDEST%" /grant "NT SERVICE\OracleServiceXE:(OI)(CI)F" /T >nul 2>&1
|
|
echo Gata.
|
|
|
|
REM ---------------------------------------------------------------------------
|
|
REM [2/9] 01 - baza si userul
|
|
REM ---------------------------------------------------------------------------
|
|
echo.
|
|
echo [2/9] 01-setup-database.ps1
|
|
powershell.exe -ExecutionPolicy Bypass -NoProfile -File "%KIT%scripts\01-setup-database.ps1"
|
|
if errorlevel 1 goto :esec_01
|
|
|
|
REM ---------------------------------------------------------------------------
|
|
REM [3/9] 02 - obiectele SYS
|
|
REM ---------------------------------------------------------------------------
|
|
echo.
|
|
echo [3/9] 02-create-sys-objects.ps1
|
|
powershell.exe -ExecutionPolicy Bypass -NoProfile -File "%KIT%scripts\02-create-sys-objects.ps1"
|
|
if errorlevel 1 goto :esec_02
|
|
|
|
REM ---------------------------------------------------------------------------
|
|
REM [4/9] 03 - CONTAFIN_ORACLE
|
|
REM ---------------------------------------------------------------------------
|
|
echo.
|
|
echo [4/9] 03-import-contafin.ps1
|
|
powershell.exe -ExecutionPolicy Bypass -NoProfile -File "%KIT%scripts\03-import-contafin.ps1"
|
|
set RC=!ERRORLEVEL!
|
|
REM Codul 5 e normal: Data Pump raporteaza "completed with errors" pentru
|
|
REM ORA-31684 (userul e creat deja de pasul 01) si ORA-39082 (warning-uri de
|
|
REM compilare, rezolvate la pasul 04). Orice alt cod nenul e esec real.
|
|
if "!RC!"=="0" goto :pas_04
|
|
if "!RC!"=="5" (
|
|
echo [INFO] Cod de iesire 5 - normal pentru Data Pump, se continua.
|
|
goto :pas_04
|
|
)
|
|
echo [EROARE] 03-import-contafin.ps1 a iesit cu codul !RC!.
|
|
exit /b !RC!
|
|
|
|
:pas_04
|
|
REM ---------------------------------------------------------------------------
|
|
REM [5/9] 04 - sinonime si granturi
|
|
REM ---------------------------------------------------------------------------
|
|
echo.
|
|
echo [5/9] 04-create-synonyms-grants.ps1
|
|
powershell.exe -ExecutionPolicy Bypass -NoProfile -File "%KIT%scripts\04-create-synonyms-grants.ps1"
|
|
if errorlevel 1 goto :esec_04
|
|
|
|
REM ---------------------------------------------------------------------------
|
|
REM [6/9] 09 - licentele de pe serverul vechi
|
|
REM ---------------------------------------------------------------------------
|
|
echo.
|
|
if "%FARALICENTE%"=="1" (
|
|
echo [6/9] 09-copy-licenses.ps1 - sarit ^(/faralicente^)
|
|
goto :pas_08
|
|
)
|
|
if not "%LICENTEFIS%"=="" (
|
|
echo [6/9] 09-copy-licenses.ps1 ^(din fisier^)
|
|
powershell.exe -ExecutionPolicy Bypass -NoProfile -File "%KIT%scripts\09-copy-licenses.ps1" -FromFile "%LICENTEFIS%" -Replace
|
|
if errorlevel 1 goto :avert_09
|
|
goto :pas_08
|
|
)
|
|
if not "%VECHI%"=="" (
|
|
if "%PAROLAVECHI%"=="" (
|
|
echo [6/9] 09-copy-licenses.ps1 - sarit: ai dat /vechi dar nu si /parolavechi.
|
|
goto :pas_08
|
|
)
|
|
echo [6/9] 09-copy-licenses.ps1 ^(prin retea de la %VECHI%^)
|
|
powershell.exe -ExecutionPolicy Bypass -NoProfile -File "%KIT%scripts\09-copy-licenses.ps1" -OldHost "%VECHI%" -OldService "%SERVICIUVECHI%" -OldSysPassword "%PAROLAVECHI%" -Replace
|
|
if errorlevel 1 goto :avert_09
|
|
goto :pas_08
|
|
)
|
|
echo [6/9] 09-copy-licenses.ps1 - sarit: nu ai dat nici /vechi, nici /licente.
|
|
echo ATENTIE: la o migrare, fara pasul asta clientul ramane fara licente.
|
|
goto :pas_08
|
|
|
|
:avert_09
|
|
echo.
|
|
echo [ATENTIE] Copierea licentelor a esuat. Instalarea CONTINUA - restul
|
|
echo pasilor nu depind de ea - dar clientul nu va avea licente
|
|
echo pana nu reiei:
|
|
echo Run.cmd 09-copy-licenses.ps1 -FromFile ^<fisier^> -Replace
|
|
echo.
|
|
|
|
:pas_08
|
|
REM ---------------------------------------------------------------------------
|
|
REM [7/9] 08 - configurare post-instalare
|
|
REM ---------------------------------------------------------------------------
|
|
echo.
|
|
echo [7/9] 08-post-install-config.ps1
|
|
powershell.exe -ExecutionPolicy Bypass -NoProfile -File "%KIT%scripts\08-post-install-config.ps1" -CustomerId "%IDCLIENT%" -EmailSmtp "%SMTP%" -RoaUpdatePath "%ROAUPDATE%"
|
|
if errorlevel 1 goto :esec_08
|
|
|
|
REM ---------------------------------------------------------------------------
|
|
REM [8/9] 10 si 11 - IIS si exportul zilnic
|
|
REM ---------------------------------------------------------------------------
|
|
echo.
|
|
if "%FARAIIS%"=="1" (
|
|
echo [8/9] 10-setup-roaupdate-iis.ps1 - sarit ^(/faraiis^)
|
|
) else (
|
|
echo [8/9] 10-setup-roaupdate-iis.ps1
|
|
powershell.exe -ExecutionPolicy Bypass -NoProfile -File "%KIT%scripts\10-setup-roaupdate-iis.ps1" -RoaUpdatePath "%ROAUPDATE%"
|
|
if errorlevel 1 (
|
|
echo [ATENTIE] Publicarea in IIS a esuat. Instalarea continua.
|
|
echo Statiile nu vor lua actualizari pana nu reiei pasul 10.
|
|
)
|
|
)
|
|
|
|
echo.
|
|
if "%FARABACKUP%"=="1" (
|
|
echo 11-setup-backup-export.ps1 - sarit ^(/farabackup^)
|
|
) else (
|
|
echo 11-setup-backup-export.ps1
|
|
powershell.exe -ExecutionPolicy Bypass -NoProfile -File "%KIT%scripts\11-setup-backup-export.ps1" -ExportPath "%EXPORTDIR%"
|
|
if errorlevel 1 (
|
|
echo [ATENTIE] Configurarea exportului zilnic a esuat. Instalarea continua.
|
|
echo Reia cu: Run.cmd 11-setup-backup-export.ps1
|
|
)
|
|
)
|
|
|
|
REM ---------------------------------------------------------------------------
|
|
REM [9/9] 07 - verificare
|
|
REM ---------------------------------------------------------------------------
|
|
echo.
|
|
echo [9/9] 07-verify-installation.ps1
|
|
powershell.exe -ExecutionPolicy Bypass -NoProfile -File "%KIT%scripts\07-verify-installation.ps1"
|
|
set RCVERIF=!ERRORLEVEL!
|
|
|
|
echo.
|
|
echo ============================================================
|
|
if "!RCVERIF!"=="0" (
|
|
echo FAZA 1 COMPLETA - verificarea a trecut integral.
|
|
) else (
|
|
echo FAZA 1 TERMINATA, CU OBSERVATII.
|
|
echo.
|
|
echo "N company schemas are missing" e NORMAL la faza 1: firmele
|
|
echo se importa abia in faza 2. Orice altceva citeste cu atentie.
|
|
)
|
|
echo ============================================================
|
|
echo.
|
|
echo PANA LA FAZA 2:
|
|
echo - utilizatorii lucreaza mai departe pe serverul VECHI;
|
|
echo - nu porni joburile de actualizare pe serverul nou;
|
|
echo - daca in intervalul asta se adauga o firma noua pe serverul vechi,
|
|
echo spune-i lui FAZA2.cmd sa reimporte si CONTAFIN_ORACLE
|
|
echo ^(/reimportcontafin^), altfel NOM_FIRME ramane in urma.
|
|
echo.
|
|
echo FAZA 2, dupa ce utilizatorii termina:
|
|
echo 1. exporta schemele de firma de pe serverul vechi;
|
|
echo 2. pune DMP-urile in %DMPDEST%;
|
|
echo 3. FAZA2.cmd %IDCLIENT%
|
|
echo.
|
|
|
|
endlocal & exit /b %RCVERIF%
|
|
|
|
REM ---------------------------------------------------------------------------
|
|
:esec_01
|
|
echo [EROARE] 01-setup-database.ps1 a esuat. Faza 1 se opreste.
|
|
exit /b 1
|
|
:esec_02
|
|
echo [EROARE] 02-create-sys-objects.ps1 a esuat. Faza 1 se opreste.
|
|
exit /b 1
|
|
:esec_04
|
|
echo [EROARE] 04-create-synonyms-grants.ps1 a esuat. Faza 1 se opreste.
|
|
exit /b 1
|
|
:esec_08
|
|
echo [EROARE] 08-post-install-config.ps1 a esuat. Faza 1 se opreste.
|
|
exit /b 1
|
|
|
|
:utilizare
|
|
echo.
|
|
echo Utilizare:
|
|
echo FAZA1.cmd ^<IdClient^> [optiuni]
|
|
echo.
|
|
echo Optiuni:
|
|
echo /smtp:^<server^> server SMTP ^(implicit mail.romfast.ro^)
|
|
echo /vechi:^<gazda^> serverul vechi, pentru licente
|
|
echo /serviciuvechi:^<nume^> serviciul de pe serverul vechi ^(implicit XE^)
|
|
echo /parolavechi:^<parola^> parola SYS de pe serverul vechi
|
|
echo /licente:^<fisier.sql^> licente dintr-un fisier, in loc de retea
|
|
echo /roaupdate:^<cale^> radacina oglinzii ^(implicit D:\ROAUPDATE^)
|
|
echo /export:^<cale^> director export ^(implicit D:\ROA\EXPORT_ORADMP^)
|
|
echo /faralicente sari peste pasul 09
|
|
echo /faraiis sari peste pasul 10
|
|
echo /farabackup sari peste pasul 11
|
|
echo.
|
|
echo Exemple:
|
|
echo FAZA1.cmd 138
|
|
echo FAZA1.cmd 138 /vechi:10.0.0.5 /parolavechi:oracle /serviciuvechi:XE
|
|
echo FAZA1.cmd 214 /licente:C:\kit\licente.sql /faraiis
|
|
echo.
|
|
echo In DMPDIR trebuie sa fie:
|
|
echo - FIRMANOUA.dmp ^(sablon, mereu^)
|
|
echo - *contafin*.dmp ^(al clientului la migrare, sablonul la client nou^)
|
|
echo.
|
|
exit /b 2
|