Trei probleme gasite pregatind migrarea unui client de pe Oracle XE 11 pe XE 21c. 1. sys-grants.sql nu era rulat de niciun script PowerShell. Era referit doar din run-all-sys.sql, care se lanseaza manual. Pe orice instalare facuta cu RunAll.cmd lipseau sinonimele SYS (SYN_NEWSCHEMA, SYN_NEWSCHEMAJOB, EXECUTESCRIPTOS, SYN_PINFO), DMPDIR si granturile pe DBMS_SCHEDULER / UTL_* / DBMS_CRYPTO catre CONTAFIN_ORACLE. Legat ca STEP 3 in 04-create-synonyms-grants, dupa import - unde propriul header al fisierului spune ca trebuie rulat. 2. Granturile de dictionar cerute de PACK_DIAG_SPATIU lipseau complet. Consolidez sys_2026_08_03_05, sys_2026_08_03_07 si sys_2026_08_06_07 in sectiunea [5/5] din sys-grants.sql: SELECT direct pe 18 vederi dba_*/v$*, idempotent, cu ORA-00942 tratat pentru vederile absente pe alte editii/versiuni. Grantul prin rolul DBA nu ajunge - rolurile nu se aplica in pachetele cu drepturi de definitor, iar PACK_DIAG_SPATIU e exact asa; fara ele ramane INVALID si DIAGSPATIU_ZILNIC nu ruleaza. 3. Capcana la migrari: tabela de versiuni a lui PACK_MIGRARE traieste in CONTAFIN_ORACLE si vine cu DMP-ul, deci baza noua raporteaza scripturile sys_* drept aplicate si ROAACTUALIZARI le sare, desi in SYS nu exista nimic. De aceea obiectele si granturile SYS se pun la instalare, nu prin actualizator. Documentat in sys-updates/README.md si in ghidul nou. 07-verify-installation raporteaza nominal care dintre cele 18 granturi lipsesc. Documentatie: docs/instalare-si-migrare-oracle.md - arbore de decizie intre roa-windows-setup/ (client pe Windows), migration/ (Oracle in Docker pe LXC 108) si new-roa-oracle-server/ (arhiva). Include de ce migration/ nu se foloseste la un client Windows: creeaza PDB ROA cu OraclePass123, sinonime minimale, fara SERVER_INFO / ROAUPDATE / ACL / sqlnet.ora, iar sys_objects.sql de acolo creeaza INFO in SYSTEM - cauza cunoscuta a ORA-01653 la actualizare. Plus comenzile de export din XE 11 / 10g si plafonul XE de 12 GB. Corectat pe drum: dual-edition-test-plan si issues-se-prod indicau clonarea VM 302 -> 303 pentru testul SE, dar 303 e ocupat de Win11-Adina. Mutat pe 304. NETESTAT pe baza reala - VM 302 e oprit. Scripturile trec doar parse-check PowerShell. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SzF1hf4aFS1tmJWpPMiwGp
73 lines
2.6 KiB
Markdown
73 lines
2.6 KiB
Markdown
# SYS Updates Folder
|
|
|
|
This folder is for **future patches and updates only**, not for initial setup.
|
|
|
|
## Important Note
|
|
|
|
The initial SYS objects (AUTH_PACK, NEWSCHEMA, EXECUTESCRIPTOS, etc.) are already
|
|
consolidated in `../sys-objects.sql`. You do NOT need to copy the old individual
|
|
scripts (`sys_2006_*.sql` through `sys_2026_*.sql`) here.
|
|
|
|
**Initial setup order:**
|
|
1. `sys-objects.sql` - Creates all SYS objects (tables, packages, procedures, views)
|
|
— rulat de `scripts/02-create-sys-objects.ps1`
|
|
2. Import `CONTAFIN_ORACLE.dmp` - Application schema
|
|
— rulat de `scripts/03-import-contafin.ps1`
|
|
3. `sys-grants.sql` - Grants, public synonyms, DMPDIR și granturile de dicționar cerute de
|
|
`PACK_DIAG_SPATIU` (secțiunea `[5/5]`, consolidând `sys_2026_08_03_05`,
|
|
`sys_2026_08_03_07` și `sys_2026_08_06_07`)
|
|
— rulat de `scripts/04-create-synonyms-grants.ps1`, după import
|
|
4. `sys-updates/*.sql` - (Optional) Post-install patches
|
|
|
|
> **Atenție la migrări.** Tabela de versiuni a lui `PACK_MIGRARE` trăiește în
|
|
> `CONTAFIN_ORACLE` și vine cu DMP-ul, deci pe baza nouă `ROAACTUALIZARI` va considera
|
|
> scripturile `sys_*` deja aplicate și le va sări — deși în `SYS` nu există nimic. Orice
|
|
> `sys_*` necesar unei instalări curate trebuie consolidat în pașii 1-3 de mai sus, nu
|
|
> lăsat pe seama actualizatorului.
|
|
|
|
## When to Use This Folder
|
|
|
|
Place scripts here when you need to:
|
|
- Add new grants or privileges after initial setup
|
|
- Patch AUTH_PACK or other SYS objects
|
|
- Add new SYS procedures/functions
|
|
- Fix issues discovered after deployment
|
|
|
|
## Naming Convention
|
|
|
|
Use date-based naming for proper ordering:
|
|
```
|
|
YYYY_MM_DD_##_DESCRIPTION.sql
|
|
```
|
|
|
|
Examples:
|
|
- `2026_02_15_01_AUTH_PACK_FIX.sql`
|
|
- `2026_03_01_01_NEW_GRANT.sql`
|
|
|
|
## How Scripts Are Executed
|
|
|
|
1. The `run-sys-updates.sql` master script executes all `.sql` files in this folder
|
|
2. Scripts run in alphabetical order (hence the date prefix)
|
|
3. Each script should be idempotent (safe to run multiple times)
|
|
|
|
## Template
|
|
|
|
```sql
|
|
-- ============================================================================
|
|
-- YYYY_MM_DD_##_DESCRIPTION
|
|
-- ============================================================================
|
|
-- Author: Your Name
|
|
-- Date: YYYY-MM-DD
|
|
-- Description: What this script does
|
|
-- ============================================================================
|
|
|
|
SET SERVEROUTPUT ON
|
|
WHENEVER SQLERROR CONTINUE
|
|
|
|
-- Your SQL here
|
|
|
|
-- Update version tracking (optional)
|
|
-- EXEC CONTAFIN_ORACLE.PACK_MIGRARE.UpdateVersiune('sys_YYYY_MM_DD_##_DESCRIPTION','','SYS');
|
|
-- COMMIT;
|
|
```
|