As most people know, an Oracle Database license is not really cheap 😉 On-premise you have to buy licenses for each server, no matter how long that server is actually running. In the Oracle Cloud this is NOT the case! With the Oracle Database Cloud Service (DBCS) you can have the Database license included in your subscription fee. When you turn off your DB instance you actually also STOP paying for the licenses!
3 of the 4 Database cloud services support this Power ON/Off feature. You can also scale up/down your database CPUs, again just paying for the amount of DB licenses for the actively used CPUs per hour.
Hidden Feature: On/Off of the DBCS VM instances
Probably the most common service is the Database Cloud Service as Virtual Machine Instance. This service supports the On/Off functionality, but it is really hidden in the UI 🙁
The Cloud UI Shows your DBCS VM as a “Database System”, inside that DB system, you have DB nodes. If you are not running RAC, your system will just have one node. This Node can be power on/off, which essentially just powers on/off the underlaying VM and stopping consumption cost.
Powering ON/OFF the Database Node takes about 1 minute, so this is really fast and you can very easily schedule this to happening in the morning and when you leave back home, making sure you only pay for the usage during your working hours. You will likely not use this for production databases, as they need to run 24/7, but for development / test environments this could really help save cost.
TIP: For 24/7 databases you can still scale up/down based on your needs to control cost. See my auto scaling for ATP/ADW and BM Databases:
i have one comment to the Database Services Overview slide.
If you use DBCS-VM with local NVME Disk, you can stop the vm but you have to pay even if the system is stopped!
I made this experience in my last client poc, with block storage it works fine.
What shape are you referring to, as I do not know of a DBCS shape with local storage.
We used iaas vm with dense io shape (2.8) not dbcs-vms, because the client couldn’t use ASM.
When using IaaS, you DB license is never included in the fee, it is always BYOL, so you can never have license flexibility.
Yes Dense I/O shapes need to be terminated
Dense I/O shapes: Billing continues for stopped instances because of the attached NVMe storage, and related resources continue to count toward your service limits. To halt billing and remove related resources from your service limits, you must terminate the instance.
In Docs https://cloud.oracle.com/database/faq
Does Oracle Database Cloud Service support stop billing?
Yes, Oracle Database Cloud Service supports stop billing for virtual machine databases. To take advantage of this capability, go to the virtual machine database system and select the desired node to stop. The database remains intact while the node is stopped. You are not billed for hours the node is not running. For partial hours, you are billed for the maximum number of OCPUs used by the database system during that hour.
Stop billing is not applicable to Bare Metal Dense I/O or Exadata DB systems, and billing continues after stopping a node, since you continue hold on to the entire hosted environment. To reduce costs for Bare Metal Dense I/O or Exdata shapes you can make use of the online CPU scaling capability of the database shape and reduce the OCPUs to 2 for DenseIO and 0 for Exadata in unused and minor used environments. Setting the OCPU count to 0 in an Exadata Cloud Service will shut down the VMs as well as any databases running.
How to handle Database on VM shutdown/startup using this script ? does it support ?
or we need to use compute on/off script for the same.
When the DB shutdown is triggered, it actually triggers a script in side the OS that nicely shutdown the apps and operating system. On startup the DB is also automatically started.
is there any script avilable for DB shutdown/startup which is hosted on VM. I do see scripts for baremetal and Compute.
Yes, the AutoScallAll script supports shutting down and powering on of DB VMs. When you specify a 0 in the schedule it will be stopped and when you specify a 1 it will be started.
thank you. Any thing for stopping/starting OIC integrations/Java Cloud services ?
Not looked at those services as they are outside of the OCI APIs at this moment. But if they support start/stopping, I will have a look at it.
Does this work for the Database – Classic (DBCS on VM ) as well ?