# DB Governance

DB Governance app in the Governance app family helps you manage your database configurations using parameter profiles and option profiles. You can also add database images and licenses, define RPO policies, add integrations for metrics, and configure Active Directory in the DB Governance app.

***

### Prerequisites

Ensure that you have registered your cloud subscription in the Subscriptions application under the Governance app family.

For more information on cloud subscriptions, see [Subscriptions](https://docs.tessell.com/tessell/governance/subscriptions).

***

### Software Images

On the left navigation pane of Tessell portal, select DB Governance under Governance to view the DB Governance dashboard. It consists of various tabs including Software Images, Parameters, Options, Integrations, RPO Policy, Active Directory Domain, and Licenses.

In this section, let us discuss the Software Images tab.

In this tab, all the database software images supported by Tessell are listed. Multiple versions of these software images exist in the tab. Periodically, Tessell updates the database software versions as and when they are available from the database vendor.

Tessell provides a comprehensive set of software images for each database engine and possible operating system combination. The tenants can choose which Tessell-provided software images they want to enable in their accounts.

The Software Images tab includes the following filters:

* **Search** - Specify a name of the image to search for a specific image in the search bar. As you type, the list automatically filters and displays image names that match the characters you specify.
* **Engine** - You can choose a database engine from the dropdown list. By default, all the database engines are listed. The available options are All, MySQL, Oracle, PostgreSQL, and SQL Server.
* **Status** - You can choose a software image status from the dropdown list. By default, all the statuses are listed. The available options are All, Enabled, Disabled, and Deprecated.
  * **Enabled** - This status represents that the software image is tested and certified and is available for consumption.
  * **Disabled** - Whenever a tenant onboards, all the available software images are seeded into the tenant’s repository. The tenant can, optionally, choose to opt out of some of the out-of-the-box images. Those components are marked as **Disabled**.\
    If you want to enable or disable a software image, please contact Tessell support.
  * **Deprecated** - This status represents that the software image/version is obsolete or has some security violations, and should not be consumed anymore. It is only present for bookkeeping purposes.
* **Edition** - You can choose a database edition from the dropdown list. By default, all the editions are listed. You can choose a database engine from the Engine filter to see available editions in that database.
* **Clear** - Select this to clear the selected filters and revert back to default settings.

The columns in the Software Images table provide following information:

* **Name** - Displays the name of the database software image.
* **Engine** - Displays the database engine available in the software image.
* **Edition** - Displays the database edition available in the software image.
* **Major Version** - Displays the major database software version available in the image.
* **Status** - Displays the current status of the software image. Status can be Enabled, Disabled, or Deprecated.
* **Available Minor Versions** - Displays the available number of minor versions in the major version of the software image. Click this number to view the list of available minor versions.

<p align="center"><strong>Figure 1 - Software Images tab</strong><br></p>

<figure><img src="https://3421475909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXNKiIctERJykfezXfUU2%2Fuploads%2FyDA4FCLyFag1mseBxnKI%2Funknown.png?alt=media&#x26;token=3638e7bb-8e37-4e66-86cc-a24c84df2835" alt=""><figcaption></figcaption></figure>

***

### Parameters

A database parameter profile acts as a container for engine configuration values that are applied to one or more DB instances. Database parameters specify how the database is configured. For example, database parameters can specify the amount of resources, such as cpu count to allocate to a database.

Tessell provides customers both default and custom parameter profiles, you have the option to custom configure the database provisioned using these parameter profiles.

The parameter profile contains engine specific configuration parameters that are also version specific. You can create customized parameter profiles with specific configurations. These profiles can then be applied to your DB instances.

The Parameter Profile tab has following filters:

* **View All: N -** Select this filter to view all the parameter profiles. ‘N’ represents the total number of parameter profiles.
* **Custom: N -** Select this filter to view parameter profiles in which the values are modified from their original default values.
* **Default: N -** Select this filter to view parameter profiles with default values.
* **Legacy -** Select this filter to view Oracle engine parameter profiles that are marked as legacy. Database services can continue to use these legacy profiles without disruption.

  New parameter profiles support advanced configurations in Oracle, including Editions and Multi-tenancy (CDB and non-CDB). These profiles offer broader parameter coverage and better alignment with engine-specific capabilities.

  For new services, the new parameter profile type is used by default. Additionally, any parameter changes for existing services require migration to the new profile type.

  To facilitate a smooth transition from legacy to newer profiles, a migration option is available. Users can preserve all their existing tuning and overrides by simply duplicating their current custom legacy profile to create a new one. This approach guarantees an upgrade path that retains all customizations.
* **Search -** Specify a profile name to search for a specific parameter profile in the search bar. As you type, the list automatically filters and displays profile names that match the characters you specify.
* **Engine -** You can choose a database engine from the dropdown list. By default, all the database engines are listed. The available options are All, MySQL, Oracle, PostgreSQL, and SQL Server.
* **Maturity -** You can choose a parameter profile with its maturity status. The available options are All, Draft, Published, and Unpublished.

  Maturity status refers to the stage or status of a parameter profile in its lifecycle. This includes statuses like:

  **Published**: Profile is available and can be used for database services

  **Draft**: Profile is being created or modified, not yet ready for use.

  **Unpublished**: Profile is complete but not yet available for production use.

  The maturity status is important for governance and management, as it helps in tracking the readiness and applicability of parameter profiles for different database instances.
* **Owner -** You can choose a specific username from the dropdown list to view the details of the parameter profiles created by a specific user.

#### Create a parameter profile

To create a parameter profile,

1. Click **+Create** button on the top-right corner of the page.\
   The ‘Create a New Parameter Profile’ window opens.
2. Specify a name for your parameter profile in the **Profile Name** field.
3. Optionally, specify a description for your profile in the **Descriptions** field.
4. Select the database under the **Database Engine** section.
5. From the **Edition** dropdown list, choose a database edition.
6. From the **Version** dropdown list, choose a database software version.
7. For the Oracle engine, select the type of the database whether CDB or Non-CDB from the **Type** dropdown list.
8. Select whether to create a **New Profile** or to create a duplicate from an **Existing Profile** under the **Select a Starting Point** section.
9. Depending on the database engine type and version selected, the total number of available parameters that can be modified is displayed under the **Modify Parameters** section.
   1. Select **Click here** to choose the parameters to modify.\
      The ‘Select parameters to modify’ dialog box opens on the right.
      * A dedicated symbol on the top indicates the "Top Parameters" view, which highlights the most frequently used parameters.
      * For parameters with empty value, Tessell applies the default value configured for the specific engine or setup.&#x20;
   2. Use the search bar or select the parameters from the check boxes and click **Submit**.\
      This adds selected parameters to the panel where you can modify the values.&#x20;

      Panel displays four columns:

      1. **Name**: Displays the parameter name.
      2. **Value Type**: Displays the value type whether string, boolean or an integer.
      3. **Allowed Values**: Displays the allowed values depending on the value type.
      4. **Value**: Select from the dropdown list or specify a value depending on the value type.
      5. To revert to default values, click **Reset to default value** icon.
      6. To remove a parameter from the list, click the **Delete** icon.
      7. Use the search bar to search for a parameter to modify, helpful when the list is big.
      8. Click **+ Add More** to add more parameters to the list.
10. Click **Create** to create a parameter profile.

As an alternative method, use code to create a parameter profile.

1. Use the **Code** button at the top-right corner to view the ‘Code for Create Parameter Profile’ window.
2. On the left-hand side of the window, you can view the API, its type and the payload.
3. On the right-hand side of the window, you can view the code to create parameter profile in various languages like Shell, Python, Go, Java, Javascript, and Powershell that you can run independently.
4. You can copy or download the code using the respective buttons in the top-right corner.
5. Use the **Close** button at the bottom-right corner to return back to the main window.

Parameter Profile table contains following columns:

1. **Profile Name -** Displays the parameter profile name given during creation.
2. **Edition/Type -** Displays the database edition selected for the parameter profile. For the Oracle engine, the type of the database is displayed (CDB or Non-CDB).
3. **Version -** Displays the database version selected for the parameter profile.
4. **Parameters -** Displays the total number of parameters and the number of modified parameters in the parameter profile. When you click a number, you can view the list of parameters.
5. **Maturity -** Displays the maturity status of the parameter profile. It can be Draft, Unpublished, or Published.
6. **Created On -** Displays the creation date and time of the parameter profile.
7. **TRN -** Displays the Tessell resource name. The TRN is a global unique id and can be used in operating parameter profiles through Tessell Rest APIs. You can copy this ID using the copy icon.
8. **Ellipsis icon -** Click the ellipsis icon to view the following options:
   * **Modify -** Click this option to modify the values of a parameter profile. This opens the ‘Modify Parameter Profile’ window. For detailed steps, see [Modify a parameter](#modify-a-parameter).
   * **Change Maturity -**

     * Select this option to change the maturity status of your parameter profile.\
       The ‘Change Maturity status’ dialog box opens.
     * From the **Status** dropdown list, choose a status whether Draft, Publish, or Unpublish.
     * Click **Update**.

     When you create a new parameter profile, it is created with the ‘Published’ status by default. In cases where you do not want to expose the parameter profile for consumption and keep it in ‘Draft’ or ‘Unpublished’ status, use this option to change the status.
   * **Duplicate -** Select this option to create and use a copy of an existing profile carrying over its parameter values.\
     Selecting this option takes you to the ‘Duplicate Parameter Profile’ page with the option to create a copy from an existing profile. You can then modify your values in the duplicate copy as required.\
     Users can migrate from legacy profile to the new parameter profile using this option. When you migrate using option, legacy parameter profile values are retained and the new parameters are added.
   * **Reset -** Select this option to reset the modified parameter values to default values. See Parameter Profile Homepage options for more information.
   * **Compare**
     * Click the **Compare** option to compare your parameter profile with another profile.\
       The ‘Compare Parameter Profile’ dialog box opens.
     * Select another profile from the dropdown list to compare.
     * Use the search bar to search for a parameter to compare.
     * From the **Show** dropdown list, you can choose modified or unmodified parameters.
     * The table displays the values in the selected profiles. You can also include a default profile to view another column with default values.
   * **Delete -** Select this option to delete a parameter profile. A confirmation dialog box appears, select the check box to confirm the action and then select **Delete**.\
     **Note**: Users can only delete the custom parameter profiles that are not assigned to any database service.

<p align="center"><strong>Figure 2 - Parameters tab</strong></p>

<figure><img src="https://3421475909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXNKiIctERJykfezXfUU2%2Fuploads%2F3QXfbF0Pv8IJtxpzMTPC%2Funknown.jpeg?alt=media&#x26;token=7377a644-eb36-4442-a19d-b5bb793b0f02" alt=""><figcaption></figcaption></figure>

When you click on any parameter profile, the Parameters tab’s home page appears. The home page displays the profile name, database edition, database version, total number of parameters and modified parameters, and the last modified date and time.

Home page has following options:

* **Reset** - Select this option to reset the modified parameter values to default values.

  **Note**: When you reset a parameter profile, following happens:

  * All modified parameters are restored to their default values.
  * All associated instances become out-of-sync.
* **Delete** - Select this option to delete a parameter profile. A confirmation dialog box appears, select the check box to confirm the action and then select **Delete**.

Following additional tabs are displayed in the home page:

#### **Parameters**

Parameters tab has following filters:

* **Search** - Specify a parameter name to search for a specific parameter in the search bar. As you type, the list automatically filters and displays parameter names that match the characters you specify.
* **Apply type** - Select this filter to view parameters with specific apply type. They can be Static or Dynamic.
  * **Static Parameters:**
    * These parameters cannot be changed at runtime. Any modification requires a server restart to take effect.
    * They are typically configured directly in the configuration file (For example, my.cnf for MySQL). Examples include parameters like ‘recyclebin’ and ‘sessions’ which control specific database behaviors and require a restart to apply changes.
  * **Dynamic Parameters:**
    * These parameters can be changed at runtime without needing a server restart.
    * Changes are often persisted to the configuration file to ensure they survive restarts.
    * Examples include parameters like ‘shared\_servers’ and ‘trace\_enabled’, which can be adjusted to optimize performance or debugging without downtime.
* **Show** - You can choose parameters that are either Modified or Default.

#### **Modify a parameter**

1. Click **Modify** to modify the values of a parameter profile.\
   The ‘Modify Parameter Profile’ window opens. Following columns are displayed:
   1. **Name**: Displays the parameter name.
   2. **Parameter Type**: Displays the parameter type whether static or dynamic. Static parameters require a database restart to apply whereas dynamic parameters can be applied immediately.
   3. **Value Type**: Displays the value type whether string, boolean or an integer.
   4. **Value**: Select from the dropdown list or specify a value depending on the value type. To revert to default values, click **Reset to default value** icon next to **Value**.
   5. **Allowed Values**: Displays the allowed values depending on the value type.
2. Use the search bar to search for a parameter to modify.
3. From the **Show** dropdown list, you can choose modified or default parameters.
4. Under the **Schedule Modifications** section, toggle the switch to choose when to apply the modifications. Following options are displayed:
   1. **Apply in maintenance window** - Selecting this option applies modifications in the upcoming maintenance window.
   2. **Apply later** - Selecting this option allows you to define a custom date and time to apply modifications.
   3. **Apply immediately** - Selecting this option applies modifications immediately. Opting for the immediate option may result in downtime if necessary.
   4. Toggle off the switch if you choose to not to apply the modifications.
5. Click **Apply**.

Parameter tab has following columns:

* **Name** - Displays the parameter name.
* **Value** - Displays the parameter value.
* **Apply Type** - Displays the parameter apply type. It can be Static or Dynamic.
* **Value Type** - Displays the value type of parameter whether string, boolean or an integer.
* **Source** - Displays the source of the parameter value, whether it is **Engine Default**, **Tessell Default**, or the **User Defined** value.

#### Associated Instances

Associated Instances tab has following filters:

* **Search** - Specify a database instance name to search for a specific instance in the search bar. As you type, the list automatically filters and displays instance names that match the characters you specify.
* **Service Name** - You can choose a database service name from the dropdown list. All the instances related to the service name are listed.

Associated Instances tab has following columns:

* **Service Name** - Displays the database service name that is using the selected parameter profile.
* **Role** - Displays the database instance role.
* **Instance Name** - Displays the database instance name.
* **Status** - Displays the database instance status with the parameter profile. It can be **in-sync** or **out-of-sync**.

As an alternative method, use the code to perform operations like Modify, Change Maturity, Duplicate, Reset and Delete.

1. Use the **Code** button at the top-right corner to view the Code for respective operations window.
2. On the left-hand side of the window, you can view the API, its type and the payload.
3. On the right-hand side of the window, you can view the code in various languages like Shell, Python, Go, Java, Javascript, and Powershell that you can run independently.
4. You can copy or download the code using the respective buttons in the top-right corner.
5. Use the **Close** button at the bottom-right corner to return back to the main window.

<p align="center"><strong>Figure 3 - Parameters tab home page</strong></p>

<figure><img src="https://3421475909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXNKiIctERJykfezXfUU2%2Fuploads%2FTArczOYolAKUExBe4F02%2Funknown.png?alt=media&#x26;token=c82d8163-50d2-4ce3-93e3-163bbcab9ab0" alt=""><figcaption></figcaption></figure>

***

### Options

Tessell uses option profiles to enable and configure the additional features that database engines offer to simplify managing data and databases. An option profile can specify features called options that are available for a particular database instance. Options can have settings that specify how the option works.

Tessell provides customers the option to custom configure the database provisioned using these option profiles.

The Options Profile tab has following filters:

* **Search -** Specify an options profile name to search for a specific options profile in the search bar. As you type, the list automatically filters and displays profile names that match the characters you specify.
* **Engine -** You can choose a database engine from the dropdown list. By default, all the database engines are listed. The available options are All, MySQL, Oracle, and PostgreSQL.
* **Maturity -** You can choose an options profile with its maturity status. The available options are All, Draft, Published, and Unpublished.
* **Owner -** You can choose a specific username from the dropdown list to view the details of the options profiles created by a specific user.
* **Clear -** Select this to clear the selected filters and revert back to default settings.

#### Create an options profile

To create an options profile,

1. Click **+Create** button on the top-right corner of the page.\
   The ‘Create a new Options profile’ window opens.
2. Under the Source **details** section, do the following:
   1. Select a database from the **DB engine** dropdown list.
   2. From the **Version** dropdown list, select a database version.
   3. Specify a name for your options profile in the **Profile Name** field.
   4. Optionally, specify a description for your profile in the **Descriptions** field.
3. Under **Options** section, toggle the switch to enable or disable the options displayed specific to your chosen database engine and version.
4. To configure the parameter values for an option, click **Options Settings** for the option it is displayed.\
   The ‘Options Settings’ dialog box opens.
5. In the dialog box, specify the values or select from the dropdown list and then click **Submit**.
6. Click **Create** to create an options profile.

As an alternative method, use code to create an options profile.

1. Use the **Code** button at the top-right corner to view the ‘Code for Create Options Profile’ window.
2. On the left-hand side of the window, you can view the API, its type and the payload.
3. On the right-hand side of the window, you can view the code to create options profile in various languages like Shell, Python, Go, Java, Javascript, and Powershell that you can run independently.
4. You can copy or download the code using the respective buttons in the top-right corner.
5. Use the **Close** button at the bottom-right corner to return back to the main window.

Options Profile table contains following columns:

* **Name -** Displays the options profile name given during creation.
* **Engine -** Displays the database engine selected for the options profile.
* **Database Version -** Displays the database version selected for the options profile.
* **Maturity -** Displays the maturity status of the options profile. It can be Draft, Unpublished, or Published.
* **Enabled Options -** Displays the number of options enabled for the options profile.
* **Co-Owners -** Displays the number of Co-Owners added to your options profile.
* **Ellipsis icon -** Click the ellipsis icon to view the following options:

  Most of the below actions are not available for default options profile, you can only duplicate default options profiles.

  * **Edit profile settings**
    * Select this option to enable or disable options that were previously selected for the existing options profile.\
      The ‘Edit Options profile’ dialog box opens.
    * Under **Options** section, toggle the switch to enable or disable the options.
    * In Options Settings, you can edit the parameter values of the option.
    * Under the **Schedule Modifications** section, choose when to apply the modifications. Following options are displayed:
      * **Apply in maintenance window** - Selecting this option applies modifications in the upcoming maintenance window.
      * **Apply later** - Selecting this option allows you to define a custom date and time to apply modifications.
      * **Apply immediately** - Selecting this option applies modifications immediately. Opting for the immediate option may result in downtime if necessary.
    * Click **Save**.
  * **Add Co-owners**
    * Select this option to add Co-owners to your options profile.\
      The ‘Add Co-owners for options profile’ dialog box opens.
    * Use the **Search** bar to search for specific users.
    * To grant access, select and move the users from the left **Choices** column to the right **Chosen** column.
    * Click **Save** to share your options profile.
  * **Remove Co-owners**
    * Select this option to remove Co-owners from your options profile.\
      The ‘Remove Co-owners for options profile’ dialog box opens.
    * To remove, select and move the users from the right **Chosen** column to the left **Choices** column.
    * Click **Remove**.
  * **Change Maturity**

    * Select this option to change the maturity status of your options profile.\
      The ‘Change maturity status’ dialog box opens.
    * From the **Status** dropdown list, choose a status whether Draft, Publish, or Unpublish.
    * Click **Update**.

    By default, when you create an options profile, it is created in ‘Draft’ status. Make sure to change it to ‘Published’ status to make the options profile available for consumption.

    Maturity status refers to the stage or status of an options profile in its lifecycle. This includes statuses like:

    **Published**: Profile is available and can be used for database services.

    **Draft**: Profile is being created or modified, not yet ready for use.

    **Unpublished**: Profile is complete but not yet available for production use.
  * **Duplicate -** Select this option to create and use a copy of an existing profile carrying over its configured options.

    Selecting this option takes you to the ‘Duplicate Options profile’ page to create a copy from an existing profile. You can then modify your values in the duplicate copy as required and save the copy.

When you click on any options profile, the ‘Options profile details’ dialog box appears on the right. The details include the profile name, database version, profile maturity status, options selected, and the owners of the options profile.

<p align="center"><strong>Figure 4 - Options tab</strong></p>

<figure><img src="https://3421475909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXNKiIctERJykfezXfUU2%2Fuploads%2FF1suE0kTnRYbmEXEGK4N%2Funknown.png?alt=media&#x26;token=06330994-8524-4513-a5b8-6fb916e6efce" alt=""><figcaption></figcaption></figure>

***

### Integrations

Tessell offers a comprehensive eco-system for database management, including seamless integration with various external technologies and services. These integrations allow users to extend the functionality of database services and enhance value of their data by connecting with monitoring, analytics, and other platforms.

The Integrations tab includes following filters:

* **Search -** Specify a name of the integration to search for a specific integration in the search bar. As you type, the list automatically filters and displays integration names that match the characters you specify.
* **Status -** You can choose an integration status from the dropdown list. By default, all the statuses are listed. The available options are All, Active, and Inactive.
* **Maturity -** You can choose an integration with its maturity status. The available options are All, Draft, Published, and Unpublished.
* **Owner -** You can choose a specific username from the dropdown list to view the details of the integrations created by a specific user.
* **Clear -** Select this filter to clear the selected filters and revert back to default settings.

#### Add a new integration endpoint

To add new integration endpoint,

1. Click **+ Add New Endpoint** button on the top-right corner of the page.\
   The ‘Add New Endpoint’ dialog box opens.
2. Specify a name for the integration in the **Name** field.
3. Optionally, specify a description for the integration in the **Description** field.
4. From the **Integration Type** dropdown list, choose a type of your integration.
5. Depending on the integration type chosen, specify the input.
   1. For NEWRELIC integration, specify the following:
      1. Specify the NEWRELIC API key in the **API Key** field.
   2. For SUMOLOGIC integration, specify the following:
      1. Specify the SUMOLOGIC installation token in the **Installation Token** field.
      2. From the **Site** dropdown list, select the site whether US or EU.
   3. For DATADOG integration, specify the following:
      1. Specify the DATADOG API key in the **API Key** field.
      2. From the **Site** dropdown list, select the site whether US or EU.
   4. For QUALYS integration, specify the following:
      1. Specify the activation ID for QUALYS in the **Activation ID** field.
      2. Specify the QUALYS server URI in the **Server URI** field.
      3. Specify the customer ID for QUALYS in the **Customer ID** field.
   5. For OEM integration, specify the following:
      1. Specify the OEM server name in the **Server Name** field.
      2. Specify the OEM agent password in the **Agent Registration Password** field.
      3. Specify the OEM console login password in the **Sysman Password** field.
      4. Specify the IP address of the OEM server in the **Server IP Address** field.
      5. Specify the OEM console port number in the **Console Port** field.
      6. Specify the upload port number in the **Upload Port** field.
      7. Specify the agent port number in the **Agent Port** field.
   6. For SPLUNK integration, specify the following:
      1. From the **Server Type** dropdown list, choose the server type whether Deployment Server or Splunk Receiver.
      2. Specify the host name in the **Host Name** field.
      3. Specify the port number in the **Port** field.
6. Click **Create** to create an integration endpoint.

**Note**: Currently Tessell does not support updating or deleting the integrations after they are created.

As an alternative method, use code to create an integration endpoint.

1. Use the **Code** button at the top-right corner to view the ‘Code for Create Integration’ window.
2. On the left-hand side of the window, you can view the API, its type and the payload.
3. On the right-hand side of the window, you can view the code to create integration endpoints in various languages like Shell, Python, Go, Java, Javascript, and Powershell that you can run independently.
4. You can copy or download the code using the respective buttons in the top-right corner.
5. Use the **Close** button at the bottom-right corner to return back to the main window.

The columns in the Integrations table provide following information:

* **Name -** Displays the integration endpoint name given during creation.
* **Description -** Displays the integration endpoint description given during creation.
* **Integration Type -** Displays the integration type.
* **Status -** Displays the integration status whether Active or Inactive.
* **Maturity -** Displays the integration maturity status. It can be Draft, Published, or Unpublished.
* **Created on -** Displays the creation date and time of the integration endpoint.
* **Co-Owners -** Displays the number of Co-Owners added to the integration.
* **Ellipsis icon -** Click the ellipsis icon to view the following options:
  * **Add Co-owners**
    * Select this option to add Co-owners to your integration.\
      The ‘Add Co-owners for integration’ dialog box opens.
    * Use the **Search** bar to search for specific users.
    * To grant access, select and move the users from the left **Choices** column to the right **Chosen** column.
    * Click **Save** to share your integration.
  * **Remove Co-owners**
    * Select this option to remove Co-owners from your integration.\
      The ‘Remove Co-owners for integration’ dialog box opens.
    * To remove, select and move the users from the right **Chosen** column to the left **Choices** column.
    * Click **Remove**.
  * **Change Maturity**
    * Select this option to change the maturity status of your integration.\
      The ‘Change maturity status’ dialog box opens.
    * From the **Status** dropdown list, choose a status whether Draft, Publish, or Unpublish.
    * Click **Update**.

<p align="center"><strong>Figure 5 - Integrations tab</strong></p>

<figure><img src="https://3421475909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXNKiIctERJykfezXfUU2%2Fuploads%2FMv2gEEDNiTT5U3RdiT1b%2Funknown.jpeg?alt=media&#x26;token=ec2e6677-5f12-4801-b48d-273b00633d7d" alt=""><figcaption></figcaption></figure>

***

### RPO Policy

The RPO (Recovery Point Objective) Policy is a framework that defines the maximum amount of data that can be restored from backups in the event of a failure. RPO policies govern how Tessell captures automated snapshots and logs for a DB service. These are required for DB recoverability and data protection purposes.

You can create a custom RPO policy that allows you to define data retention periods with inputs for daily, weekly, monthly, and yearly retention. These are then made available to DB service owners for consumption. RPO Policies can be associated with a DB service during its provisioning or later through the respective Availability Machine.

The RPO Policy tab includes the following filters:

* **Search -** Specify a RPO policy name to search for a specific policy in the search bar. As you type, the list automatically filters and displays policy names that match the characters you specify.
* **Owner -** You can choose a specific username from the dropdown list to view the details of the RPO policy created by a specific user.
* **PITR Enabled -** You can choose a RPO policy with the PITR enabled or disabled. The available options are All, Yes, and No.
* **Maturity -** You can choose a RPO policy with its maturity status. The available options are All, Published, and Unpublished.

#### Create a RPO Policy

To create a new custom RPO Policy,

1. Click **+ Create RPO Policy** button on the top-right corner of the page.\
   The ‘Create Custom RPO Policy’ window opens.
2. Specify a name for your policy in the **Policy Name** field.
3. Optionally, specify a description for your policy in the **Description** field.
4. Under **Policy Frequency & Retention** section, select frequency of snapshots and for how long you want to retain them. Select from the following columns:
   1. **Action -** Toggle the switch to enable or disable the policy frequency.
   2. **Frequency Unit -** Displays the policy frequency unit which can be Continuous Recovery (PITR), Daily, Weekly, Monthly, or Yearly.
   3. **Keep For -** Specify the retention period for your data which can be in days, weeks, months, or years depending on the frequency chosen.
5. Click **Create** to create a custom RPO policy.

As an alternative method, use code to create a RPO policy.

1. Use the **Code** button at the top-right corner to view the ‘Code for Create Custom RPO Policy’ window.
2. On the left-hand side of the window, you can view the API, its type and the payload.
3. On the right-hand side of the window, you can view the code to create RPO policy in various languages like Shell, Python, Go, Java, Javascript, and Powershell that you can run independently.
4. You can copy or download the code using the respective buttons in the top-right corner.
5. Use the **Close** button at the bottom-right corner to return back to the main window.

The columns in the RPO Policy table provide following information:

* **Name -** Displays the RPO policy name given during creation.
* **Maturity -** Displays the maturity status of the RPO policy. It can be Unpublished or Published.
* **PITR Enabled -** Displays ‘Yes’ or ‘No’ values to state whether PITR enabled for the RPO policy or disabled.
* **Created By -** Displays the username that was used to create the RPO policy.
* **Last Modified On -** Displays the creation date and time of the RPO policy.
* **Ellipsis icon -** Select the ellipsis icon to view the following options:
  * **Update RPO Policy**
    * Select this option to update the RPO policy details.\
      The ‘Update RPO Policy’ dialog box opens.
    * Update the policy name and description if required.
    * For the enabled frequencies, update the retention period as required.
    * Click **Update**.
  * **Change Maturity**
    * Select this option to change the maturity status of the RPO policy.\
      The ‘Change Maturity status’ dialog box opens.
    * From the **Status** dropdown list, choose a status whether Publish or Unpublish.
    * Click **Update**.
  * **Delete RPO Policy -** Select this option to delete a RPO policy. A confirmation dialog box appears, select the check box to confirm the action and then select **Delete**.

<p align="center"><strong>Figure 6 - RPO Policy tab</strong></p>

<figure><img src="https://3421475909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXNKiIctERJykfezXfUU2%2Fuploads%2F5JavNyEn4uChxpeQzliF%2Funknown.jpeg?alt=media&#x26;token=c81df461-6523-4f81-a52b-50f21b910a07" alt=""><figcaption></figcaption></figure>

***

### Active Directory Domain

The Active Directory (AD) Domain configuration allows Tessell to integrate with a customer’s corporate identity infrastructure. By registering the AD domain, Tessell can use the customer’s directory services for authentication, user resolution, and policy enforcement across supported database engines. The configuration typically includes the domain name, domain controllers, DNS servers, and the service account required for domain operations.

After an AD domain is registered, database services that support directory-based authentication such as SQL Server (Windows Authentication) can leverage the domain to validate users and apply organization-defined access controls. This integration ensures centralized identity management, improves security, and provides a consistent login experience across database workloads.

#### Integrate Microsoft Active Directory with SQLServer

**Prerequisites**

To integrate Microsoft Active Directory (AD) with SQL Server, ensure that network connectivity is established between the DB Service and Active Directory. VPC Peering can be used to achieve this connectivity.

* How to get the domain controller address?\
  Execute below query to fetch domain controller information.

```ps
PS C:\Users\TessellMssql> Get-ADDomainController -Filter * | Select Name, HostName, IPv4Address
Name         HostName                     IPv4Address
----         --------                     -----------
AZUREADWVGMZ azureadwvgmz.test.tessell.ad 10.0.64.7   

```

* How to get NETBIOS name?

```ps
PS C:\Users\TessellMssql> (Get-ADDomain).NetBIOSName
TESSELL
```

* How to get the domain name of the active directory?

```ps
 PS C:\Users\TessellMssql> Get-ADDomainController -Filter *

ComputerObjectDN           : CN=AZUREADWVGMZ,OU=Domain Controllers,DC=test,DC=tessell,DC=ad
DefaultPartition           : DC=test,DC=tessell,DC=ad
Domain                     : test.tessell.ad
Enabled                    : True
Forest                     : test.tessell.ad
HostName                   : azureadwvgmz.test.tessell.ad
InvocationId               : 2264a7e8-fb73-4858-89b3-9eeb3cc0cec4
IPv4Address                : 10.0.64.7
IPv6Address                : 
IsGlobalCatalog            : True
IsReadOnly                 : False
LdapPort                   : 389
Name                       : AZUREADWVGMZ
NTDSSettingsObjectDN       : CN=NTDS Settings,CN=AZUREADWVGMZ,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=tessell,DC=ad
OperatingSystem            : Windows Server 2019 Datacenter
OperatingSystemHotfix      : 
OperatingSystemServicePack : 
OperatingSystemVersion     : 10.0 (17763)
OperationMasterRoles       : {SchemaMaster, DomainNamingMaster, PDCEmulator, RIDMaster...}
Partitions                 : {DC=ForestDnsZones,DC=test,DC=tessell,DC=ad, DC=DomainDnsZones,DC=test,DC=tessell,DC=ad, CN=Schema,CN=Configuration,DC=test,DC=tessell,DC=ad, CN=Configuration,DC=test,DC=tessell,DC=ad...}
ServerObjectDN             : CN=AZUREADWVGMZ,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=tessell,DC=ad
ServerObjectGuid           : 2e7c979b-f156-428e-b9af-9f167014b9b1
Site                       : Default-First-Site-Name
SslPort                    : 636 
```

1. Register Active Directory in Tessell (DB Governance App).
   1. Go to the **DB Governance** app and choose **Active Directory Domain**.
   2. Provide the following information to register Active Directory in Tessell:

      * Domain Name
      * Name in Tessell
      * DNS Server
      * NetBios : example CORP
      * Domain Account : It should be “NetBios\Account“
      * Password

      <div align="left"><figure><img src="https://3421475909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXNKiIctERJykfezXfUU2%2Fuploads%2FvFkxDA0HeJbyNsOg2MsZ%2Funknown.png?alt=media&#x26;token=35472276-2041-4bf4-b85b-58d17a9cdbe0" alt="" width="341"><figcaption></figcaption></figure></div>

2. After registering, the AD is integrated as below.

   <figure><img src="https://3421475909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXNKiIctERJykfezXfUU2%2Fuploads%2FW36EiaoIhrdlKRs1QudU%2Funknown.png?alt=media&#x26;token=b35a2eda-9ec1-42b6-baff-2dd4dcf7e05e" alt=""><figcaption></figcaption></figure>

3. While Provisioning, the user can choose to **Enable Active Directory Authentication**.

<figure><img src="https://3421475909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXNKiIctERJykfezXfUU2%2Fuploads%2Fsa9L2GFsY51cXqeIh3Gx%2Funknown.png?alt=media&#x26;token=6b37fe81-d552-4b72-a101-77a6b9993ea9" alt=""><figcaption></figcaption></figure>

***

### Licenses

Licenses tab tracks the complete lifecycle of database licenses from registration and usage to expiry and audit. It is primarily designed to manage licenses for enterprise databases such as Oracle and Microsoft SQL Server (MSSQL).

#### Supported Database Engines and Licensing Models:

* Oracle:
  * Standard Edition 2 (SE2): Limited to 2 CPU sockets/server, 16 CPU threads, and specific NUP (Named User Plus) minimums.
  * Enterprise Edition: No CPU limit, NUP minimums per processor, licensing based on processor/core factors.
* MSSQL:
  * Standard Edition: Licensed per core or per server.
  * Enterprise Edition: Licensed per core only.

Users can pool licenses from various registered licenses within the same subscription or the licenses that are marked as 'ALL' subscription type. Users can do this when a single license does not meet their requirements.

The Licenses tab includes the following filters:

* **Database Engine -** You can choose a database engine from the dropdown list. By default, all the engines are listed. The available options are All, Oracle, and SQL Server.
* **Edition -** You can choose a database edition from the dropdown list. By default, all the editions are listed. The available options are All, Standard or Enterprise.
* **Subscription -** You can choose a specific subscription from the dropdown list available to you. By default, all the subscriptions added to your account (if you are the account owner) are listed. The available options are All and number of subscriptions added to your account.
* **Clear -** Select this to clear the selected filters and revert back to default settings.

#### Register a license

To register a new license,

1. Click **+ Register License** on the top-right corner of the page.\
   The ‘Licenses’ window opens.
2. Under the **Select engine** section, select the database engine.
   1. From the **Software Release** dropdown, choose a major database software release version.
   2. Choose a database edition whether **Standard Edition** or **Enterprise Edition**.
3. Under **Provide License details** section, do the following:
   1. From the **Tessell Subscription** dropdown, select a subscription registered with Tessell or select **All**.
   2. From the **License type** dropdown list, select a license type. It can be Perpetual, EULA, or Subscription type.\
      **Note**:
      * **Perpetual**: One-time purchase, valid indefinitely.
      * **Subscription**: Recurring (typically annual) payment model, commonly used by SQL Server customers.
      * **EULA** **(End User Unlimited License Agreement)**: Grants usage rights without ownership, used mainly for Oracle.
   3. Pick a start date of the license from the **Start Date** field.
   4. Pick an expiry date of the license as per the license type chosen from the **Expiry Date** field.
   5. Specify the vCPUs quantity in the **Quantity (vCPU)** field as per the license type chosen.
4. Click **Register** to register the license.

As an alternative method, use code to register a license.

1. Use the **Code** button at the top-right corner to view the ‘Code for Register License’ window.
2. On the left-hand side of the window, you can view the API, its type and the payload.
3. On the right-hand side of the window, you can view the code to register licenses in various languages like Shell, Python, Go, Java, Javascript, and Powershell that you can run independently.
4. You can copy or download the code using the respective buttons in the top-right corner.
5. Use the **Close** button at the bottom-right corner to return back to the main window.

The columns in the Licenses table provide following information:

* **Software Release -** Displays the major software release version of the database selected for the license.
* **Edition -** Displays the database edition selected for the license.
* **License Type -** Displays the license type chosen during registration. It can be Perpetual, EULA, or Subscription.
* **Tessell Subscription -** Displays the Tessell registered subscription selected for the license.
* **Start Date -** Displays the license start date given during registration.
* **Expiry Date -** Displays the applicable license expiry date given during registration.
* **Usage (Used/Total) -** Displays the usage of vCPUs, showing the number of used vCPUs out of total vCPUs allotted during registration.
* **Ellipsis icon -** Use this option to delete the license. To delete, select the **Delete** option, A confirmation dialog box appears, select the check box to confirm the action and then click **Delete**.

<p align="center"><strong>Figure 8 - Licenses tab</strong></p>

<figure><img src="https://3421475909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXNKiIctERJykfezXfUU2%2Fuploads%2FCcZoth53WyvkZMWGF3eh%2Funknown.png?alt=media&#x26;token=2c97ac5d-a39b-4411-82a8-70daab221604" alt=""><figcaption></figcaption></figure>
