Understanding Oracle Database Standard Edition 2: The Fundamentals

Oracle Database Standard Edition 2 (SE2) was introduced in 2015 as the successor to Standard Edition (SE) and Standard Edition One (SE1), representing a significant architectural shift in how Oracle positions the mid-market database product. While its predecessors were priced on a per-named-user basis with core-based licensing flexibility, SE2 introduced a cleaner but more restrictive per-socket licensing model combined with hard hardware limits that define the technical ceiling of what SE2 can do. This section establishes the foundational concepts you need to understand before evaluating SE2 for your environment.

What is SE2 and Who Should Use It?

SE2 is positioned as Oracle's solution for small-to-medium businesses (SMBs) and departmental deployments that do not require the breadth of features in Enterprise Edition. The core value proposition is predictability: a fixed per-socket license fee of $17,500 per socket, with a maximum of two sockets per server, creates a hard ceiling on licensing costs. Unlike Enterprise Edition, where processor licensing scales with core counts (and modern high-core-count CPUs can drive license costs into the millions), SE2 deployments are financially bounded at $35,000 per server in perpetuity. For organizations running consolidated single-instance databases on modest hardware, this is a compelling financial model.

SE2 is appropriate for deployments characterized by moderate transaction volumes, relatively predictable workload scaling, databases up to several hundred GB in size, and teams that do not need advanced Oracle features like partitioning, Oracle RAC (in 19c and later), database vault, or in-memory acceleration. Organizations with strict database consolidation requirements, high-availability demands that require active-active clustering, or workloads that benefit from horizontal scaling should evaluate Enterprise Edition despite its significantly higher costs.

Per-Socket Licensing and the Two-Socket Maximum

Unlike Enterprise Edition, which licenses processors (cores) and applies to all processors in a server regardless of how many the SE2 database uses, SE2 licensing is per CPU socket with a maximum of two sockets per server. This is a critical distinction. A socket is a physical processor package on the motherboard—not a core, not a thread, not a logical CPU. When licensing SE2, you must count the number of physical CPU sockets occupied on the server and multiply by $17,500 per socket, up to a maximum of two sockets.

The financial implication is significant. A single-socket server costs $17,500 to license. A two-socket server costs $35,000. A three-socket server cannot run SE2 at all—it requires Enterprise Edition with processor-level licensing, which at $47,500 per processor (and potentially much higher with multi-core processors) quickly escalates costs. Oracle enforces this hard limit in licensing agreements: SE2 is simply not available for purchase on hardware with three or more CPU sockets. This creates a forcing function: if you need more than two sockets, you must move to Enterprise Edition.

Hardware Constraints and CPU Thread Limits

SE2 imposes hard limits on the number of CPU threads the database can use, independent of how many threads your physical hardware provides. This is where many organizations encounter compliance problems, particularly those running older SE2 implementations that predate the widespread adoption of high-core-count processors.

The 16 CPU Thread Maximum

SE2 databases can use a maximum of 16 CPU threads, regardless of the server's actual processor configuration. This maximum applies to the sum of all logical CPUs (threads) that the database can spawn, including all background processes, user sessions, and parallel query threads. The limit is enforced at the database parameter level and cannot be exceeded through configuration.

This 16-thread limit was introduced when processor manufacturers typically produced dual-socket systems with 4-6 cores per socket, yielding 16-24 logical threads total (including hyperthreading). In that era, the constraint was rarely an issue. Modern processors, however, commonly ship with 8, 10, 12, 16, or more cores per socket. A two-socket server with 12-core processors contains 48 logical threads. SE2 can only use one-third of them. This creates a scenario where you license hardware you are not allowed to use.

Maximum 2 Physical CPU Sockets Constraint

Beyond the thread limit, SE2 imposes a hard maximum of two physical CPU sockets per server. You cannot license SE2 on a three-socket, four-socket, or larger system, period. If your server has three or more sockets, Oracle's licensing policy requires you to purchase Enterprise Edition regardless of whether you intend to use only a fraction of the available computing power.

This constraint directly affects data center hardware planning. Organizations purchasing enterprise-grade servers typically encounter dual-socket and quad-socket configurations. If you are committed to SE2, your hardware procurement must be limited to dual-socket systems. This can restrict your server selection options and may require negotiating with vendors for non-standard configurations or smaller form factors.

Soft Partitioning in Virtualized Environments

