Oracle Linux is itself a free, binary-compatible RHEL rebuild, which surprises people: if it is free, why leave? The answer is the paid Oracle Linux Support subscription that most enterprises buy for patching SLAs and certifications, plus the gravitational pull of the Oracle ecosystem (Ksplice, Oracle Cloud, and database certifications nudging you toward more Oracle products). Teams that want the same RHEL-compatible OS without an Oracle commercial relationship move to Rocky Linux. Because both are RHEL rebuilds, this is one of the lowest-effort migrations on this site, with two specifics that genuinely matter: the kernel and the support tooling.
The good news: binary compatibility
Oracle Linux and Rocky are both 1:1 with RHEL, so your packages, package versions, SELinux policy, EPEL, and RHEL-certified software all carry over unchanged. There is no application re-platforming and no dialect translation. The migration is mechanical.
The catch: UEK vs the standard kernel
Oracle ships two kernels: the Unbreakable Enterprise Kernel (UEK), which is Oracle’s own, and the standard RHEL-compatible kernel (RHCK). Rocky uses the RHEL kernel. Before you convert:
- Check which kernel you are running. If your hosts boot UEK, confirm nothing depends on UEK-specific features or modules.
- Plan the kernel switch. After conversion you run the standard kernel; test driver and module compatibility (especially storage and network) on a representative host first.
This is the single thing most likely to bite, so handle it before fleet-wide rollout.
In-place conversion
Rocky’s migrate2rocky supports Oracle Linux as a source. After a snapshot:
curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
chmod +x migrate2rocky.sh
./migrate2rocky.sh -r
It swaps the Oracle distro packages, GPG keys, and repos for Rocky’s, then you reboot into Rocky on the standard kernel. As always, it is reversible only via your backup, so snapshot first and run it in a maintenance window. For Oracle Linux 7, there is no in-place major-version jump, reprovision those onto Rocky 9 with a kickstart and Ansible instead.
What you give up, and replace
- Oracle Linux Support and SLAs go away, decide whether you run Rocky community-supported or buy commercial Rocky support (for example CIQ) for critical hosts.
- Ksplice (Oracle’s live kernel patching) has no Rocky equivalent in the same form; if you relied on zero-reboot patching, evaluate
kpatchor a reboot-based patch cadence. - Oracle repos and tooling (ULN, Oracle Cloud agents) should be removed so hosts stop reaching for Oracle infrastructure.
Winding down the Oracle support contract
The saving here is the removed Oracle Linux Support subscription, and it only materialises once you stop the support relationship for the migrated hosts. After each host is validated on Rocky and de-Oracled, reconcile it against your Oracle support agreement so you are not renewing coverage for systems that no longer run Oracle Linux. Because Oracle support is a per-system subscription, track the migration host by host and let the support count fall as hosts move. Decide up front whether the freed budget stays as savings or partly funds optional commercial Rocky support for your most critical machines, and treat the numbers in the calculator above as illustrative until you have confirmed your support posture.
The run of play
- Snapshot every host.
- Sort by version and kernel: OL8 on standard kernel is the easy path; UEK hosts need kernel validation; OL7 needs reprovisioning.
- Pilot on a representative non-production host (real repos, agents, and workloads).
- Convert with migrate2rocky, reboot, and confirm services, drivers, and enabled repos.
- De-Oracle the host: remove ULN/Ksplice/Oracle Cloud agents and any UEK leftovers.
Checks the kernel switch adds
The Oracle-specific items make this checklist longer than a plain RHEL-rebuild conversion. Before signing off a host:
- Kernel: the host is running the standard RHEL-compatible kernel, no UEK kernel or UEK-only modules remain installed, and the boot loader default points at the standard kernel.
- Drivers: storage and network drivers behave the same on the standard kernel as they did under UEK, checked under real load, not just at boot.
- OS identity:
/etc/os-releaseand/etc/redhat-releasereport Rocky. - Repos: Rocky BaseOS and AppStream are enabled, EPEL and third-party repos resolve, and no Oracle or ULN repo definitions linger.
- Oracle agents gone: ULN registration, Ksplice, and Oracle Cloud agents are removed and no longer phoning home.
- Services and agents all return after a full reboot and re-check-in with backup, monitoring, and security.
When a driver misbehaves
For an in-place OL8 conversion, your rollback is the snapshot taken beforehand, so convert in small batches and never a full rack in one window. The kernel switch makes a pre-conversion snapshot doubly important: if a storage or network driver misbehaves on the standard kernel, restoring the UEK-booting snapshot is your fastest recovery. For reprovisioned OL7 hosts, keep the original Oracle Linux box drained but powered until the Rocky 9 replacement is proven, then cut over and decommission.
Our take
Oracle Linux to Rocky removes the Oracle support subscription and ecosystem pull while keeping a RHEL-compatible OS with a ten-year lifecycle. The migration is mechanical thanks to binary compatibility, the real work is validating the move from UEK to the standard kernel and replacing Ksplice and Oracle support tooling. Snapshot, pilot, convert OL8 in place and reprovision OL7, then strip the Oracle agents. Model the removed support-subscription cost against optional Rocky commercial support in the calculator above.