Creating a DB System

Use the Console or a command-line interface to create a MySQL DB system.

Using the Console

Use the Console to create a DB system.

Note

If you encounter OutOfHostCapacity work request error while creating a DB system, see Resolving OutOfHostCapacity Error.
  1. Open the navigation menu, and select Databases. Under MySQL HeatWave, click DB systems.
  2. Click Create DB system.
  3. Select one of the following:
    • Production: Set up a high availability DB system with the following default values suitable for a production environment:
      • High availability: Enabled
      • Shape: A shape with 64GB memory size
      • Storage size: 1024GB
      • Automatic backups: Enabled
      • Point-in-time recovery: Enabled
      • Delete protected: Enabled
      • Automatic backups retention: Enabled
      • Final backup: Require final backup
    • Development or testing: Set up a standalone DB system the following default values suitable for a development or testing environment:
      • High availability: Disabled
      • Shape: A shape with 8GB memory size
      • Storage size: 50GB
      • Automatic backups: Enabled
      • Point-in-time recovery: Enabled
      • Delete protected: Disabled
      • Automatic backups retention: Disabled
      • Final backup: Skip final backup
  4. Provide DB system information:
    • Create in compartment: If you want to launch the DB system in a compartment other than the current one, select the compartment from the list.
    • Name: Specify a display name for the DB system. The name need not be unique. An Oracle Cloud Identifier (OCID) uniquely identifies the DB system.
    • Description: (Optional) Specify a description of the DB System and its purpose.
  5. Setup the DB system:
    • Standalone: Select for a single-instance DB system.
    • High availability: Select for a three-instance DB system that contains one primary instance and two secondary instances. If you select a regional subnet, the instances are spread across the availability domains. If you do not select a regional subnet, or your region comprises a single availability domain, the instances are spread across the fault domains. See High Availability.
  6. Configure MySQL HeatWave: Select to configure a Standalone or High availability DB system with a HeatWave-compatible shape. See HeatWave.
  7. Create Administrator credentials:
    • Username: Specify the user name of the administrator. See Reserved Usernames. The Administrator has a specific set of privileges that differs from the root user. See Default MySQL Privileges.
    • Password: Specify the administrator password.
    • Confirm password: Confirm the administrator password.
    Note the username and password of the DB system administrator. You can later change the password using SQL commands such as ALTER USER or SET PASSWORD.
  8. Configure networking:
    • Virtual cloud network: Select the VCN in which you want to create the DB system.
    • Subnet: Select the private subnet of your VCN.
  9. Configure placement:
    • Availability domain: For Standalone and HeatWave DB systems, specify the availability domain in which the DB system resides. For high availability DB systems, selecting an availability domain affects instance placement. See High Availability.
    • Choose a fault domain: Choose this option to enable you to select a fault domain. If you do not choose a fault domain, Oracle chooses one for you. See Fault Domains.
  10. Configure hardware:
    • Select a shape: Click Change shape. In the Browse all shapes panel, do the following:
      1. Filter the shapes by selecting one of the following labels:
        • All types: Displays all available shapes.
        • Virtual machine: Displays the Virtual Machine-based shapes only.
        • Bare metal: Displays the Bare Metal-based shapes only.
      2. Select the checkbox to choose the relevant shape.
      3. Click Select a shape. See Supported Shapes.
        • HeatWave: To create a HeatWave enabled DB system, use either MySQL.HeatWave.VM.Standard.E3 or MySQL.HeatWave.BM.Standard.E3 shape. The default shape is MySQL.HeatWave.VM.Standard.E3, which provides 1TB of data storage. You can select this shape for either DB system node or HeatWave cluster nodes. It is recommended to use MySQL.HeatWave.BM.Standard.E3 shape for data sets of 10TB or more and is supported on the DB system node only. You cannot select HeatWave.* shapes for a DB system. These shapes are supported on Heatwave nodes only.
        • High availability: To enable high availability for the DB system, select the E3 shapes only.
    • Data storage size (GB): Specify the amount of block storage, in GB, to allocate to the DB system. The value should be greater than 50 and less than 131072. The data storage size is independent of the shape you select.

      The initial storage value has an impact on your ability to update storage later. See Increasing the Storage of a DB System. Also, if you are importing data, ensure you specify sufficient data storage.

  11. Configure backup plan:
    • Enable automatic backups: (Optional) Select the option to enable automatic backups. If you do not select automatic backups, manage your backups manually. It is recommended to enable automatic backups.
    • Backup retention period: (Optional) Specify how may days you want to retain the backup. By default, the DB system retains the backup for seven days. Once you define the retention period of an automatic backup, you can not edit it later.
    • Enable point-in-time recovery: (Optional) Select the option to enable you to restore a DB system at a point-in-time to a new DB system.
    • Select backup window: (Optional) Select the option to enable you to select the backup window start time.
      • Window start time: (Optional) Specify the time (in UTC timezone) when you want to start the backup of your DB system. Your backup starts in the 30 minutes following the window start time.
      • Show backup windows per region: (Optional) Click the option to see the default window start time of your region.
  12. Show advanced options: Click to open a group of tabs that enable you to further configure the DB system. See Advanced Options.
  13. To create the DB system, click Create.
  14. (Optional) To save the resource configuration as a stack, click Save as stack. You can later use the stack to install, configure, and manage the resources through the Resource Manager service. See Managing Stacks.
