Files
ROMFASTSQL/CLAUDE.md
Marius 7fce925349 feat(oracle): kit de instalare la client + corectarea lipsurilor din instalare
Blocul de instalare/migrare Oracle 21c XE, terminat si validat pe VM 302.

Kit de instalare (nou)

  scripts/build-client-kit.ps1 exporta CONTAFIN_ORACLE si FIRMANOUA de pe
  LXC 108 (PDB ROA2, nu ROA - ROA e productia ROA_CENTRAL), le aduce local
  prin cele trei hopuri container -> LXC -> host -> statie, le redenumeste la
  numele pe care le asteapta scripturile si le impacheteaza cu o copie a
  directorului roa-windows-setup. Citeste logul expdp si raporteaza cate
  firme are NOM_FIRME, ca sa nu plece din greseala datele unui client.

  roa-windows-setup/INSTALEAZA.cmd ruleaza pasii 01..08 fara "set /p", deci
  merge si prin SSH - RunAll.cmd nu poate fi rulat neinteractiv. Trateaza
  corect codul 5 de la pasul 03 si se opreste la prima eroare reala.

Corectii

  01-setup-database.ps1 nu mai scrie SQLNET.RECV_TIMEOUT / SEND_TIMEOUT in
  sqlnet.ora. Le hardcoda la 30 s, iar fisierul e citit si de impdp: in timpul
  unui import serverul poate lucra minute fara sa trimita un pachet, clientul
  murea cu ORA-12609 iar scriptul raporta esec pentru un import care se
  terminase cu bine pe server. Reprodus si reparat pe VM 302.

  01-setup-database.ps1: Step 4c optional (-ResetSystemPassword) care curata
  EXPIRED(GRACE) pe SYSTEM in CDB root; ALTER PROFILE opreste expirarile
  viitoare dar nu reseteaza un cont deja intrat in gratie.

  uninstall-roa.sql: retry la DROP USER dupa KILL SESSION, plus un bloc final
  de verdict care numara ce a ramas si iese cu ORA-20900 daca baza nu e
  curata. Pana acum toate sectiunile prindeau exceptiile in WHEN OTHERS si
  scriptul tiparea "UNINSTALL COMPLETE" chiar si cand un user supravietuise,
  iar instalarea urmatoare dadea ORA-31684 in lant. 99-uninstall-roa.ps1
  propaga codul de iesire.

  08-post-install-config.ps1: Step 7b seteaza SMTP_OUT_SERVER si ACL-ul de
  retea pentru CONTAFIN_ORACLE. UTL_MAIL se instala si primea EXECUTE, adica
  destul cat sa compileze, dar nu si cat sa trimita. Privilegiul resolve nu
  accepta interval de porturi (ORA-24244), deci se acorda separat de connect.

  07-verify-installation.ps1: sectiune noua care verifica prezenta lui
  FIRMANOUA.dmp in DMPDIR si o raporteaza ca eroare daca lipseste. Fara el,
  adaugarea unei firme noi pica in DBMS_DATAPUMP.ADD_FILE peste luni de la
  instalare, cand nimeni nu mai leaga eroarea de instalare.

  configure-profile.sql: antetul spune ca e unealta de remediere manuala, nu
  parte din flux; pas nou la final pentru CDB root.

Documentatie

  README-ul roa-windows-setup descrie acum explicit cele doua scenarii -
  instalare pe curat si migrare - de unde se iau DMP-urile sablon, si capcana
  ORA-12609. Handoff-urile de sesiune au fost sterse; ce era durabil in ele a
  intrat in README-uri si in docs/diagnostic-spatiu-clienti.md.

Validare pe VM 302: ciclu complet din kit, instalare pe curat, verificarea
finala "[OK] All checks passed!".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SzF1hf4aFS1tmJWpPMiwGp
2026-08-25 18:05:56 +03:00

5.6 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

ROMFASTSQL is an infrastructure and database management project for ROMFAST, featuring:

  • Proxmox virtualization cluster (3 nodes: pve1, pvemini, pveelite)
  • Oracle Database XE 21c with migration support from Oracle 10g
  • AI chatbot system (Flowise + Claude)
  • Disaster recovery infrastructure

Repository Structure

proxmox/                    # Main infrastructure documentation
├── README.md               # Master index - START HERE
├── cluster/                # Proxmox cluster, UPS, storage management
├── lxc102-docker/          # Docker + Portainer + Docker Sandboxes (sbx)
├── lxc104-flowise/         # AI Chatbot (Flowise on port 3000)
├── lxc108-oracle/          # Oracle XE 21c/18c Database (port 1521/1522)
├── lxc110-moltbot/         # MoltBot AI Telegram Bot
├── lxc171-claude-agent/    # Claude Code development environment
├── vm109-windows-dr/       # Windows Disaster Recovery VM
├── vm201-windows/          # Windows 11 (IIS reverse proxy)
└── vm302-oracle-test/      # Windows 11 + Oracle 21c test VM (ROA setup validation)

