14 Commits

Author SHA1 Message Date
Marius
bc75ce30c2 Add chatbot documentation and Claude agent SDK resources 2025-10-21 16:07:35 +03:00
Marius
b50cc2b8c4 Oracle DR: Fix backup retention and monitoring for new naming convention
Problem: Backups accumulated on DR (73 files, 4 days) instead of keeping only 2 days
- transfer_incremental.ps1 had no cleanup function (ran 2x/day without cleanup)
- transfer_to_dr.ps1 cleanup had poor logging
- oracle-backup-monitor-proxmox.sh couldn't detect new L0/L1 backup format

Changes:
- Add cleanup to transfer_incremental.ps1 (delete backups older than 2 days)
- Improve cleanup logging in transfer_to_dr.ps1 (shows count before/after)
- Update oracle-backup-monitor-proxmox.sh to detect both naming conventions:
  * Old: *FULL*.BKP, *INCR*.BKP
  * New: L0_*.BKP (Level 0), L1_*.BKP (Level 1)
- Remove temporary files from /input/ directory

Result: Monitor now correctly reports backup age, cleanup runs after each transfer

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-14 18:05:11 +03:00
Marius
8682e0ee04 Oracle DR: Complete Phase 5 - NFS mount point configuration
Phase 5 implementation completed:
- NFS server installed on Proxmox (nfs-kernel-server)
- NFS export configured: /mnt/pve/oracle-backups → VM 109
- Windows NFS Client enabled in VM 109
- F:\ drive auto-mount at startup via scheduled task
- PowerShell script: D:\Oracle\Scripts\mount-nfs.bat
- Directory permissions set to 777 for Windows compatibility
- Mount persists across VM reboots

Files updated:
- DR_UPGRADE_TO_CUMULATIVE_PLAN.md: Status → Phases 1-3-5 COMPLETED
- Added detailed Phase 5 documentation with step-by-step setup
- Updated validation checklist (8 items completed)

Next: Phases 4, 6, 7 (scheduled tasks, restore script, testing)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 01:21:47 +03:00
Marius
ec77bb3ddf WIP: Oracle DR CUMULATIVE backup upgrade - Phases 1-3 completed
COMPLETED:
- Phase 1: Proxmox host storage (/mnt/pve/oracle-backups/ROA/autobackup)
- Phase 2: RMAN script already has CUMULATIVE keyword
- Phase 3: Transfer scripts updated for Proxmox host
  * transfer_incremental.ps1: 10.0.20.37:22122 → 10.0.20.202:22
  * transfer_to_dr.ps1: Same change
  * Converted Windows PowerShell to Linux bash commands
- VM 109 cleanup: ~6.4 GB freed, RMAN catalog cleaned

NEW FILES:
- copy_existing_key_to_proxmox.ps1: Setup script for SSH key
- setup_ssh_keys_for_proxmox.ps1: Alternative setup (not used)

PENDING (Next Session):
- Run copy_existing_key_to_proxmox.ps1 on PRIMARY as Administrator
- Phase 4: Modify scheduled tasks (13:00 + 18:00)
- Phase 5: Configure mount point on VM 109 (F:\ drive)
- Phase 6: Update restore script for F:\ mount
- Phase 7: Test FULL + CUMULATIVE backup and restore

DOCUMENTATION:
- DR_UPGRADE_TO_CUMULATIVE_PLAN.md: Added implementation status

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 22:45:32 +03:00
Marius
ac2340c967 Oracle DR: Complete Windows VM implementation and cleanup
Major changes:
- Implemented Windows VM 109 as DR target (replaces Linux LXC)
- Tested RMAN restore successfully (12-15 min RTO, 24h RPO)
- Added comprehensive DR documentation:
  * DR_WINDOWS_VM_STATUS_2025-10-09.md - Current implementation status
  * DR_UPGRADE_TO_CUMULATIVE_PLAN.md - Plan for cumulative incremental backups
  * DR_VM_MIGRATION_GUIDE.md - Guide for VM migration between Proxmox nodes
