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
87 lines
3.9 KiB
SQL
87 lines
3.9 KiB
SQL
-- ============================================================================
|
|
-- EXPORT LICENTE ROA (SYS.AUTH_SERII + SYS.AUTH_DETALII)
|
|
-- ============================================================================
|
|
-- Se ruleaza pe serverul VECHI, ca SYSDBA. Nu modifica nimic - doar citeste.
|
|
--
|
|
-- Scoate pe stdout un script SQL cu INSERT-urile echivalente, gata de rulat
|
|
-- pe serverul NOU. SERIE e RAW(128), deci se transporta ca HEXTORAW().
|
|
--
|
|
-- Doua moduri de folosire:
|
|
--
|
|
-- a) automat - 09-copy-licenses.ps1 se conecteaza la serverul vechi si
|
|
-- captureaza singur iesirea;
|
|
--
|
|
-- b) manual, cand serverul vechi nu e accesibil din cel nou:
|
|
-- sqlplus -S "sys/PAROLA@GAZDA:1521/SERVICIU as sysdba" @export-licente.sql > licente.sql
|
|
-- apoi duci licente.sql la client si rulezi:
|
|
-- .\09-copy-licenses.ps1 -FromFile licente.sql
|
|
--
|
|
-- ATENTIE: iesirea nu trebuie sa contina nimic altceva decat SQL. De aceea
|
|
-- toate PROMPT-urile lipsesc si totul e SET ... OFF.
|
|
-- ============================================================================
|
|
|
|
SET PAGESIZE 0
|
|
SET FEEDBACK OFF
|
|
SET VERIFY OFF
|
|
SET HEADING OFF
|
|
SET ECHO OFF
|
|
SET TERMOUT ON
|
|
SET TRIMSPOOL ON
|
|
SET TRIMOUT ON
|
|
SET LINESIZE 32767
|
|
SET LONG 1000000
|
|
SET LONGCHUNKSIZE 1000000
|
|
SET SERVEROUTPUT OFF
|
|
WHENEVER SQLERROR EXIT FAILURE
|
|
|
|
-- Antet: marcaj de validare citit de 09-copy-licenses.ps1.
|
|
SELECT '-- ROA-LICENTE-EXPORT v1' FROM dual;
|
|
SELECT '-- sursa: ' || SYS_CONTEXT('USERENV','DB_NAME') ||
|
|
' / ' || SYS_CONTEXT('USERENV','SERVER_HOST') ||
|
|
' la ' || TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM dual;
|
|
|
|
-- ---------------------------------------------------------------------------
|
|
-- AUTH_DETALII (Customer ID). Are o singura coloana, VARCHAR2(15).
|
|
-- ---------------------------------------------------------------------------
|
|
SELECT '-- AUTH_DETALII: ' || COUNT(*) || ' inregistrari' FROM sys.auth_detalii;
|
|
|
|
SELECT 'INSERT INTO SYS.AUTH_DETALII (DETALII) VALUES (''' ||
|
|
REPLACE(detalii, '''', '''''') || ''');'
|
|
FROM sys.auth_detalii;
|
|
|
|
-- ---------------------------------------------------------------------------
|
|
-- AUTH_SERII (seriile de licenta propriu-zise).
|
|
-- SERIE e RAW(128) -> RAWTOHEX la export, HEXTORAW la import.
|
|
-- ---------------------------------------------------------------------------
|
|
SELECT '-- AUTH_SERII: ' || COUNT(*) || ' inregistrari' FROM sys.auth_serii;
|
|
|
|
SELECT 'INSERT INTO SYS.AUTH_SERII (ID_SERIE,ID_PROGRAM,SERIE,STERS,DATAORA,ID_UTIL,DATAORAS,ID_UTILS) VALUES (' ||
|
|
TO_CHAR(id_serie) || ',' ||
|
|
TO_CHAR(id_program) || ',' ||
|
|
'HEXTORAW(''' || RAWTOHEX(serie) || ''')' || ',' ||
|
|
TO_CHAR(sters) || ',' ||
|
|
'TO_DATE(''' || TO_CHAR(dataora,'YYYY-MM-DD HH24:MI:SS') ||
|
|
''',''YYYY-MM-DD HH24:MI:SS'')' || ',' ||
|
|
TO_CHAR(id_util) || ',' ||
|
|
CASE WHEN dataoras IS NULL THEN 'NULL'
|
|
ELSE 'TO_DATE(''' || TO_CHAR(dataoras,'YYYY-MM-DD HH24:MI:SS') ||
|
|
''',''YYYY-MM-DD HH24:MI:SS'')' END || ',' ||
|
|
NVL(TO_CHAR(id_utils), 'NULL') || ');'
|
|
FROM sys.auth_serii
|
|
ORDER BY id_serie;
|
|
|
|
-- ---------------------------------------------------------------------------
|
|
-- Secventa: pe serverul nou trebuie sa continue de unde a ramas cea veche,
|
|
-- altfel prima licenta adaugata ulterior calca peste un ID_SERIE existent.
|
|
-- ---------------------------------------------------------------------------
|
|
SELECT '-- SEQ_AUTH_SERII trebuie sa porneasca de la ' ||
|
|
TO_CHAR(NVL(MAX(id_serie),0) + 1) FROM sys.auth_serii;
|
|
|
|
SELECT '-- ROA-LICENTE-NEXTVAL=' || TO_CHAR(NVL(MAX(id_serie),0) + 1)
|
|
FROM sys.auth_serii;
|
|
|
|
SELECT 'COMMIT;' FROM dual;
|
|
SELECT '-- ROA-LICENTE-SFARSIT' FROM dual;
|
|
|
|
EXIT
|