Staging push implementation details
This topic provides implementation details of the Staging Push for the HANA plugin. Staging Push will help users to push data into the Delphix provided mount point on their own.
Staging Push gives users control over some Staging DB processes. It will give control of the staging database to the user to pull from any backup provider. Staging database files will be stored on Delphix Storage. Delphix will still be the one snapshotting the underlying data files, and gathering the metadata required to provision from the snapshot.
The below steps show how to create a dSource using the Staging Push mechanism.
dSource creation
The first snapshot created as a part of dSource creation contains data and log directories within the Delphix created mount point. These directories are empty for the first snapshot.
The following snippet shows how the file system appears inside the Delphix created mount point.
![](../../__attachments/99363275/s.png?inst-v=9f5cd9ef-94fe-4677-b3c4-6c5d1617af5c)
If a system user attempts to create a VDB from this snapshot, it will fail with the below error message.
![](../../__attachments/99363275/image-20230629-113716.png?inst-v=9f5cd9ef-94fe-4677-b3c4-6c5d1617af5c)
Subsequent Snapshots
The system user needs to follow the steps and commands below before taking any subsequent snapshots.
Note: The system user needs to provide the values for all the parameters provided within { }.
Create a database in "no start" mode. Here, "no start" implies that the database is not started.
create database {DATABASE_NAME} SYSTEM USER {DATABASE_PASSWORD} no start.
The parameters used in the below example are:
DATABASE_NAME - Refers to the database name to be used for staging Push. This is the same name that was provided by the system user on the UI while creating the dSource.
DATABASE_PASSWORD - Refers to the password to be used for the staged database. Example:
Set the HANA database to use the Delphix created mount point to store the data and log volume files. This is done by setting the
basepath_datavolumes
andbasepath_logvolumes
to data and logdirectory under the mount point, respectively. All the tenant data volumes and log volumes reside in the single mount point provided by Delphix.CODE//This query sets the value of basepath_datavolumes to within the delphix storage. alter system alter configuration('global.ini', 'DATABASE','{DATABASE_NAME}') SET ('persistence','basepath_datavolumes') = '{DELPHIX_MOUNT_LOCATION}/data'
CODE//This query sets the value of basepath_logvolumes to within the delphix storage. alter system alter configuration('global.ini', 'DATABASE','{DATABASE_NAME}') SET (''persistence','basepath_logvolumes') = '{DELPHIX_MOUNT_LOCATION}/log'
Example:
Once thebasepath_datavolumes
andbasepath_logvolumes
parameters are set for the tenant, then their values are reflected in theglobal.ini
file in the tenant database. The location of the global.ini file is<sapmnt>/<SID>/SYS/global/hdb/custom/config/DB_<tenantdbname>.
Example:Create a backup catalog. This is used by HANA to determine whether recovery is possible and which backups are to be used to recover the database.
Note: Creating a backup catalog is not applicable for third-party backups. For example, Commvault-based backups.
The parameters used in the below example are:
logDirs - Refers to the location where logs are present for the database. If the system user does not intend to use logs then an empty directory can be created and the location of the empty directory can be provided here.
dataDir - Refers to the location where backups are present.
-d - Refers to the location where the catalog backup will be created.
Example:
Perform recovery on the tenant database. This can be done in the following two ways:
Recovery using data backups only The following parameters for the recovery command are listed below:
Recover database for {DATABASE_NAME} - Represents the name of the database for which recovery is to be performed.
Until timestamp '{TIMESTAMP}' - Represents the timestamp value till which recovery is to be performed.
Clear log using catalog path ('{CATALOG_PATH}') - Refers to the path where the catalog backups are kept.
Using data path ('{DATA PATH}') - Refers to the path where the data backups are kept. Example:
Recovery using both data and log backup Along with the above parameters, you need to specify the below parameter:
Using log path ('{LOCATION_OF_THE_LOG PATH}') - Refers to the location of log backups.
Recovery using third-party data backups. For example, Commvault-based backups. The following parameters for the recovery command are listed below:
STAGING_DATABASE_NAME - Represents the name of the tenant database to be created on the staging area.
RECOVERY_TIMESTAMP - Represents the time limit until which recovery has to be performed. The time has to be in the YYYY-MM-DD HH:MM:SS format.
SOURCE_TENANT_DATABASE - Represents the name of the source tenant database.
SOURCE_SID - Represents the SID of the source HANA installation. Example:
Once the recovery is done, data will be available inside the Delphix mount point and the database will be in an active state. The below snippet shows an example file system after the recovery.
![](../../__attachments/99363275/5.png?inst-v=9f5cd9ef-94fe-4677-b3c4-6c5d1617af5c)
You can now proceed to take a snapshot and the VDB creation using the new snapshot.