- Updated DR_WINDOWS_VM_IMPLEMENTATION_PLAN.md with completed phases

New scripts:
- add_system_key_dr.ps1 - SSH key setup for automated transfers
- configure_listener_dr.ps1 - Oracle Listener configuration
- fix_ssh_via_service.ps1 - SSH authentication fix
- rman_restore_final.cmd - Working RMAN restore script (tested)
- transfer_to_dr.ps1 - FULL backup transfer (renamed from 02_*)
- transfer_incremental.ps1 - Incremental backup transfer (renamed from 02b_*)

Cleanup:
- Removed 19 obsolete scripts for Linux LXC DR
- Removed 8 outdated documentation files
- Organized project structure

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 18:54:08 +03:00
Marius
238c02fdf0 mutat scripturi 2025-10-06 18:53:45 +03:00
Marius
8795b92887 Add Oracle 10g compatible version of scrie_jc_2007
- Created scrie_jc_2007_oracle10g.sql with FOR LOOP instead of FORALL
- Resolves PLS-00436 error on Oracle 10.2.0.5 and older versions
- Added README_ORACLE10G.md with technical documentation
- Added INSTRUCTIUNI_ORACLE10G.txt with client instructions
- Main version (scrie_jc_2007.sql) remains optimized with FORALL for Oracle 11g+

Performance: ~20-50ms for <10k rows (vs 15-30ms FORALL, but 2400x faster than old MERGE)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-06 13:03:19 +03:00
Marius
f894544d9c Optimize scrie_jc_2007: Replace FOR LOOP with FORALL BULK operations
- Replace row-by-row processing with FORALL bulk UPDATE/INSERT/DELETE
- Improve readability: l_data(i) → S(i), l_data(l_insert_indices(i)) → SI(i)
- Use dedicated collections: S (source), SI (insert), SD (delete)
- Reduce context switches from 3*N to 3 operations
- Performance improvement: ~15-30ms vs ~80-120ms (3-4x faster for 10k rows)
- Maintain exact same business logic as original implementation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 18:26:23 +03:00
Marius
9f7e9779d2 Optimize scrie_jc_2007: Replace long MERGE with BULK COLLECT cursor loop
- Replaced 1,886-line MERGE statement with cursor loop + BULK COLLECT to avoid Oracle XE internal bugs with very long MERGE statements
- Reduced code size from 1,925 to 1,861 lines (-64 lines, -3.3%)
- Benefits:
  * Single SELECT execution (data loaded into PGA memory via BULK COLLECT)
  * Zero temporary table writes
  * Minimal PL/SQL overhead (~30-50ms for <10k rows)
  * Uses c_source%ROWTYPE for automatic structure adaptation
  * Preserves original alias 'S' for consistency
  * Maintains exact logic: UPDATE → DELETE (if nStergere + all zeros) → INSERT
- Added backup file: scrie_jc_2007_original_merge_backup.sql
- Added reusable transformation script: merge_to_bulk_collect.py

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 16:49:46 +03:00
Marius
b83983b6ed scrie jtva 2025-09-23 11:32:03 +03:00
Marius
f2880f1ef7 Update system prompt and create D300 migration script
- Enhanced system_prompt.md with mandatory initial questions, explicit examples, operation types, error handling, and BEGIN/END structure requirements
- Created ff_2025_09_10_01_CONTABILITATE_D300.sql migration script for DECONTTVA table with DELETE/INSERT approach
- Removed obsolete files: CLAUDE.md, README.md, CSV input files
- Updated input/scrie_jc_2007.sql

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 15:45:46 +03:00
Marius
3c61b5f617 test 2025-09-09 12:12:19 +03:00
Marius
865052597a scrie_jc 2025-08-19 14:27:23 +03:00
Marius
1afc7dc29b urlwatch 2025-08-12 10:15:47 +03:00