docs(vm302): split test env into dedicated dir, mark SE 21c as TODO

Move VM302-TESTING.md from lxc108-oracle/roa-windows-setup/test/ into a
new proxmox/vm302-oracle-test/ directory (sibling of vm109/vm201) so the
test environment is documented separately from the setup scripts. Add a
dual-edition test plan (XE validated / SE TODO) and a stub for capturing
the production SE errors next time they reproduce.

Cross-link from roa-windows-setup/README.md, proxmox/README.md master
index and CLAUDE.md entry points. Setup scripts stay in lxc108-oracle —
they are not VM-specific.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-04-25 19:40:38 +00:00
parent 1d67f0705b
commit 44b3c0da60
6 changed files with 259 additions and 8 deletions

View File

@@ -68,6 +68,12 @@ proxmox/
│ ├── monitor-ssl-certificates.sh
│ └── setup-new-iis-sites.ps1 # Setup site-uri IIS noi (Dokploy)
├── vm302-oracle-test/ # VM 302 - oracle-test-302 (test ROA Windows + Oracle 21c)
│ ├── README.md # Info VM, status testare XE/SE, workflow
│ └── docs/
│ ├── dual-edition-test-plan.md # Plan testare 21c XE + SE
│ └── issues-se-prod.md # TODO: log erori prod Oracle SE
├── lxc110-moltbot/ # LXC 110 - MoltBot (AI Telegram Bot)
│ ├── README.md # Configurare, securitate, comenzi
│ └── docs/
@@ -319,6 +325,34 @@ echo | openssl s_client -connect roa.romfast.ro:443 -servername roa.romfast.ro 2
---
### VM 302 - oracle-test-302 (Test ROA Windows + Oracle 21c)
**Director:** `vm302-oracle-test/`
**IP:** 10.0.20.130 | **Host:** pvemini | **Rol:** mediu de test pentru scripturile `lxc108-oracle/roa-windows-setup/`
| Fișier | Descriere |
|--------|-----------|
| `README.md` | Info VM, status testare XE/SE, quick start, snapshots |
| `docs/dual-edition-test-plan.md` | Plan testare dual: Oracle 21c XE + Standard Edition |
| `docs/issues-se-prod.md` | TODO: log erori întâlnite în producție pe Oracle SE |
**Status testare scripturi ROA Windows:**
- Oracle 21c **XE** — OK (validat pe VM 302)
- Oracle 21c **SE****TODO** (netestat în mediu test, erori în prod)
**Quick Start:**
```bash
# Start VM (stopped între teste)
ssh root@10.0.20.201 "qm start 302"
# Stop după test
ssh root@10.0.20.201 "qm shutdown 302"
# Snapshot înainte de test
ssh root@10.0.20.201 "qm snapshot 302 pre-test --description 'Before ROA test'"
```
---
## Hartă Rapidă Resurse
### Noduri Proxmox Cluster
@@ -345,6 +379,7 @@ echo | openssl s_client -connect roa.romfast.ro:443 -servername roa.romfast.ro 2
| **109** | **standby-dr** | **Windows Server** | **`vm109-windows-dr/`** |
| **201** | **roacentral** | **Windows 11** | **`vm201-windows/`** |
| 300 | Win11-Template | Windows 11 | `cluster/README.md` |
| **302** | **oracle-test-302** | **Windows 11 + Oracle 21c (test ROA)** | **`vm302-oracle-test/`** |
---
@@ -375,6 +410,12 @@ echo | openssl s_client -connect roa.romfast.ro:443 -servername roa.romfast.ro 2
- **Test DR săptămânal** → `vm109-windows-dr/scripts/weekly-dr-test-proxmox.sh`
- **Plan testare DR** → `vm109-windows-dr/docs/PLAN_TESTARE_MONITORIZARE.md`
### Windows VM 302 - Test ROA Setup (XE + SE)
- **Info VM și quick start** → `vm302-oracle-test/README.md`
- **Plan testare dual-edition** → `vm302-oracle-test/docs/dual-edition-test-plan.md`
- **Erori prod Oracle SE (TODO)** → `vm302-oracle-test/docs/issues-se-prod.md`
- **Scripturi setup ROA Windows** → `lxc108-oracle/roa-windows-setup/`
### Windows VM 201
- **Reînnoiesc certificate SSL** → `vm201-windows/docs/vm201-certificat-letsencrypt-iis.md`
- **Rezolv probleme VM locked** → `vm201-windows/docs/vm201-troubleshooting-backup-nfs.md`
@@ -433,6 +474,6 @@ echo | openssl s_client -connect roa.romfast.ro:443 -servername roa.romfast.ro 2
---
**Ultima actualizare:** 2026-03-02
**Ultima actualizare:** 2026-04-25
**Autor:** Marius Mutu
**Proiect:** ROMFASTSQL - Infrastructure Documentation