The complexity of SE2 hardware limits extends into virtualized environments, particularly on VMware. Oracle's soft partitioning rule states that in a virtualized cluster (VMware cluster, Hyper-V cluster, etc.), you must license all CPUs in the cluster, not just the cores allocated to the specific SE2 VM. This is Oracle's anti-circumvention rule: you cannot run SE2 in a VM on a beefy 48-core server and claim you only need to license for the 4 vCPUs you allocated to the VM.

In practice, this means that if your VMware cluster contains servers with 24 cores each, and that cluster can host any VM running SE2, you must license SE2 for the entire cluster's CPU count. Alternatively, you can partition your physical cluster into separate partitions, with each partition sized to comply with SE2 hardware limits. The financial exposure is lower for SE2 than for Enterprise Edition (since SE2 licenses per socket, not per core), but it remains a significant consideration in large virtualized environments.

Named User Plus (NUP) Licensing and Minimum Requirements

While SE2's per-socket licensing provides a hard cap on server licensing costs, it is not the complete picture. Organizations must also account for Named User Plus (NUP) licensing, which is the user-level licensing metric for SE2 deployments.

What is Named User Plus?

Named User Plus is a licensing metric that counts individual users—named, identified individuals who access the database. Unlike Enterprise Edition's more complex licensing model where NUP is optional and can be substituted with processor licensing, NUP is mandatory for SE2. You cannot license SE2 exclusively on processor metrics; you must use NUP.

One NUP grants one named user the right to access the database. If you have 50 named users in your organization, you must purchase 50 NUPs. Each NUP carries a list price of $350. The term "named user" means a specific individual who is assigned an account in your system and can be held accountable for database access through audit logs and administrative records. It does not include anonymous or non-human access.

Minimum NUP Requirements Per Socket

SE2 imposes a minimum of 10 Named User Plus licenses per socket. If you license one SE2 socket, you must purchase a minimum of 10 NUPs, regardless of how many actual users will access the database. If you license two SE2 sockets, the minimum is 20 NUPs. This minimum exists to prevent extreme low-end abuse of the licensing metric (for example, claiming a single user needs the entire database just to reduce NUP costs).

For a single-socket SE2 deployment with the minimum 10 NUPs, the total licensing cost is $17,500 (socket) + (10 x $350) = $21,000 per year at list prices. For a two-socket deployment with 20 NUPs minimum, the cost is $35,000 + (20 x $350) = $42,000 per year. Many organizations with light user populations (fewer than 10 named users) must pay the 10-NUP minimum, making the per-user cost extremely high on a per-capita basis.

Calculating NUP Requirements Accurately

Identifying "named users" requires careful documentation. Oracle's definition includes anyone who can log into the database, run queries, execute stored procedures, or otherwise interact with the database system. This includes database administrators, application service accounts, batch processes executed under a specific user context, and human end-users. It does not include service accounts in technical clusters where multiple services share a single account, provided you document that the account is shared and the actual humans are separately counted.

Many organizations undercount NUPs by failing to include automated batch processes, scheduled jobs, ETL tools, and service accounts that run under specific user identities. Oracle audit teams are highly trained to identify these accounts and assess whether they represent separate named users subject to NUP licensing. Conservative practice is to count every uniquely named account that can access the database as a named user, then defend exceptions to that principle with clear documentation and technical specifications.

Oracle SE2 and Clustering: From RAC Support to SEHA Replacement

One of the most critical licensing changes in recent Oracle history involves SE2 and Real Application Clusters (RAC) support. This warrants detailed examination because many organizations were licensed for SE2 with RAC deployments under older Oracle versions and may not realize their current configuration is no longer compliant.

RAC Support in SE2: Oracle 12c and 18c

Through Oracle Database 12c and 18c, SE2 supported Oracle Real Application Clusters (RAC), but with constraints. SE2 RAC deployments were limited to a two-node cluster: you could not build a three-node, four-node, or larger SE2 RAC cluster. This made sense given the per-socket hardware limits (max 2 sockets per server) and the licensing economics (max two sockets per machine times two machines = four sockets total in a two-node cluster).

Organizations running SE2 with RAC on two-node clusters were obtaining true active-active high availability: both nodes could process database requests simultaneously, providing load distribution and redundancy. If one node failed, the other continued serving the database without interruption. RAC provided automatic workload distribution, transparent failover, and read-write availability across nodes. For small-to-medium critical applications, this was a legitimate high-availability solution within the SE2 licensing framework.

