Commit Graph

19 Commits

Author SHA1 Message Date
Marius
87b9709a0d Add complete UPS monitoring system with monthly battery testing
This commit adds a comprehensive UPS monitoring and management system for
the Proxmox cluster with automated shutdown orchestration and monthly
battery health testing.

Features:
- NUT (Network UPS Tools) configuration for INNO TECH USB UPS
- Automated cluster shutdown on power failure (3-minute grace period)
- Monthly automated battery testing with health evaluation
- Email notifications via PVE::Notify system
- WinNUT monitoring client for Windows VM 201

Components added:
- config/: NUT configuration files (ups.conf, upsd.conf, upsmon.conf, etc.)
- scripts/ups-shutdown-cluster.sh: Orchestrated cluster shutdown
- scripts/ups-monthly-test.sh: Monthly battery test with email reports
- scripts/upssched-cmd: Event handler for UPS state changes
- docs/: Complete installation and usage documentation

Key findings:
- UPS battery.charge reporting has 10-40 second delay after test start
- Test must monitor voltage drop (1.5-2V) and charge drop (9-27%)
- Battery health evaluation: EXCELLENT/GOOD/FAIR/POOR based on discharge rate
- Email notifications use Handlebars templates without Unicode emojis for compatibility

Configuration:
- UPS: INNO TECH (Voltronic protocol, vendor 0665:5161)
- Primary node: pvemini (10.0.20.201) with USB connection
- Monthly test: cron 0 0 1 * * /opt/scripts/ups-monthly-test.sh
- Shutdown timer: 180 seconds on battery before cluster shutdown

Documentation includes complete installation guides for NUT server,
WinNUT client, and troubleshooting procedures.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-06 21:39:46 +03:00
Marius
238c02fdf0 mutat scripturi 2025-10-06 18:53:45 +03:00
Marius
f3fca1f96e Update Proxmox HA monitoring script - remove qdevice support
Changes:
- Remove qdevice verification (qdevice no longer exists in cluster)
- Fix cluster nodes detection (updated pvecm status output format)
- Add --help parameter with complete usage documentation
- Update notification templates (remove qdevice references)
- Simplify quorum check (only verify total_votes = expected_votes)

The script now correctly monitors:
- HA Services (pve-ha-lrm, pve-ha-crm)
- Cluster Quorum (3/3 votes)
- Online nodes (3 nodes detected via Membership information)

Tested successfully on pvemini.romfast.ro (10.0.20.201)
Status: SUCCESSFUL with all checks passing

Also updated proxmox-ssh-guide.md with current cluster configuration.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-06 18:48:05 +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
88b87a58c0 Add Oracle connection settings documentation
- Created CONEXIUNI-ORACLE.md with complete connection details
- Oracle XE 21c Docker (LXC 108): CDB XE with PDBs ROA and ROA2
- Oracle 10g VM 107 Windows: connection strings and migration notes
- Updated SYS/SYSTEM passwords to romfastsoft (CONTAINER=ALL)
- Connection strings for SQL*Plus, JDBC, and TNS
- Troubleshooting commands and useful queries
- Export/import examples for Data Pump

PDB ROA2 fully configured:
- CONTAFIN_ORACLE and FIRMANOUA schemas imported
- 232 public synonyms created
- 149 grants to PUBLIC
- All critical packages VALID (PACK_CONTAFIN, PACK_UPDATE, PACK_UTILS, PACK_DREPTURI)
- SYS custom objects: AUTH_PACK, UPDATESQLPLUS, EXECUTESCRIPTOS, UTL_MAIL
- Ready for DMP template exports

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 19:05:20 +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
02ef8775ab oracle migrare 2025-10-01 16:08:13 +03:00
Marius
b414b3c338 vm 107 monitor 2025-09-30 02:12:25 +03:00
Marius
24c8c75eb6 proxmox monitori 2025-09-30 02:06:34 +03:00
Marius
e3085884d9 migrare oracle central 2025-09-30 01:41:58 +03:00
Marius
ad07606de0 oracle install LXC docker 2025-09-30 01:27:33 +03:00
Marius
87785f703a proxmox 2025-09-29 15:23:31 +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
Marius
82950b81a5 Initial commit: Romanian ERP database migration system
Complete project setup with:
- PACK_MIGRARE utility package
- Migration script examples and patterns
- Comprehensive documentation in CLAUDE.md and README.md
- System instructions for SQL generation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 16:55:07 +03:00