View File

@@ -1,5 +1,15 @@
# ROA Oracle Database Setup for Windows
> **Status testare ediții Oracle 21c:**
>
> | Ediție | Status | Mediu validat |
> |--------|--------|---------------|
> | **XE (CDB/PDB)** | OK | VM 302 (`oracle-test-302`, 10.0.20.130) |
> | **Standard Edition (non-CDB)** | **TODO — netestat în mediu de test** | În producție au apărut erori, neînregistrate. Vezi [`../../vm302-oracle-test/docs/issues-se-prod.md`](../../vm302-oracle-test/docs/issues-se-prod.md) |
>
> Plan testare dual-edition: [`../../vm302-oracle-test/docs/dual-edition-test-plan.md`](../../vm302-oracle-test/docs/dual-edition-test-plan.md).
> Mediul de test: [`../../vm302-oracle-test/README.md`](../../vm302-oracle-test/README.md).
## Overview
Scripts and documentation for setting up ROA Oracle Database on Windows servers:
@@ -493,9 +503,17 @@ ROA =
---
## Testing with Proxmox VM Clone
## Testing
For testing installations, use the VM cloning script:
**Mediul de test dedicat:** VM 302 (`oracle-test-302`, 10.0.20.130, pvemini).
Vezi [`../../vm302-oracle-test/`](../../vm302-oracle-test/) pentru:
- Quick start (start/stop/connect VM, RDP/SSH)
- Workflow snapshots și clonare pentru testare paralelă
- Plan testare dual-edition XE + SE: [`docs/dual-edition-test-plan.md`](../../vm302-oracle-test/docs/dual-edition-test-plan.md)
- Log erori producție SE (TODO): [`docs/issues-se-prod.md`](../../vm302-oracle-test/docs/issues-se-prod.md)
Pentru clonarea unui VM nou de test din template-ul 300:
```bash
# On Proxmox host (pvemini)

View File

@@ -1,4 +1,23 @@
# VM 302 - ROA Windows Setup Testing
# VM 302 - oracle-test-302 (ROA Windows Setup Test VM)
VM-ul de test pentru scripturile de instalare ROA pe Windows + Oracle 21c.
Scripturile efective trăiesc în `proxmox/lxc108-oracle/roa-windows-setup/`
(generale, nu legate de VM 302). Acest director documentează **mediul de test**
și planul de validare.
## Status testare
| Ediție Oracle | Status | Note |
|---------------|--------|------|
| **21c XE (CDB/PDB)** | OK | Validat pe VM 302, `RunAll.cmd` rulează complet |
| **21c Standard Edition (non-CDB)** | TODO | NETESTAT pe VM 302. În producție au apărut erori — vezi `docs/issues-se-prod.md` |
> Scripturile `roa-windows-setup` au fost testate doar pe XE. La rularea în
> producție pe Oracle 21c SE au apărut erori. Înainte de următorul deployment
> SE trebuie reprodus scenariul SE pe VM 302 (sau clonă VM 303). Vezi
> `docs/dual-edition-test-plan.md`.
---
## VM Information
@@ -11,8 +30,9 @@
| RAM | 4 GB |
| Disk | 500 GB |
| OS | Windows 11 |
| Oracle | 21c XE (CDB/PDB) |
| Oracle | 21c XE (CDB/PDB) — instalat curent |
| Proxmox Host | pvemini (10.0.20.201) |
| Scripturi setup | `../lxc108-oracle/roa-windows-setup/` |
---
@@ -393,6 +413,13 @@ ssh root@10.0.20.201 "qm start 303"
---
**Last Updated:** 2026-01-29
**Last Updated:** 2026-04-25
**Author:** Marius Mutu
**Project:** ROMFASTSQL - ROA Windows Setup Testing
**Project:** ROMFASTSQL - VM 302 (oracle-test-302) test environment
## Documente conexe
- `docs/dual-edition-test-plan.md` — plan testare XE + SE 21c
- `docs/issues-se-prod.md` — TODO: log erori întâlnite în producție pe Oracle SE 21c
- `../lxc108-oracle/roa-windows-setup/README.md` — scripturile de setup
- `../lxc108-oracle/roa-windows-setup/test/clone-vm300.sh` — clonare VM template 300 (utilizat pentru a crea VM 302)

View File

@@ -0,0 +1,118 @@
# Plan de testare dual-edition: Oracle 21c XE + SE
## Context
Scripturile `roa-windows-setup` (din `lxc108-oracle/roa-windows-setup/`) susțin
două ținte:
- **Oracle 21c XE** — CDB/PDB, free, limită 12 GB date / 2 GB RAM
- **Oracle 21c Standard Edition** — non-CDB, licență, fără limite
Diferențe care contează la setup (vezi `roa-windows-setup/README.md`
"Architecture Differences"):
| Element | XE | SE |
|---------|----|----|
| Arhitectură | CDB + PDB (XEPDB1) | non-CDB (single DB: ROA) |
| Service name | XEPDB1 | ROA |
| ORACLE_HOME | `...\dbhomeXE` | `...\dbhome_1` |
| Datafile dir | `...\oradata\XE\XEPDB1` | `...\oradata\ROA` |
| Service Windows | OracleServiceXE | OracleServiceROA |
| Conectare ca SYS | `sys/...@XEPDB1 as sysdba` | `sys/...@ROA as sysdba` |
Aceste diferențe sunt ascunse în `config.ps1`. Riscul: o ramură de cod care
presupune CDB/PDB (de ex. `ALTER SESSION SET CONTAINER`) va eșua pe SE non-CDB.
**Acesta e cazul real care a produs erori în producție** — vezi `issues-se-prod.md`.
## Status curent
| Scenariu | Mediu | Status |
|----------|-------|--------|
| XE — install fresh | VM 302 (Windows 11 + XE) | OK |
| XE — uninstall/reinstall | VM 302 | OK |
| XE — add company | VM 302 | OK |
| **SE — install fresh** | — | **TODO** |
| **SE — uninstall/reinstall** | — | **TODO** |
| **SE — add company** | — | **TODO** |
| SE — în producție | server prod Windows | EȘUAT (erori — TODO de capturat) |
## Plan testare SE pe VM 302
### Variantă A — reconfigurare VM 302 pentru SE
Risc: pierdem mediul XE deja validat. Necesar snapshot înainte.
```bash
# Snapshot XE state
ssh root@10.0.20.201 "qm snapshot 302 xe-validated --description 'Pre-SE-test, XE installation validated'"
```
Pași pe VM:
1. Uninstall Oracle XE complet (Programs and Features + manual cleanup)
2. Install Oracle 21c SE conform `roa-windows-setup/docs/00-INSTALL-ORACLE-SE.md`
- Wizard: "Create and configure a single instance database"
- Global database name: `ROA`
- **Debifează** "Create as Container database"
3. Copy `config.example.ps1``config.ps1`, ajustează valorile pentru SE:
```powershell
$ORACLE_HOME = "C:\app\oracle\product\21c\dbhome_1"
$SERVICE_NAME = "ROA"
$DATAFILE_DIR = "C:\app\oracle\oradata\ROA"
```
4. `RunAll.cmd` și capturează toate erorile
5. Snapshot SE state:
```bash
ssh root@10.0.20.201 "qm snapshot 302 se-validated --description 'SE installation validated'"
```
### Variantă B — clonă VM 303 dedicată SE
Recomandată dacă vrem să păstrăm ambele medii live pentru regresie.
```bash
# Clone VM 302 → 303 (template state, înainte de Oracle XE — TODO: identifică snapshot)
ssh root@10.0.20.201 "qm clone 302 303 --name oracle-test-303-se --full"
ssh root@10.0.20.201 "qm start 303"
# Schimbă IP-ul Windows: 10.0.20.130 → 10.0.20.131 (sau altul liber)
```
Apoi pași 1-5 din varianta A pe VM 303.
> **Cost spațiu:** clonă full pe local-zfs ≈ 500 GB. Verifică spațiu pvemini
> înainte (`zfs list local-zfs`).
## Checklist validare per ediție
Pentru fiecare ediție (XE și SE), bifează după rulare reușită:
### Install fresh
- [ ] `01-setup-database.ps1` — tablespace ROA + CONTAFIN_ORACLE user
- [ ] `02-create-sys-objects.ps1` — AUTH_PACK, NEWSCHEMA, EXECUTESCRIPTOS, UTL_MAIL
- [ ] `03-import-contafin.ps1` — import CONTAFIN_ORACLE (~344 obiecte)
- [ ] `04-create-synonyms-grants.ps1` — 81 synonyms publice + grants
- [ ] `05-import-companies.ps1` — minim 1 firmă (CAPIDAVATOUR ~3418 obiecte)
- [ ] `08-post-install-config.ps1` — 54 directories, SERVER_INFO, scheduler jobs
- [ ] `07-verify-installation.ps1` — toate verificările OK
### Add company
- [ ] `06-add-company.ps1` — adaugă firmă nouă pe instalare existentă
### Uninstall
- [ ] `99-uninstall-roa.ps1` — curăță tot, lasă DB-ul gata pentru reinstall
## Ce trebuie urmărit specific pentru SE
Locuri unde scripturile pot face presupuneri CDB-only:
- `ALTER PLUGGABLE DATABASE` — nu există pe non-CDB
- `ALTER SESSION SET CONTAINER` — nu se aplică pe non-CDB
- Path-uri datafile hardcodate `XE\XEPDB1`
- Service name `XEPDB1` în connection strings
- DBMS_AUTO_TASK_ADMIN tweaks (XE 12 GB workaround) — irelevante pe SE
`grep -rn "XEPDB1\|XE\b\|SET CONTAINER\|PLUGGABLE DATABASE" lxc108-oracle/roa-windows-setup/scripts lxc108-oracle/roa-windows-setup/sql`
înainte de testul SE — orice match e candidat la breakaj.
---
**Last Updated:** 2026-04-25
**Author:** Marius Mutu

View File

@@ -0,0 +1,44 @@
# Erori producție — Oracle 21c Standard Edition
> **Status: TODO — de completat cu detalii concrete.**
>
> Scripturile `roa-windows-setup` au fost validate pe VM 302 doar pe Oracle 21c
> XE. La rularea în producție pe Oracle 21c Standard Edition au apărut erori,
> dar logurile nu au fost capturate la momentul incidentului.
## Ce trebuie capturat (la următoarea apariție a erorilor)
Pentru fiecare eroare:
1. **Scriptul care a eșuat** (ex. `03-import-contafin.ps1`, pasul exact)
2. **Mesajul de eroare complet** — ORA-XXXXX, stack trace PowerShell, output sqlplus
3. **Comanda care a generat-o** — copiat exact din log
4. **Versiunea Oracle SE**`select banner from v$version;`
5. **Configurația activă**`config.ps1` folosit (fără parole)
6. **Mediul** — Windows version, ORACLE_HOME, service name, dacă e CDB sau non-CDB
## Suspiciuni inițiale (de verificat)
Pe baza diferențelor SE vs XE (vezi `dual-edition-test-plan.md`):
- Connection strings hardcodate cu `XEPDB1` în loc de `ROA`
- Comenzi `ALTER PLUGGABLE DATABASE` care eșuează pe non-CDB
- Path-uri datafile presupunând structura `XE\XEPDB1`
- Tweaks specifice XE (DBMS_AUTO_TASK_ADMIN, audit policy) care nu există /
se comportă diferit pe SE
- Numele serviciului Windows: `OracleServiceXE` vs `OracleServiceROA`
- ORACLE_HOME diferit (`dbhomeXE` vs `dbhome_1`) — variabile de mediu
## Acțiuni
- [ ] La următoarea instalare prod SE, capturează toate logurile din
`C:\roa-setup\logs\` și atașează aici
- [ ] Reproducere pe VM 302 sau clonă VM 303 (vezi `dual-edition-test-plan.md`)
- [ ] Fix scripturi pe baza erorilor reale
- [ ] Re-test fresh install SE până trece complet
- [ ] Update `roa-windows-setup/README.md` — marchează SE ca "tested OK"
---
**Last Updated:** 2026-04-25
**Author:** Marius Mutu