- Move oracle/migration-scripts/ to proxmox/lxc108-oracle/migration/ - Move oracle/roa/ and oracle/roa-romconstruct/ to proxmox/lxc108-oracle/sql/ - Move oracle/standby-server-scripts/ to proxmox/vm109-windows-dr/ - Move chatbot/ to proxmox/lxc104-flowise/ - Update proxmox/README.md with new structure and navigation - Update all documentation with correct directory references - Remove unused input/claude-agent-sdk/ files Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
Oracle 10g Compatibility
Director: proxmox/lxc108-oracle/sql/roa/
Două versiuni disponibile pentru SCRIE_JC_2007
📄 Fișiere:
-
scrie_jc_2007.sql- Versiunea PRINCIPALĂ (FORALL)- Pentru Oracle 11g, 12c, 18c, 19c, 21c, 23c
- Folosește
FORALLpentru performanță maximă - Performanță: ~15-30ms pentru <10k rows
-
scrie_jc_2007_oracle10g.sql- Versiunea pentru Oracle 10g- Pentru Oracle 10.2.0.5 (și versiuni mai vechi)
- Folosește
FOR LOOPpentru compatibilitate - Performanță: ~20-50ms pentru <10k rows
- Rezolvă eroarea PLS-00436
🔧 Când să folosești fiecare versiune:
| Versiune Oracle | Fișier de folosit | Performanță |
|---|---|---|
| 8i - 10g | scrie_jc_2007_oracle10g.sql |
Bună (20-50ms) |
| 11g - 23c | scrie_jc_2007.sql |
Excelentă (15-30ms) |
⚠️ Eroarea pe Oracle 10g (fără fix):
Error: PLS-00436: restrictie de implementare: nu se pot referi campurile din tabelul de inregistrari BULK In-BIND
Line: 1501
Text: FORALL i IN 1..S.COUNT
Cauza: Oracle 10g nu permite S(i).field în FORALL când S este TYPE TABLE OF cursor%ROWTYPE
Soluție: Folosește scrie_jc_2007_oracle10g.sql care înlocuiește FORALL cu FOR LOOP
📊 Diferențe tehnice:
Versiunea FORALL (scrie_jc_2007.sql):
FORALL i IN 1..S.COUNT
UPDATE JC2007 J SET ... WHERE ...;
FOR i IN 1..S.COUNT LOOP
IF SQL%BULK_ROWCOUNT(i) = 0 THEN ...
Versiunea FOR LOOP (scrie_jc_2007_oracle10g.sql):
FOR i IN 1..S.COUNT LOOP
UPDATE JC2007 J SET ... WHERE ...;
IF SQL%ROWCOUNT = 0 THEN ...
END LOOP;
🚀 Instalare pentru Oracle 10g:
-- 1. Backup versiunea curentă (opțional)
@scrie_jc_2007.sql
-- 2. Instalează versiunea pentru Oracle 10g
@scrie_jc_2007_oracle10g.sql
📝 Note importante:
- Ambele versiuni sunt mult mai rapide decât MERGE-ul original (60-120s)
- Ambele versiuni au aceeași logică de business
- Singura diferență: FORALL vs FOR LOOP
- Dacă faci upgrade la Oracle 11g+, poți reveni la versiunea FORALL
Creat: 2025-10-06 Autor: Optimizare Oracle compatibility