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:
118
proxmox/vm302-oracle-test/docs/dual-edition-test-plan.md
Normal file
118
proxmox/vm302-oracle-test/docs/dual-edition-test-plan.md
Normal 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
|
||||
44
proxmox/vm302-oracle-test/docs/issues-se-prod.md
Normal file
44
proxmox/vm302-oracle-test/docs/issues-se-prod.md
Normal 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
|
||||
Reference in New Issue
Block a user