RAC Removal in Oracle Database 19c

Oracle Database 19c (released in 2019) introduced a watershed change: RAC support was removed from Standard Edition 2. Organizations running SE2 cannot implement new RAC clusters starting with 19c, and existing SE2 RAC clusters cannot be upgraded to 19c without changing the licensing model or the architecture.

This change reflects Oracle's strategic positioning. By removing RAC from SE2, Oracle forces customers needing active-active clustering to upgrade to Enterprise Edition, which includes RAC as part of the base license. This creates a significant revenue uplift: moving from a two-socket SE2 deployment to a two-socket Enterprise Edition deployment increases licensing costs from $35,000 to $95,000 for the same hardware. For multi-node clusters, the costs scale further.

Organizations running SE2 with RAC on Oracle 18c (or earlier) face a decision when Oracle Premier Support for their version ends. Remaining on 18c indefinitely introduces security risk and prevents access to newer features and performance improvements. Upgrading to 19c (or later) requires either abandoning RAC or acquiring Enterprise Edition licenses, creating immediate unbudgeted capital expenditure.

SE2 High Availability (SEHA): The RAC Replacement

Oracle's solution for SE2 high-availability requirements (post-19c) is Standard Edition High Availability (SEHA). SEHA is not a separate product; it is a supported configuration of SE2 using Oracle Clusterware (the cluster management layer) with a critical constraint: only one SE2 instance is active at any given time. The other instance(s) in the cluster are standby or waiting for failover, but they are not processing database requests.

SEHA provides automatic failover: if the active instance crashes, Oracle Clusterware detects the failure and brings up the standby instance to take over processing. From the application perspective, this appears as a brief interruption followed by recovery. However, SEHA is not active-active. You cannot distribute workload across multiple instances simultaneously. You cannot achieve read-write load balancing. The benefit is availability, not scalability.

The cost structure of SEHA is favorable: SEHA is included at no additional cost with SE2. You purchase SE2 licenses for one node (one socket minimum, two maximum), deploy Oracle Clusterware for failover coordination, and set up a second node as a warm standby. When the primary fails, the standby activates. This provides availability similar to a cold-standby Data Guard configuration but with automated failover orchestration. Organizations valuing simplicity and cost over performance scalability find SEHA sufficient.

Oracle Database Cloud Licensing: SE2 in AWS, Azure, and GCP

Cloud deployment of SE2 introduces new licensing variables because cloud providers do not sell "sockets"—they sell vCPUs (virtual CPUs). Oracle has defined cloud-specific hardware equivalence rules to map the socket concept to cloud compute units.

SE2 Limits in Cloud Environments: 8 vCPU Maximum

In cloud environments (AWS, Azure, Google Cloud Platform), Oracle treats 8 vCPUs as equivalent to one SE2 socket (for licensing purposes, not for the technical 16-thread limit). Therefore, SE2 in the cloud is limited to a maximum of 8 vCPUs per instance. This reflects Oracle's interpretation that 8 vCPUs approximates the compute capacity of a traditional two-socket server with dual-core processors (a reasonable approximation for older hardware, though not for modern multi-core systems).

The practical implication: if you provision an Amazon EC2 instance with 16 vCPUs and attempt to run SE2, Oracle licensing requires you to pay for two SE2 licenses (two sockets). If you provision 32 vCPUs, Oracle requires four licenses, but SE2 licensing limits you to a maximum of two sockets per instance. Therefore, you cannot legally deploy SE2 on instances larger than 8 vCPUs without moving to Enterprise Edition.

AWS RDS offers SE2 with included licensing on qualifying instances (db.t3.xlarge, db.t3.2xlarge, and select other instance types up to 8 vCPUs). AWS RDS SE2 includes the SE2 license fee in the hourly instance charge, simplifying the licensing calculation. You pay a single RDS fee; Oracle licensing is included. This is an attractive option for organizations seeking simplicity and predictability in cloud licensing.

Azure SE2 Cloud Licensing

Microsoft Azure implements SE2 licensing similarly to AWS: 8 vCPUs per socket maximum. Azure Virtual Machines running SE2 must not exceed 8 vCPUs. Azure also offers SE2 on Azure SQL Database with included licensing on lower-tier service objectives, though the configuration options are more limited than traditional IaaS deployments.