system_instructions/        # SQL migration guidelines and knowledge base
├── system_prompt.md        # SQL migration rules - READ BEFORE WRITING SQL
└── knowledge_base/         # Example scripts and PACK_MIGRARE.pck

scripts/                    # Python utilities
├── generare_proces_verbal.py   # Generate assembly minutes (DOCX)
└── verificare_voturi_AG.py     # Verify assembly votes

input/                      # Oracle DMP files for import

Key Documentation Entry Points

  • Infrastructure overview: proxmox/README.md
  • SQL migration guidelines: system_instructions/system_prompt.md (always read before generating migration SQL)
  • Oracle database setup: proxmox/lxc108-oracle/README.md
  • Migration orchestration: proxmox/lxc108-oracle/migration/00-MASTER-MIGRATION.sh
  • Chatbot architecture: proxmox/lxc104-flowise/docs/prd.md
  • Docker Sandboxes (sbx) — agenți AI izolați: proxmox/lxc102-docker/README.md
  • Disaster recovery: proxmox/vm109-windows-dr/README.md
  • Instalare/migrare Oracle — care director se folosește: proxmox/lxc108-oracle/docs/instalare-si-migrare-oracle.md
  • ROA Windows setup scripts (XE/SE 21c): proxmox/lxc108-oracle/roa-windows-setup/README.md
  • Kit de instalare pentru client (DMP-uri șablon + scripturi, gata de dus la client): proxmox/lxc108-oracle/scripts/build-client-kit.ps1
  • VM 302 test environment for ROA setup: proxmox/vm302-oracle-test/README.md
  • Diagnostic spațiu Oracle la clienți (job zilnic + emailuri): docs/diagnostic-spatiu-clienti.md
  • Acces SSH la clienți cu chei publice (angajați noi): docs/acces-ssh-chei-angajati.md
  • Acces administrativ la server client prin Tailscale + SSH (fără forward pe router): docs/acces-client-tailscale-ssh.md
  • Cazuri clienți (depanare DB): proxmox/lxc108-oracle/clienti/README.md
    • ROMPETROL ENERGY — recreare PDB Oracle XE 21c după ORA-12954: proxmox/lxc108-oracle/clienti/oracle-xe-21c/README.md

Infrastructure Commands

Proxmox Cluster

ssh root@10.0.20.201 "pvecm status"     # Cluster status
ssh root@10.0.20.201 "pct list"         # List LXC containers
ssh root@10.0.20.201 "qm list"          # List VMs

Oracle Database (LXC 108)

pct exec 108 -- docker exec -it oracle-xe sqlplus / as sysdba
pct exec 108 -- docker restart oracle-xe

Flowise Chatbot (LXC 104)

pct exec 104 -- systemctl status flowise
pct exec 104 -- systemctl restart flowise
pct exec 104 -- journalctl -u flowise -f

Validation Scripts

# UPS monthly test
proxmox/cluster/ups/scripts/ups-monthly-test.sh

# SSL certificate monitoring
proxmox/vm201-windows/scripts/monitor-ssl-certificates.sh

# Oracle backup monitoring
proxmox/vm109-windows-dr/scripts/oracle-backup-monitor-proxmox.sh

Network Layout

Service IP Address Port Purpose
pvemini (main host) 10.0.20.201 8006 Proxmox GUI
Oracle XE 21c 10.0.20.121 1521 Production database
Oracle XE 18c 10.0.20.121 1522 Export compatibility (TSTZ 31)
Flowise 10.0.20.161 3000 Chatbot UI
Gitea 10.0.20.165 3000 Git server
Docker + Portainer + sbx 10.0.20.113 9000/9443 Docker host, sandbox-uri agenți AI
Claude Agent 10.0.20.171 22 Development (also via Tailscale: 100.95.55.51)
MoltBot 10.0.20.173 22 AI Telegram Bot (also via Tailscale: 100.120.119.70)
Primary Oracle 10.0.20.36 1521 Windows production
DR Oracle 10.0.20.37 1521 Disaster recovery

SQL Migration Conventions

When writing Oracle migration scripts, follow the naming convention:

ff_YYYY_MM_DD_##_TYPE.sql

Where TYPE is: DDL, DML, VIEW, PACK, TRIG, etc.

Always reference system_instructions/system_prompt.md for:

  • Oracle 10g compatibility requirements
  • PACK_MIGRARE package usage
  • Migration script patterns and examples

Custom Claude Code Commands

  • /ultimate_validate_command - Generate comprehensive validation commands
  • /plan-handover - Save implementation plan for session handover
  • /branch-plan-handover - Create branch and save plan
  • /context-handover - Save context for next session

Git Workflow

  • Remote: http://gitea:3000/romfast/ROMFASTSQL.git
  • Main branch: master
  • Feature branches merged directly to master