An audit becomes a confirmation
Continuous, evidence-grade inventory of every database, middleware product and server. When Oracle arrives, you already hold the answer — there is nothing to estimate.
LMS Cloud is the open-source platform that discovers exactly how your organization uses Oracle Database and Fusion Middleware — so you can walk into every audit and renewal knowing your true footprint, reclaim what you don't use, and negotiate from total visibility.
A thin Laravel frontend over 80+ PL/pgSQL functions, fed by a single self-contained bash collector. No agents, no database users, no external dependencies. Deterministic cost, coverage and compliance analysis — executed inside the database engine.
Viewing the business, compliance & procurement focus. Switch to Technical for the DBA view.
Viewing the DBA & frontend engineering focus. Switch to Business for the procurement view.
Most Oracle SAM tools assume you can install a component on every host and reach every server from one console. LMS Cloud was designed from day one for large, segmented, uncooperative networks — and it puts the intelligence where it belongs.
Continuous, evidence-grade inventory of every database, middleware product and server. When Oracle arrives, you already hold the answer — there is nothing to estimate.
Coverage modes separate underused, overused and not-covered deployments, so licence spend you no longer need is visible and defensible.
Per-server and per-database detail quantifies exactly how dependent you are on Oracle — the migration-effort evidence most SAM tools never surface.
One bash file, native utilities only, run as root or sudo. Nothing is installed, no listener is opened, and nothing persists on the host after it runs.
rdb(), rfmw(), sdb() plus 40+ rdb_calc_*() calculators, materialized db/fmw_view, and contract triggers. The app only calls DB::select().
Every table carries a username MD5 tenant id, every function calls sec_check(), and roles follow a strict S > A > C > U hierarchy.
One collection feeds one engine. Executives see cost and risk; engineers see the exact function call that produced it. Flip the switch in the header — this section changes with you.
Findings are ranked by financial exposure, then by migration effort — the order that matters in a renewal.
Each finding is placed by likelihood and financial impact, so remediation effort follows exposure — not the loudest voice.
SELECT product,
contract_costs,
deployment_costs,
currency
FROM u1.rdb('C', :tenant, :location)
ORDER BY deployment_costs - contract_costs DESC;
The UI never computes this. It calls rdb() and renders rows.
| product | contract | deployed | Δ |
|---|---|---|---|
| db_ee_inmemory | €1.90M | €2.40M | +€0.50M |
| db_ee_partitioning | €0.80M | €0.40M | −€0.40M |
| db_se2 | — | €0.21M | uncovered |
| fmw_weblogic | €1.05M | €1.00M | −€0.05M |
Modes A/C/U/O/N select the lens; the same call powers every report.
Filter topofmw by location — it carries 1M+ rows. Refresh the materialized db/fmw_view before reporting.
LMS Cloud treats PostgreSQL as a computation platform, not a bucket of tables. Schema-native functions own the business rules; the app renders results. That makes every number reproducible, auditable and fast.
Each module answers a different commercial question over the same collected truth — from per-database licensing to cloud what-if scenarios and contract payback.
Contract vs deployed cost per Oracle Database instance, edition and option, with effective processor counts.
Product-level mapping and coverage across WebLogic, SOA, and the rest of the FMW estate.
Physical, virtual and clustered servers resolved to effective Oracle processors via the core-factor table.
Simulate database deployments against cloud compute, RAM, capacity and backup cost models.
Payback snapshots that frame migrations and consolidations in financial terms, not just licence counts.
“The Big Picture” — a million-plus mapping graph of how systems and software interconnect.
Stop estimating your Oracle position from spreadsheets and vendor review files. Get a defensible, per-system view of entitlement, usage and exposure.
Region-DC-Env-App-Group — ArchitectureN) with owner and € exposure — ComplianceU) ranked by reclaimable spend — ProcurementO) with remediation cost — Financepayback_history — ComplianceRun the agentless collector per zone.
Coverage modes surface exposure.
Retire or re-scope by € impact.
Open the renewal holding evidence.
Every calculation is a function you can call, explain and version. Reproduce any report directly in psql — the same code path the UI uses.
| Function | Signature | Returns | Role |
|---|---|---|---|
| rdb | rdb(mode, username, location) | SETOF trr | DB cost & coverage |
| rfmw | rfmw(mode, username, location) | SETOF trr | FMW cost & coverage |
| sdb | sdb(mode, username, location, edition) | SETOF trr | Cloud what-if |
| roi_db / roi_fmw / roi_os | (username, location) | ROI rows | ROI-* modules |
| os_multiplier | os_multiplier(sockets, cores, core_factor, …) | numeric | Effective processors |
| granular_tree | granular_tree(username, module, level) | SETOF trtreecost | Hierarchy + cost |
| sec_check | sec_check(username, role, …) | boolean | Permission gate |
| mdb / mfmw / mos | ingest (…) | void | Write path + alerts |
SELECT product, contract_costs, deployment_costs
FROM u1.rdb('C', :tenant, :location);
Use mdb(), mfmw(), mos(), m_opl(). They handle licence state, alert generation and trigger side effects atomically.
Frontend and backend live in the danimoya/LMSCloud monorepo today; the agentless collector is the next repository. The three-repo split below is the intended publishing layout.
The DBA & business dashboards. Thin controllers, charts, reports and the ROI-* module UI.
The SMART-DB engine: schema, 80+ functions, views, triggers and the ROI-* module registry.
The single-file, dependency-free data collector for Linux, AIX, HP-UX, Solaris and Cygwin.
Every figure in the pack is produced by the same engine and can be reproduced on demand — nothing is hand-assembled in a spreadsheet.
From collector output to a typed function result: the path is explicit, reviewable, and free of hidden application logic.
C, per product and per location.payback_history.Start with the open-source platform and see your coverage, exposure and payback options in one place.
Clone three repositories, bring up Postgres, run the collector, and query rdb() before your coffee is cold.