ORACLE MIGRATION
The old encryption module, from Oracle 9 to 21
The brief
The bank ran an old encryption module on Oracle 9, and the target was Oracle 21. The migration had to move the module — its encrypted columns, keys and legacy calls — without a duplicate environment to fall back on.
There was no backup machine and no parallel stack. The resources allowed a controlled downtime window, and the plan had to make that window safe: back the data up first, then move, and be ready to restore if production broke.
The approach
I integrated the Oracle Database Encryption module across the move and worked through the legacy PL/SQL written more than 25 years ago — reading the old functions, preserving their behaviour and carrying them onto Oracle 21.
The synchronization script was the safety net, not an A/B cutover: it copied and verified the data before the window so the system could fall back flawlessly if the migration went wrong in production. The constraints were the resources the bank gave us — one environment, a downtime window, and a script that had to be right.
The outcome
The encryption module moved from Oracle 9 to 21 inside the downtime window, with the synchronization backup ready as the fallback.
Bank transaction processing speed improved by 50%, and the 25-year-old PL/SQL kept behaving after the move.
The migration
The database was Oracle 9; the target, Oracle 21. The job was the bank's old encryption module — the encrypted columns, the keys, and the legacy calls that read them — not the OpenAPI service.
There was no backup machine, so the plan was a controlled downtime window. The synchronization script backed up the data first and kept the fallback ready: if the migration failed in production, the system could be restored without a second environment.
The synchronization script was not an A/B cutover. It existed for fallback: copy the data, verify it, and be ready to put it back. That was the safest plan the bank's resources allowed.
I integrated the Oracle Database Encryption module across the move and maintained the PL/SQL written more than 25 years ago, preserving its behaviour on Oracle 21.
A controlled migration of the bank's old encryption module: no backup machine, a downtime window, and a synchronization script that backed the data up so production could fall back cleanly.
- Team
- Dah Sing Bank engineering
- Duration
- Jul 2025 — Jun 2026
- Contribution
- Encryption module, sync scripts, PL/SQL