The DB system is created.

Using the CLI With JSON Payload

Use the command-line interface to create a DB system with a JSON payload and import data from an Object Storage bucket.

This task requires the following:
  1. Open the command-line interface and run the following command with a JSON payload to create a DB system:
    oci mysql db-system create --from-json file://<File.json>

    The <File.json> file contains the following:

    {
      "adminUsername": "<AdminUsername>",
      "adminPassword": "<AdminPassword>",
      "compartmentId": "<CompartmentOCID>", 
      "configurationId": "<ConfigurationOCID>", 
      "shapeName": "<ShapeName>", 
      "dataStorageSizeInGbs": "<StorageSize>", 
      "description": "<Description>", 
      "displayName": "<DBSystemName>", 
      "hostnameLabel": "<HostName>",
      "availabilityDomain": "<Region>",
      "subnetId": "<SubnetOCID>",
      "backupPolicy": {
        "isEnabled": true,
        "retentionInDays": 7,
        "windowStartTime": "00:10", 
        "pitrPolicy": {
          "isEnabled": true 
         }
      },
      "source": {
          "sourceType": "IMPORTURL",
          "sourceUrl": "https://objectstorage.<region>.com/p/<Secret>/n/<Namespace>/b/<BucketName>/o/"
        }
    }
    • adminUsername: Specify the username of the root user of the DB system. Some usernames are reserved and you cannot use them in the definition of a DB system. See Reserved Usernames.
    • adminPassword: Specify the password of the root user of the DB system.
    • compartmentId: Specify the OCID of the compartment in which you create the DB system.
    • availabilityDomain: Specify the name of the availability domain in which you create the DB system.
    • configurationID: (Optional) Specify the OCID of the configuration to apply to the DB system. If you do not define a configuration ID, the DB system uses the default configuration associated with the selected shape. If you define a custom configuration, use the same shape as you define in the request.
    • shapeName: Specify the name of the shape. For example, MySQL.VM.Standard.E3.1.8GB.
    • subnetId: Specify the OCID of the VCN subnet to which the DB system is attached.
    • dataStorageSizeInGbs: Specify the amount of data storage, in GBs, for the DB system. The value should be greater than 50 and less than 65536, and ensure you define enough storage to accommodate imported data. The data storage size is independent of the shape you select.
    • hostnameLabel: (Optional) Specify the hostname for your DB system. The option is available only if you enable USE DNS HOSTNAMES IN THIS VCN option on the selected VCN. The hostname must begin with an alphabetic character, contain only alphanumeric characters and hyphens (-), and not use more than 30 characters. The hostname must be unique within the subnet. If it is not unique, the DB system fails to provision. When you specify a hostname, Oracle assigns it to the VCN and subnet domain, which is automatically created during the instance launch, in the following format:
      <hostnameLabel>.<subnet DNS label>.<VCN DNS label>.oraclevcn.com
      For example, if you specify a value of myhost for hostnameLabel, on a subnet named myprivatesubnet, on a VCN named myvcn the fully qualified domain name of your DB system is set to the following:
      myhost.myprivatesubnet.myvcn.oraclevcn.com
    • description: (Optional) Specify a brief description of the DB system.
    • displayName: (Optional) Specify the display name of the DB system. If you do not define a display name, Oracle generates one for you in the format mysqldbsystemYYYYMMDDHHMMSS.
    • backupPolicy: (Optional) Specify the container for the backup policy parameters. The following parameters define the schedule for automatic backups of your DB system:
      • isEnabled: Set it to true to enable backups.
      • retentionInDays: Specify the number of days to retain the automatic backups. By default, your data is retained for seven days.
      • windowStartTime: Specify the start of a 30-minute window for your daily automated backups. It uses the UTC timezone in HH:MM format. You can also define offsets, for example: 00:00-08:00, which sets the time to 8 hours behind midnight UTC.
      • pitrPolicy: Set it to true to enable point-in-time recovery that restores data from a DB system to a new DB system at a given point-in-time.
    • source: (Optional) Specify the container for the import parameters. The following parameters specify the data import type and source URL:
      • sourceType: IMPORTURL: Specify the import type as a PAR URL.
      • sourceUrl: Specify the Pre-Authenticated Request (PAR) URL for the bucket or bucket prefix.
    • mysqlVersion: (Optional) Specify the version of MySQL to use in your DB system. If you do not specify it, the latest available version is used. See MySQL Server Upgrades and MySQL Server Versions.

