Files
ROMFASTSQL/CLAUDE.md
Marius afb8266407 feat(oracle): granturi dictionar PACK_DIAG_SPATIU + sys-grants.sql legat in flux
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
2026-08-25 15:46:28 +03:00

5.4 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
  • 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
  • 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