Restoring a database in OCI can be done through the UI in the database screen. Under the name of the database is a button labeled Restore. In the Restore dialog screen, you have the option of restoring to the last known good state, to a specific timestamp, or to a specific system change number (SCN). Knowing which of these to choose requires one to know a little about the state of the backups for a database. If there are no backups available, choosing any of the three options will return an error. Before shutting down the instance and going through the restore process, Oracle executes an RMAN validate using the timestamp or SCN provided in the backup dialog. While this won’t protect you in every case, it will eliminate many failed recovery scenarios that could leave the database in an unhealthy state.
An alternative to restoring the existing database is to use the backup to create a database clone. On the database screen in the UI, click on the three dots next to one of the full backups and select Create Database. The options in this dialog are similar to provisioning a new VM and include the ability to choose a different VM shape than the one chosen for the original database. This is a good way to scale up the compute power or even do a RAC conversion of an existing database system.
Unlike Data Guard and backups, there are no OCI management utilities for creating and managing pluggable databases (PDBs), but there are a few things to be aware of with dealing with pluggable databases in OCI. By default, all databases created in OCI use Transparent Database Encryption (TDE). The USERS tablespace in the root and all pluggable containers are encrypted, as well as any newly created tablespaces.
When a new PDB is created, an encryption key must also be created since each PDB requires its own master key in the wallet. Following the creation of the PDB, execute the following SQL*Plus command while logged into the PDB:
administer key management set key force keystore identified by “wallet-pwd” with backup;
The client networking of OCI databases might catch a DBA off guard, especially if they are not used to using domains in their database networks. In most environments, the database unique name (DB_UNIQUE_NAME) matches the database name (DB_NAME). In OCI, that is not the case. The unique name will be the database name appended with an underscore and six random letters and numbers. The default service name is the unique name appended with the full domain.
There are a number of ways to find the database unique name on the server, but the easiest way is to just look at the Database Details screen in the UI. The Database Unique Name can be found beneath the Database Version and Database Workload.
The PDB service names as well as any added services will also be appended with the full domain. Not including the domain with the service name will result in failed database connections from external connections, as well as connections from within the database server.
Managing Oracle databases in the cloud may require some adjustments to the way you are used to doing things, so there is likely a learning curve when adding the additional tasks discussed in this article. In the end, database services in OCI are engineered to save time and avoid problems, among other things, so it is definitely worth the investment.
The next article in this series will dive deeper by taking a look at the command-line and API tools available in OCI and how they can be used to manage and automate cloud databases.