Cloud often raises in the top 3 solutions when thinking about Oracle infrastructure renewal. For obvious reasons: you do not need to buy any server, platform is already available, you pay as a subscription, you drastically reduce time to go to production and you can scale up and down. Oracle Cloud Infrastructure, or OCI, is a Cloud provider you should consider if you’re using Oracle databases. But what do you need to plan before choosing OCI? Let’s try to find out.
Database map and forecast
It seems obvious, but prior doing any migration project, you must have a complete map of all your databases. Most of the customers have this kind of map, but most of the time it is outdated. So refresh your database map, make sure to know each database, make sure to know which ones need to be migrated (some might be decommissioned). Also try to anticipate future needs. Are you aware of new software planned to come with an Oracle database in the next months?
In this database map you will find at least information like current host, database edition, database version, associated application, type of database (production, development, …) and criticality. Make sure to include standby databases in this map.
Going to the Cloud means that you will pay for usage of a platform or a service. Whatever you decide, you will need to size the underlying system, for example the number of CPUs. And you will pay for these allocated resources while the system will be running, so make sure to have accurate figures on resource usage on your current databases. I’m used to collect the CPU metrics in the AWR or statspack tables (I usually pick up average load and max load).
Memory needs are collected from current sga_target/pga_aggregate_target settings or even better, from v$sga_target_advice/v$pga_aggregate_target_advice on each database.
Regarding storage, try to estimate the yearly growth of your databases. If you do not need to immediately provision the target size your databases would reach in next years, it’s still convenient to already have enough storage for months.
If you plan to do your backups to the OCI’s object storage, estimate your backup size in the same time depending on retention you want.
Putting all these metrics in the database map is a good idea.
Network and compartments in OCI
You won’t probably migrate all your on-premise databases all together, your on-prem databases will live with Cloud ones for some months. So you will need to build a dedicated network for Cloud databases. It means that your old and new database will be in different subnets. And this subnets will be connected together with a VPN or direct link (Fast Connect). The Cloud network in OCI is called a VCN, and it will be divided in subnets. You need to prepare this configuration, and you may involve a network team member to do that. This is one of the first actions you will do on OCI. The very first one being the compartments creation. Compartments are isolated container for VCNs that will never communicate.
IaaS, PaaS, VM, bare metal, Exadata, Autonomous, ExaCC?
Multiple platforms and options are available for creating your databases in OCI. You should learn every possible option, and decide which one(s) is/are suitable for your needs.
First, you’ll have to know which kind of service level you’re expecting. On IaaS (compute instances), you only provision virtual machines and you do all the job, installing Oracle binaries and creating the databases. On PaaS (DB Systems), you benefit from automatic machine provisioning underlying your database creation, and features like easy backup and patching through OCI’s console. With Autonomous database, you will delegate all your DBA tasks to Oracle (mainly tablespace management, tuning, patching and backup). The higher level of service you choose, the less work you will have to do but also the less control you will have on your database. Depending on the type of service you need, you can choose running your databases on virtual machines, Bare Metal or Exadata. For those having hundreds of databases and demanding ones, and if public cloud offers don’t match with security rules in the company, also consider Exadata Cloud@customer solution. This is basically an Exadata coming to your own datacenter without buying it (you pay it as a subscription). You manage it through the OCI console but you can also connect as if it were your own server. For sure, this is not for everyone.
Study carefully all the possibilities, because cost will not be the same as you may imagine. High service level comes at a cost.
As you may know, going to the Cloud is moving to a modern infrastructure, and using recent technologies. You will need to migrate your databases if you’re still using older versions. 11g databases would have worked fine for another decade, but it’s definitely not a good idea to keep this version as OCI will drop support for them starting from 2022. Going to the Cloud means mostly using 19c, older versions like 18c or 12c are still OK but think about migrating most of your databases to 19c. Remember that 19c is 220.127.116.11, the terminal and long term release of 12c. Premier support will last until 2024, and extended support until 2027. It even might be longer if we refer to 18.104.22.168 support timeline.
Reorganization and Multitenant
Moving from an old infrastructure to a new one is the best moment to ask yourself again some questions. Is is still worth to split 2 linked schemas in 2 databases? Do I still need all these tablespaces as OCI has SSD-based storage? Can I move my reporting batches to another database? You may use datapump for migrating your databases to OCI, making reorganization quite easy.
If 19c still supports non-CDB databases, you may know that each 19c database you will create in OCI will be a PDB inside a CDB. As this will be mandatory for next versions, OCI already removed the non-CDB option from 19c database creation. This implies you are OK with that and trained to Multitenant. A DB System is designed for one CDB only, but you may create additional PDBs inside. So don’t hesitate to use Multitenant, up to 3 PDBs in a CDB if you don’t have the option, and up to thousands if you have it.
Choose your license mode
Licenses are quite different in OCI, if you’re not using IaaS. Licenses are available as a subscription when you provision your DB System. You can choose Standard Edition (DBCS SE) and it will include database encryption, because all databases will be encrypted for security reasons. Enterprise Edition does not have separate options your can add, but exists in 3 flavors: Enterprise Edition (DBCS EE), Enterprise Edition High Performance (DBCS EE-HP) and Enterprise Edition Extreme Performance (DBCS EE-EP). The latest one being fully loaded with all options.
If you don’t want to use licenses as a subscription, you can still use your own perpetual licenses (Bring Your Own License), and keep them in case you would like to move from OCI to another cloud vendor one day. Or go back to on-prem.
Make sure to choose the correct license mode because license is a serious topic. And this has a big impact on the cost.
Don’t wait for the decision to be taken. Prepare everything in advance because as soon your subscription is validated, everything is ready for starting the project. OCI’s documentation is good and publicly available, and a cost estimator allows you to do all the calculations prior choosing your design.