Google Cloud Platform SE2 Deployment

Google Cloud Platform applies the same 8 vCPU per socket rule. GCP Compute Engine instances running SE2 are limited to 8 vCPUs per SE2 license. GCP does not offer SE2 on fully managed database services (Cloud SQL on larger tiers requires Enterprise Edition or uses MySQL/PostgreSQL alternatives), so SE2 deployment on GCP typically involves Compute Engine VMs with database management responsibility on the customer.

Oracle Cloud Infrastructure (OCI) SE2 Deployment

Oracle Cloud Infrastructure (OCI) defines SE2 limits differently than public cloud providers. On OCI, SE2 is limited to 4 OCPUs (Oracle CPUs) per instance, where each OCPU represents a physical processor core. The 4 OCPU limit is stricter than the 8 vCPU limit on AWS/Azure/GCP, reflecting OCI's different compute unit definitions. Four OCPUs on OCI approximate 8 vCPUs on AWS (assuming rough equivalence of 2 vCPUs per OCPU, though this varies with workload characteristics). OCI Database Exadata Cloud Service and OCI Database Cloud Service both enforce this 4 OCPU limit for SE2 deployments.

SE2 Feature Limitations: What You Cannot Do

Beyond hardware and licensing constraints, SE2 excludes a significant set of Oracle features available in Enterprise Edition. Understanding what you are giving up is essential to SE2 feasibility analysis.

Partitioning: Excluded in SE2

Oracle's Partitioning option—which divides large tables and indexes into smaller, independently manageable pieces—is exclusively an Enterprise Edition feature. SE2 supports only non-partitioned tables. For databases with extremely large tables (terabyte-scale), this limitation becomes material: partitioning improves query performance, accelerates index maintenance, and simplifies data lifecycle management. Organizations requiring partitioning must move to Enterprise Edition.

Real Application Clusters (RAC) Removed in 19c

As discussed, RAC was removed from SE2 starting with Oracle 19c. New SE2 deployments cannot implement RAC. Existing RAC deployments on older SE2 versions must remain on that version, upgrade to Enterprise Edition, or migrate to SEHA.

Advanced Security and Encryption (TDE)

Transparent Data Encryption (TDE), which encrypts data at rest without requiring application changes, is bundled with Enterprise Edition. SE2 includes basic encryption capabilities, but many advanced security features require Enterprise Edition licensing or additional fees. This is a significant consideration for regulated organizations requiring encryption compliance.

Diagnostics and Tuning Packs

Oracle offers Diagnostics Pack and Tuning Pack as optional add-ons to Enterprise Edition. These are not available for SE2. The Tuning Pack, in particular, provides SQL tuning advisors, automatic SQL plan management, and performance analytics that can significantly accelerate database optimization. Organizations relying on these tools must use Enterprise Edition or manage performance through basic (non-pack) diagnostic methods.

Database Vault and Label Security

Database Vault (fine-grained access control and privileged user monitoring) and Label Security (row-level data classification) are Enterprise Edition exclusive. SE2 includes basic role-based access control and auditing but not vault-level privilege management.

Advanced Analytics and Machine Learning

Oracle Advanced Analytics and Oracle Machine Learning options require Enterprise Edition. SE2 does not include predictive modeling, anomaly detection, or embedded machine learning functionality.

In-Memory Option

Oracle Database In-Memory (IM), which caches frequently accessed data in columnar format for extreme performance on analytical queries, is exclusively an Enterprise Edition feature and a separately licensed option. SE2 uses traditional row-based storage and caching mechanisms only.

Multitenant: Limited to 3 PDBs in SE2 21c

Starting with Oracle 21c, SE2 supports the Multitenant architecture (Container Database with Pluggable Databases), but with a hard limit: only 3 pluggable databases (PDBs) per container database (CDB). Enterprise Edition has unlimited PDBs. This constraint affects data center consolidation strategies: if you need more than 3 logical databases, you must either deploy multiple CDBs (with associated licensing) or use Enterprise Edition. Most organizations find the 3 PDB limit manageable for departmental deployments but restrictive for broader consolidation.

SE2 Data Guard and Standby Database Licensing

Oracle Data Guard is a capability available in SE2 that allows creation of physical standby databases for read-only access and failover protection. Understanding SE2 Data Guard licensing is critical because misconfigurations frequently trigger Oracle audit findings.

