Provisioning an Oracle DB service

Provisioning tessell application in the DB Services family helps you provision Oracle database services hosted on the available cloud regions. You can provision the database service on the basis of your workload.


Prerequisites:

  • Ensure that you have registered your cloud subscription and added your network details in the Subscriptions application under the Governance app family.

    For more information on cloud subscriptions, see <Subscription onboarding>.

  • Ensure that you have registered your Oracle licenses based on database editions and major software releases in the DB governance application under the Governance app family.

    For more information on licenses, see <Licenses app>.


Supportability Matrix

DB Engine

Edition

Version

Support Status

Oracle

Standard Edition 2

12.2

19c

21c

Partial Support

Oracle

Enterprise

12.2

19c

21c

Full Support

For supported features, see Supported features.


STEP 1 OF 9:

Navigate to Provisioning application

  1. From the Tessell home page, select the Provisioning application under the DB Services application family in the left-hand menu.

    Available database engines are displayed and categorized into relational databases, vector databases, and NoSQL databases.

  2. From the available options in the relational databases, select Oracle database engine.

Figure 1: Selecting Provisioning in DB Services


STEP 2 OF 9:

Service Details

  1. Specify a name for the database service in the Service Name field. This service name is a logical name of the database service on Tessell platform.

    • A service name must begin with a letter, followed by alphanumeric characters. Spaces, hyphens, and underscores are allowed. For example, ‘2my-service’ is not allowed since it begins with a digit.

    • By default, the database service name is auto generated. You can override this name.

  2. Optionally, specify a description for your database service in the description box.

  3. Click +Add next to Tags and specify a name and value to your database service tag.

    • You can associate multiple tags with the resources in the database service.

    • Tessell allows for the use of both internal and external tags. While Tessell provides its own internal tags, you also have the option to create your own external tags during provisioning.

    Note:

    • Tags enhance database service management and enable users to monitor usage, establish ownership, and implement policies more efficiently.

    • You can specify up to 50 external tags per resource.

    Tessell supports following internal tags:

    • TESSEL_COMPUTE_RESOURCE_ID

    • TESSELL_COMPUTE_TYPE

    • TESSELL_DBSERVICE_ID

    • TESSELL_DBSERVICE_NAME

    • TESSELL_ENTITY_ID

    • TESSELL_ENVIRONMENT

    • TESSELL_REFERENCE_ID

    • TESSELL_SUBSCRIPTION_ID

    • TESSELL_TENANT_ID

    • TESSELL_USER_ID

    Tags are associated with following cloud resources:

    • Compute (VM/container)

    • Storage (disks, volumes, snapshots)

    • Networking components

    • Backups and snapshots

    • Secrets and keys

    • Monitoring and logging resources.

  4. Choose a database edition based on your Oracle licenses, Oracle offers Standard and Enterprise editions.

    Notes:

    • Tessell offers support for Enterprise edition and Standard edition 2.

    • Tessell works on Bring your own license model.

    • Tessell is not responsible for Oracle licenses of the customer.

  5. Choose the desired software release for this instance from the dropdown list.

  6. To run a specific release version, click the pencil icon and choose the desired version number.

    For more information on supported Oracle software releases and OS versions, see Supported OS versions.

  7. Select the Create as a Container Database check box if you want to create your service in an oracle container database.

    For Oracle database 21c and later, only container databases are supported. As a result, the option to select a container database is disabled for version 21c.

    Note: Container databases offer increased flexibility and more efficient resource utilization by grouping multiple databases, allowing them to share common features.

Figure 2: Service details section


STEP 3 OF 9:

Cloud Provider Settings

Choose a cloud provider and subscription where you want to run this database instance.

  1. Choose a cloud subscription from the dropdown list.

  2. Choose a corresponding cloud region to deploy from the dropdown list.

  3. Choose a VPC or VNet depending on the cloud provider to deploy from the dropdown list.

    Network can be added even after subscription registration in the Networks application under the Governance app family.

  4. Choose an Availability Zone to deploy from the dropdown list.

  5. Choose a private subnet to deploy from the dropdown list.

Figure 3 - Cloud provider settings section


STEP 4 OF 9:

Compute Shape