Related Topics

Using the CLI Without JSON Payload

Use the command-line interface to create a DB system without a JSON payload and import data from an Object Storage bucket.

This task requires the following:
  1. Open the command-line interface and run the following command without a JSON payload to create a DB system:
     oci mysql db-system create 
     -c <CompartmentOCID> 
     --configuration-id <ConfigurationOCID>   
     --shape-name <ShapeName> 
     --availability-domain <Region>
     --subnet-id <SubnetOCID> 
     --admin-username <AdminUsername> 
     --admin-password <AdminPassword> 
     --data-storage-size-in-gbs <StorageSize> 
     --display-name <DBSystemName> 
     --description <Description>
     --hostname-label <HostName> 
     --backup-policy '{ "isEnabled": true, "retentionInDays": 7, "windowStartTime": "00:10", "pitr-policy": {"isEnabled": true} }'
     --source '{"sourceType": "IMPORTURL", "sourceURL":"https://objectstorage.<region>.com/p/<Secret>/n/<Namespace>/b/<BucketName>/o/"}'
    • c: Specify the OCID of the compartment in which you create the DB system.
    • configuration-id: (Optional) Specify the OCID of the configuration to apply to the DB system. If you do not define a configuration ID, the DB system uses the default configuration associated with the selected shape. If you define a custom configuration, use the same shape as you define in the request.
    • shape-name: Specify the name of the shape. For example, MySQL.VM.Standard.E3.1.8GB.
    • availability-domain: Specify the name of the availability domain in which you create the DB system.
    • subnet-id: Specify the OCID of the VCN subnet to which the DB system is attached.
    • admin-username: Specify the username of the root user of the DB system. Some usernames are reserved and you cannot use them in the definition of a DB system. See Reserved Usernames.
    • admin-password: Specify the password of the root user of the DB system.
    • data-storage-size-in-gbs: Specify the amount of data storage, in GBs, for the DB system. The value should be greater than 50 and less than 65536, and ensure you define enough storage to accommodate imported data. The data storage size is independent of the shape you select.
    • display-name: (Optional) Specify the display name of the DB system. If you do not define a display name, Oracle generates one for you in the format mysqldbsystemYYYYMMDDHHMMSS.
    • description: (Optional) Specify a brief description of the DB system.
    • hostname-label: (Optional) Specify the hostname for your DB system. The option is available only if you enable USE DNS HOSTNAMES IN THIS VCN option on the selected VCN. The hostname must begin with an alphabetic character, contain only alphanumeric characters and hyphens (-), and not use more than 30 characters. The hostname must be unique within the subnet. If it is not unique, the DB system fails to provision. When you specify a hostname, Oracle assigns it to the VCN and subnet domain, which is automatically created during the instance launch, in the following format:
      <hostnameLabel>.<subnet DNS label>.<VCN DNS label>.oraclevcn.com
      For example, if you specify a value of myhost for hostnameLabel, on a subnet named myprivatesubnet, on a VCN named myvcn the fully qualified domain name of your DB system is set to the following:
      myhost.myprivatesubnet.myvcn.oraclevcn.com
    • backup-policy: (Optional) Specify the container for the backup policy parameters. The following parameters define the schedule for automatic backups of your DB system:
      • isEnabled: Set it to true to enable backups.
      • retentionInDays: Specify the number of days to retain the automatic backups. By default, your data is retained for seven days.
      • windowStartTime: Specify the start of a 30-minute window for your daily automated backups. It uses the UTC timezone in HH:MM format. You can also define offsets, for example: 00:00-08:00, which sets the time to 8 hours behind midnight UTC.
      • pitr-policy: Set it to true to enable point-in-time recovery that restores data from a DB system to a new DB system at a given point-in-time.
    • source: (Optional) Specify the container for the import parameters. The following parameters specify the data import type and source URL:
      • sourceType: IMPORTURL: Specify the import type as a PAR URL.
      • sourceUrl: Specify the Pre-Authenticated Request (PAR) URL for the bucket or bucket prefix.
    • mysqlVersion: (Optional) Specify the version of MySQL to use in your DB system. If you do not specify it, the latest available version is used. See MySQL Server Upgrades and MySQL Server Versions.