Physical Standby with SE2: Read-Only Allowed

SE2 includes the ability to create and maintain a physical standby database. The standby database receives redo logs from the primary and applies them asynchronously, remaining synchronized with the primary database's changes. The standby database can be read (Data Guard read-only mode), providing a way to offload analytical queries or reporting from the primary, reducing workload on the production system.

The licensing requirement is important: the standby database itself is not separately licensed if it is read-only and used only for disaster recovery and reporting. You purchase SE2 licenses for the primary database; the standby operates under those same licenses. However, if the standby is ever activated to read-write mode (either in failover or for manual testing), it may constitute a second instance requiring separate SE2 licenses. This is where careful operational procedures are essential: standby failover testing must include temporary acquisition of licenses for the standby if it will be in read-write mode, or the test must keep the standby read-only.

Active Data Guard: Enterprise Edition Only

Active Data Guard (which allows the standby to process read and write workloads simultaneously with the primary, with automatic synchronization) is exclusively an Enterprise Edition feature and a separately licensed option ($5,000 per processor per year). SE2 cannot implement Active Data Guard.

Licensing Cost Comparison: SE2 Versus Enterprise Edition

The financial comparison between SE2 and Enterprise Edition is often the deciding factor in technology choices. While SE2's per-socket model provides a hard cap, Enterprise Edition's processor-based licensing can be significantly cheaper on modest hardware or more expensive on high-core-count systems.

Single-Socket or Small Two-Socket Deployments

For a single-socket deployment with minimal users: SE2 costs $17,500 (socket) + minimum $3,500 (10 NUPs x $350) = $21,000. Enterprise Edition costs $47,500 (one processor). SE2 is 55% cheaper. For two-socket deployment with 20 NUPs: SE2 costs $35,000 + $7,000 = $42,000. Enterprise Edition costs $95,000. SE2 is 56% cheaper.

In these scenarios, SE2 is the more economical choice from a licensing perspective alone. The decision should also factor in feature requirements and hardware limits.

High-Core-Count Modern Processors

Modern Intel Xeon and AMD EPYC processors deliver 16, 20, 24, or more cores per socket. A two-socket system with 24-core processors contains 96 logical threads. SE2 is limited to 16 threads and requires two licenses ($35,000 total). Enterprise Edition, by contrast, licenses per processor: $47,500 per processor x 2 processors = $95,000. Even though Enterprise Edition is more expensive in absolute terms, you are licensing your actual compute capacity. With SE2, you purchase $35,000 in SE2 licenses but can only use 16 of 96 available threads, wasting 88% of your server's computational potential.

Multi-Server Deployments and Scalability

SE2 scales through horizontal expansion—adding more servers—since each server maxes out at 2 sockets and 16 threads. If you need to double database capacity, you must add another two-socket server, paying another $35,000 in SE2 licenses. With Enterprise Edition, you can add processors to existing servers or purchase higher-core-count processors, scaling within a single system. For deployments expecting significant growth, Enterprise Edition's ability to scale within servers is more cost-effective long-term, despite higher initial licensing costs.

Support Costs: SE2 vs Enterprise Edition

Annual support (Oracle Premier Support) is calculated as a percentage of net license fees. SE2 support runs 22% of the net license fee per year. If your list price for SE2 is $21,000 (socket + NUPs), your annual support is approximately $4,620. Enterprise Edition support is also 22% of license fee, so a $95,000 Enterprise Edition deployment costs $20,900 in annual support.

Critically, Oracle increases support costs 8% compounding annually. If you maintain support continuously, your Year 5 support costs are 46% higher than Year 1. If support lapses (renewal lapses, then restarts later), Oracle imposes back-pay at current rates with 8% annual compounding interest. This punishes customers who let support lapse: skipping a year of support can result in back-pay costs exceeding the original annual fee. For SE2, this is still manageable due to lower base costs, but it remains a significant ongoing expense that should not be overlooked in total cost of ownership calculations.

Misconfiguration Scenarios and Compliance Risks

Many organizations encounter Oracle audit findings related to SE2 misconfiguration. Understanding common scenarios helps you avoid these pitfalls.

Running SE2 on Three-Socket Servers