After you choose the cloud provider, choose a compute shape for the instance. The Tessell team typically collaborates with you to determine the most suitable shape based on your performance needs.

  1. Select a workload type, High Performance or Standard (Default).

    Note:

    • The High-performance workload type offers an optimized configuration with increased CPU, memory, and IOPS, making it ideal for applications that are compute or data-intensive.

    • The Standard workload type offers a balanced configuration of CPU, memory, and storage, making it suitable for general-purpose applications.

    • Compute shapes cannot be modified after a high-performance workload type service is provisioned.

  2. Select the server preference, Existing Server or New Server.

    Note:

    • For Oracle, Tessell supports a multi-service model that means a single VM can host multiple Oracle instances.

    • Choice of selecting an existing server is available only in standard workload type.

    • The option to select an existing server becomes available only if a server has already been provisioned within the chosen subscription and region, and if that server has the 'Allow multiple services to be hosted on this server' option enabled.

  3. For a new server, do the following:

    1. Specify the number of vCPUs needed for your instance.

      This adjusts the compute shapes that are available to you.

    2. Select the compute shape for this instance.

      For more information on supported compute shapes, see Tessell compute shapes.

    3. Select whether to host multiple services on this server in the check box.

      Note: This feature enables improved resource management, efficient in situations where multiple smaller services can share the same server without experiencing performance issues.

    4. Specify a name for your new server.

      The server name must be alphanumeric and 6 to 20 characters long.

      Note: The server name is typically used as a suffix in the database server name. This name is also used in creating cloud VM.

  4. For an existing server, do the following:

    1. Use the Search bar to search for a specific server if there are multiple servers listed.

    2. Use the filter to select a free memory from the available choices. This displays the available servers within that selection in the dropdown list.

    3. Hover over the Applied configuration menu to view the configurations for your instance. It displays the following:

      • Engine - Displays the database engine.

      • Compute - Displays the compute shape available in the existing server.

      • Subscription - Displays the cloud subscription chosen.

      • Cloud - Displays the cloud provider chosen.

      • Region - Displays the cloud region chosen.

      • Encryption key - Displays whether an encryption key is enabled.

      • Public Access - Displays whether public access is enabled.

      • SSL - Displays whether SSL is enabled.

      • VPC - Displays the VPC/VNet chosen as per the cloud provider.

      • Private Subnet - Displays the private subnet chosen as per the cloud provider.

      • Software image - Displays the software image chosen for your database.

    4. Available existing servers are displayed as per the chosen configuration along with the compute size and availability zone information.

    5. On the right-side, you can view the number of services hosted in the existing server and the available free memory out of the allocated memory.

    6. A tooltip is displayed if a higher software version is available for your database service.

    7. Click View supported versions to see available software versions.

  5. Select the storage type based on the cloud provider.

  6. Specify the required storage capacity for this instance.

    A range of storage values is displayed as a help text according to the selected compute shape.

    Note:

    • In High performance workload type, storage type is automatically calculated.

    • Tessell offers support for multi-disk striped mount points that can host database files. This functionality enables storage in TBs and enhances IOPS and throughput through striping. This feature is not enabled on the portal by default; to use it, please contact Tessell support.

  7. Select Enable encryption at rest check box to encrypt your data at rest.

    Tessell encrypts data at rest with a default encryption key. You have the option to choose a different encryption key if needed. To use a different encryption key, ensure that you have registered encryption keys in the Security application under the Governance app family.

    Note: Tessell’s default encryption is cloud native disk encryption.

  8. Expand the Advanced Configuration to access further advanced configuration options.

    1. Specify the IOPS value for your storage configuration.

      The minimum value is 3,000 IOPS.

    2. Specify the throughput value for your storage configuration.

      The minimum value is 125 MBps.

    3. For AWS subscriptions, select the desired number of vCPUs to optimize your instance for specific workloads that essentially reduces licensing costs.

Figure 4 - Compute shape section for a new server

Figure 5 - Compute shape section for an existing server


STEP 5 OF 9:

High Availability

  1. Select High Availability option to create highly available multi-AZ service by setting up standby database instances in different availability zones.

  2. If an existing server is available, choose between an existing server or new server.

  3. For a new server:

    1. Choose an availability zone and a private subnet from the dropdown lists for this instance.

  4. For an existing server:

    1. Choose an availability zone and a private subnet from the dropdown lists for this instance.

    2. Use the Search bar to search for a specific server if there are multiple servers listed.

    3. Use the filter to select a free memory from the available choices. This displays the available servers within that selection in the dropdown list.

    4. Hover over the Applied configuration menu to view the configurations for your instance. It displays the following:

      • Engine - Displays the database engine.

      • Compute - Displays the compute shape available in the existing server.

      • Subscription - Displays the cloud subscription chosen.

      • Cloud - Displays the cloud provider chosen.

      • Region - Displays the cloud region chosen.

      • Encryption key - Displays whether an encryption key is enabled.

      • Public Access - Displays whether public access is enabled.

      • SSL - Displays whether SSL is enabled.

      • VPC - Displays the VPC/VNet chosen as per the cloud provider.

      • Private Subnet - Displays the private subnet chosen as per the cloud provider.

      • Software image - Displays the software image chosen for your database.

    5. Available existing servers are displayed as per the selections made along with the compute size and availability zone information.

    6. On the right-side, you can view the number of services hosted in the existing server and the available free memory out of the allocated memory.