The command creates a DB system with backup and imports data from Object Storage using a pre-authenticated request (PAR) URL and you get a response similar to the following, which summarizes the request and creates your DB system:

{
  "data": {
    "availability-domain": "nnnn:<region>-AD-3",
    "backup-policy": {
      "is-enabled": true,
      "retention-in-days": 7,
      "window-start-time": "00:10",
      "pitr-policy": {    
         "is-enabled": true
        },
    "channels": [],
    "compartment-id": "ocid1.compartment.oc1...<alphaNumericString>",
    "configuration-id": "ocid1.mysqlconfiguration.oc1...<alphaNumericString>",
    "current-placement": {
      "availability-domain": null,
      "fault-domain": null
    },
    "data-storage-size-in-gbs": 63,
    "defined-tags": {
      "Oracle-Tags": {
        "CreatedBy": "<userEmail>",
        "CreatedOn": "2021-06-04T10:02:32.140Z"
      }
    },
    "description": "This is my DBSystem",
    "display-name": "MyDBSystem",
    "endpoints": [],
    "fault-domain": null,
    "freeform-tags": {},
    "heat-wave-cluster": null,
    "hostname-label": null,
    "id": "ocid1.mysqldbsystem.oc1.iad.<alphaNumericString>",
    "ip-address": null,
    "is-heat-wave-cluster-attached": false,
    "is-highly-available": false,
    "lifecycle-details": null,
    "lifecycle-state": "CREATING",
    "maintenance": {
      "window-start-time": "TUESDAY 06:46"
    },
    "mysql-version": null,   
    "point-in-time-recovery-details": null
    "port": null,
    "port-x": null,
    "shape-name": "MySQL.VM.Standard.E3.1.8GB",
    "source": {
      "source-type": "IMPORTURL"
    },
    "subnet-id": "ocid1.subnet.oc1.iad.<alphaNumericString>",
    "time-created": "2021-06-04T10:02:37.186000+00:00",
    "time-updated": "2021-06-04T10:02:37.186000+00:00"
  },
  "etag": "<alphaNumericString>",
  "opc-work-request-id": "ocid1.mysqlworkrequest.oc1.iad.<alphaNumericString>"
}

Related Topics