The most straightforward violation occurs when an organization licenses SE2 but deploys the database on a three-socket or larger server. SE2 licensing agreement explicitly forbids this. If Oracle audits and finds this configuration, the organization must immediately acquire Enterprise Edition licenses for all processors on that server or migrate the database to SE2-compliant hardware. This typically results in large true-up payments, often retroactive to the violation start date.

Exceeding 16 CPU Threads

Organizations running SE2 with parameter-level thread limits set to values higher than 16 (or with no limit, allowing the database to spawn more than 16 threads) are in violation. While Oracle's licensing audit tools may not directly detect this if the database silently limits itself, operational monitoring tools and query analysis might reveal high thread counts, triggering an audit question. Conservative practice is to verify SE2 thread limits are correctly set to 16 or lower.

Soft Partitioning in Virtualized Clusters

Organizations running SE2 in a VMware cluster without properly partitioning the cluster often miscalculate licensing. If the cluster has 48 cores and you run one SE2 instance in a 4 vCPU VM, you may believe you need only 4 vCPU licensing. In fact, Oracle's soft partitioning rule requires licensing all 48 cores in the cluster unless you create a separate partition for SE2 systems. This frequently results in significant audit findings and remediation costs.

Failing to Include All Named Users

Organizations frequently undercount named users, excluding service accounts, batch processes, and automated tools that access the database under specific user identities. Oracle auditors are well-trained to identify these accounts and assess licensing compliance. Conservative practice is to count every uniquely named account and be prepared to defend limited exceptions with clear technical documentation.

Upgrade Paths: From SE2 to Enterprise Edition

Organizations planning to upgrade from SE2 to Enterprise Edition should understand the financial and operational implications. There is no upgrade credit; Oracle does not provide discount on Enterprise Edition based on existing SE2 licenses. You must purchase full Enterprise Edition licenses at list price ($47,500 per processor), paying the full amount in addition to any remaining SE2 license value.

The operational upgrade path is straightforward: clone the SE2 database to an Enterprise Edition instance, switch applications, decommission the SE2 instance. The licensing transition requires purchasing new Enterprise Edition licenses, obtaining proper documentation of the transition, and updating your Software Asset Management (SAM) records. Organizations planning to outgrow SE2 should budget for this transition rather than expecting credit for earlier SE2 investments.

Oracle SE2 Support and Maintenance Lifecycle

Oracle Support for SE2 follows the standard support lifecycle. Oracle Database 12c, 18c, and 19c are in Premier Support. Oracle Database 21c is in Extended Support. Understanding support timelines is essential for infrastructure planning because unsupported versions must be upgraded or abandoned.

Annual support renewal is critical. If support lapses, Oracle charges back-pay at current rates with 8% compounding interest. Skipping two years of support on a $21,000 SE2 deployment could result in back-pay obligations exceeding $6,000 when support is reactivated. Organizations should establish automatic support renewal processes or formal budgeting cycles to prevent accidental lapses.

SE2 Decision Framework: Is SE2 Right for Your Organization?

SE2 is appropriate when all these conditions hold: (1) your database workload can operate within two sockets and 16 CPU threads; (2) you do not require partitioning, RAC, or other Enterprise-Edition-exclusive features; (3) your user count is sufficient to justify the 10-NUP minimum (or you can absorb the cost of the minimum despite having fewer users); (4) you can commit to timely support renewal to avoid back-pay penalties; (5) your hardware procurement is limited to two-socket systems, reducing flexibility in server selection.

SE2 is not appropriate when you anticipate multi-node active-active clustering beyond SEHA (unless you remain on 18c permanently, which introduces security risk), require partitioning, need unlimited pluggable databases (more than 3 PDBs), plan to scale to more than two sockets within the license term, or require features like Advanced Security, Tuning Pack, or In-Memory option.

For many small-to-medium organizations with stable workloads and modest scaling requirements, SE2 offers an attractive cost-effective option with hard license ceiling and manageable total cost of ownership. For growing organizations, large enterprises, or those with sophisticated technical requirements, Enterprise Edition's feature breadth and scalability typically justify the higher costs, particularly when considering multi-year depreciation and the cost of data center infrastructure.

FF
Fredrik Filipsson
Co-Founder, Redress Compliance. Ex-Oracle LMS auditor with 20+ years in enterprise software licensing. Specialises in processor licensing, SE2 vs EE decisions, virtualisation compliance, and ULA/PULA certification.
LinkedIn Profile →