Figure 6 - High Availability section for a new server

Figure 7 - High Availability section for an existing server


STEP 6 OF 9:

Connectivity

  1. For a new server, do the following:

    1. Specify a port number for your connection.

      Oracle database uses 1521 as the default port, however you can mention a different port number in the range 1 to 65535.

    2. Select whether to enable SSL.

      Note:

      • Enabling SSL subscription enhances the security of database connections, safeguarding sensitive information and protecting data exchanged from unauthorized access or interception.

      • Tessell supports either SSL or non-SSL connections only for all the database services on a VM.

    3. Select whether to enable public access.

      This option is only available when a public subnet exists within the VPC/VNet.

  2. Specify the allowed IP addresses.

    • Your detected public IP address should be automatically selected.

    • You can add up to 60 IP addresses.

Figure 8 - Connectivity section


STEP 7 OF 9:

Configure the database instance

  1. Specify the database name in the SID field.

    A database name must start with a letter or underscore and can only contain alphanumeric characters and underscores. The character limit is 8.

  2. Specify master username and master password in their respective fields.

    • Username must start with a letter or underscore and can only contain alphanumeric characters and underscores. The character limit is 32.

    • The password must be at least 9 characters long and can include alphanumeric characters and the following special characters: !, #, $, %, ^, &, *.

  3. Specify a timezone for your instance.

    Note:

    • Timezone is important for ensuring that all timestamps and time-related data stored in the database are accurate and consistent.

    • For an existing server, you cannot modify the timezone.

  4. Expand the Advanced Configuration to access further advanced configuration options.

    1. Choose a character set and national character set in their respective dropdown list.

      Note: Tessell supports all character sets in the Oracle ASCII character sets list.

    2. Choose a parameter profile from the dropdown list, click Validate to validate the parameter profile.

      You cannot create a service without validating the parameter profile.

      For more information on parameter profiles, see <parameter profile documentation>.

    3. Click See Values to view values corresponding to the parameter profile selected.

    4. Choose an option profile from the dropdown list.

    5. Click See Values to view values corresponding to the option profile selected.

      • If you create an oracle database instance without specifying a parameter profile and an option profile, the database instance uses a default profile.

      • To use a custom profile, ensure that you have created a parameter profile and an option profile in the DB governance application under the Governance app family.

  5. Expand Custom Script to run a custom script for your instance.

    Custom script functionality allows for additional customization and automation in managing your database operations efficiently.

    1. Choose a pre-script and post-script from their respective dropdown lists to execute actions before and after creating a database.

      To use a custom script, ensure that you have uploaded scripts in the Script Library application under the DB Services app family.

      Note: Tessell supports Shell scripts for pre-scripts that are executed after VM creation and database software installation, but prior to the Oracle instance creation.

      For the post-scripts, Tessell supports both Shell and SQL scripts. Post-scripts are executed after an Oracle instance is created.

      Privileged users, such as "ec2-user" on AWS and "azureuser" on Azure, execute Shell scripts. Oracle binaries are owned by Oracle users; therefore, any commands that require execution as an Oracle user should utilize appropriate commands within the pre-script.

      The SQL script runs directly on the Oracle instance.

    2. Click the edit icon below the post-script dropdown to choose your preferred post-script version.

    3. Select the Ignore Post-Script Failure checkbox to proceed even if the post-script operation fails.

Example of a pre-script:

#!/bin/bash

# Set timezone, restart cron, mount NFS shares, update /etc/fstab, and install sendmail
sudo timedatectl set-timezone America/New_York
sudo systemctl restart crond.service
sudo mount -t nfs nfs-server1.example.com:/appshare /opt/appshare
sudo mount -t nfs nfs-server1.example.com:/arctemp /arctemp
sudo mount -t nfs nfs-server2.example.com:/directorydev /opt/share/directory
echo -e "nfs-server1.example.com:/appshare /opt/appshare nfs defaults 0 0\n\
nfs-server2.example.com:/directorydev /opt/share/directory nfs defaults 0 0\n\
nfs-server1.example.com:/arctemp /arctemp nfs defaults 0 0" | sudo tee -a /etc/fstab
sudo yum install sendmail mailx -y
echo "Setup completed successfully."

Example of a post-script:

-- Connect as a user with CREATE USER privilege (e.g. SYSDBA)
CREATE USER my_app_user IDENTIFIED BY "StrongPassword123";
-- Grant privileges
GRANT CONNECT, RESOURCE TO my_app_user;
-- (Optional) give quota on a tablespace
ALTER USER my_app_user QUOTA UNLIMITED ON USERS;
-- Verify
SELECT username FROM dba_users WHERE username = 'MY_APP_USER';

Figure 9 - Configure the database instance section


STEP 8 OF 9:

Additional Settings

Maintenance window

  1. Expand the maintenance window to choose a specific time for maintenance activities like updates, patches, and OS patching.

  2. If a specific time window is chosen, define the start day, start time, and duration, adjustable in 30-minute increments.

  3. Toggle Enable auto minor version updates to allow automatic, seamless minor version updates.

Figure 10 - Additional settings section

Monitoring Insights

  1. Select Performance Insights to assess and analyze database load over a specified timeframe. This helps to identify bottlenecks and pinpoint areas requiring performance improvements.

    To enable performance insights, ensure that you create a Monitoring Infra in the Monitoring Performance Insights Infrastructure application under the DB Services app family.

Figure 11 - Monitoring Insights section

Availability Machine

The availability machine allows creation and maintenance of database backups for data protection purposes. The backups are retained for short-term or long-term periods as per RPO policy. You can manage snapshots and native backups by enabling transactional logs for point-in-time recovery.

  1. Select Include Transactional Logs to enable point-in-time recovery of your transactional data. This feature is crucial for maintaining data integrity and reducing data loss in case of system failures.

    These transactional logs correspond to the most recent snapshot captured.

  2. If you uncheck the Include Transactional Logs option, you see an option Enable Archive Mode below.

  3. Select Enable Archive Mode to enable archive logs, logs are backed up every 5 minutes to provide point-in-time recovery.

    Note:

    • You can choose not to backup archive logs and still enable the archive logs option. This means the database runs in archive mode that ensures snapshots are taken in hot backup mode, preventing downtime.

    • If both Include Transaction Logs and Enable Archive Mode options are turned off, the database runs in no archive mode and hence no PITR is possible, and the snapshot operation takes the database down.

  4. Select Schedule Snapshots to automate data protection and recovery. This feature regularly captures and retains point-in-time backups, enabling robust data protection, precise point-in-time recovery, and efficient cloning.

    1. Choose either a standard or custom configuration type for your RPO policy.

    2. For a standard configuration, you can specify the snapshot retention days (1 to 35 days) and a snapshot time.

      Note: Logsweep runs every 5 minutes to enable PITR recovery.

    3. For custom configurations, provide the following details:

      1. From the dropdown list, choose an RPO policy.

        To use an RPO policy, ensure that you have created an RPO policy in the DB governance application under the Governance app family.

      2. Pick a snapshot time.

      3. Select a backup day considering your chosen RPO policy and desired backup retention period.

  5. Select Schedule Native Backups to enable automatic native database backups at regular intervals. For Oracle, RMAN is the native backup technology.

    1. Choose between standard or custom configuration for your native RPO policy.

    2. For a standard configuration, you can specify backup retention days ranging from 7 to 35 days.

    3. Choose the day and time for the full backup, and the time for incremental backups.

    4. If a custom configuration is chosen, specify the following details:

      1. From the dropdown list, select an RPO policy.

        To use an RPO policy, ensure that you have created an RPO policy in the DB governance application under the Governance app family.

      2. Choose the desired full backup day, full backup time, and incremental backup time.

      3. Select a backup day considering your chosen RPO policy and desired backup retention period.

Figure 12 - Availability machine standard configuration for snapshots and backups

Figure 13 - Availability machine custom configuration for snapshots and backups


STEP 9 OF 9:

Creating a service

You can create a service in two ways, by using code or by making selections on the Tessell portal.

  1. Using the Tessell portal:

    1. After you have specified all the necessary details in previous sections, click + Create Service at the bottom of the form next to the left-hand menu bar.

  2. Using the code:

    1. Click < > Code in the top-right corner of the Provisioning window to generate an API and Terraform code for your provisioning request. You can use Terraform to create and modify many components within Tessell.

      1. Terraform code can also be visualized in other languages, including Shell, Python, Go, Java, JavaScript, and PowerShell.

      2. Use the copy icon to copy the code or API endpoint.

      3. Use the download icon to download your code.

      Figure 14 - Creating a service

Figure 15 - Code for provisioning request

After your service creation request is successfully submitted, your database service is created with a "Ready" status and listed in the "My Services" application within a few minutes, depending on your preferences.


Last updated

Was this helpful?