Module cvpysdk.instances.saporacleinstance

File for operating on a SAP Oracle Instance.

SAPOracleInstance is the only class defined in this file.

SAPOracleInstance: Derived class from Instance Base class, representing a SAPOracle instance, and to perform operations on that instance

Saporacleinstance

init() – Constructor for the class

oracle_home() – Getter for $ORACLE_HOME of this instance

sapdata_home() – Getter for $SAPDATA_HOME of this instance

sapexepath() – Getter for $SAPEXE of this instance

os_user() – Getter for OS user owning oracle software

cmd_sp() – Getter for command line storage policy

log_sp() – Getter for log storage policy

db_user() – Getter for SYS database user name

saporacle_db_connectstring() – Getter for getting oracle database connect string

saporacle_blocksize() – Getter for getting blocksize value

saporacle_sapsecurestore() – Getter for getting sapsecure store option

saporacle_archivelogbackupstreams() – Getter for getting archivelog backup streams

saporacle_instanceid() – Getter for getting InstanceId

saporacle_snapbackup_enable() – Getter for getting Snap backup enabled or not

saporacle_snapengine_name() – Getter for getting snap enginename

_restore_request_json() – returns the restore request json

_process_restore_response() – processes response received for the Restore request

restore_in_place() – runs the restore job for specified instance

restore_outof_place() – runs the restore job for specified client and instance

Expand source code Browse git
# -*- coding: utf-8 -*-

# --------------------------------------------------------------------------
# Copyright Commvault Systems, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# --------------------------------------------------------------------------

"""File for operating on a SAP Oracle Instance.

SAPOracleInstance is the only class defined in this file.

SAPOracleInstance: Derived class from Instance Base class, representing a SAPOracle instance,
                       and to perform operations on that instance

SAPOracleInstance:
    __init__()                          -- Constructor for the class


    oracle_home()                       -- Getter for $ORACLE_HOME of this instance

    sapdata_home()                      -- Getter for $SAPDATA_HOME of this instance

    sapexepath()                        -- Getter for $SAPEXE of this instance

     os_user()                          -- Getter for OS user owning oracle software

    cmd_sp()                            -- Getter for command line storage policy

    log_sp()                            -- Getter for log storage policy

    db_user()                           -- Getter for SYS database user name

    saporacle_db_connectstring()        -- Getter for getting oracle database connect string

    saporacle_blocksize()               -- Getter for getting blocksize value

    saporacle_sapsecurestore()          -- Getter for getting sapsecure store option

    saporacle_archivelogbackupstreams() -- Getter for getting archivelog backup streams

    saporacle_instanceid()              -- Getter for getting InstanceId
    
    saporacle_snapbackup_enable()       -- Getter for getting Snap backup enabled or not
    
    saporacle_snapengine_name()         -- Getter for getting snap enginename

    _restore_request_json()             -- returns the restore request json

    _process_restore_response()         -- processes response received for the Restore request

    restore_in_place()                  -- runs the restore job for specified instance

    restore_outof_place()               -- runs the restore job for specified client and instance

"""

from __future__ import absolute_import
from __future__ import unicode_literals

from ..agent import Agent
from ..instance import Instance
from ..client import Client
from ..exception import SDKException


class SAPOracleInstance(Instance):
    """Derived class from Instance Base class, representing a SAPOracle instance,
        and to perform operations on that Instance."""

    def __init__(self, agent_object, instance_name, instance_id=None):
        """
        Constructor for the class

        Args:
            agent_object    -- instance of the Agent class
            instance_name   -- name of the instance
            instance_id     --  id of the instance

        """
        super(SAPOracleInstance, self).__init__(agent_object, instance_name, instance_id)
        self._instanceprop = {}  # variable to hold instance properties to be changed

    @property
    def oracle_home(self):
        """
        getter for oracle home
        Returns:
            string - string of oracle_home
        """
        return self._properties['sapOracleInstance']['oracleHome']

    @property
    def sapdata_home(self):
        """
        getter for sapdata home
        Returns:
            string - string of sapdata_home
        """
        return self._properties['sapOracleInstance']['sapDataPath']

    @property
    def sapexepath(self):
        """
        getter for sapexepath
        Returns:
            string - string of sapexepath
        """
        return self._properties['sapOracleInstance']['sapExeFolder']

    @property
    def os_user(self):
        """
        Getter for oracle software owner
        Returns:
            string - string of oracle software owner
        """
        return self._properties['sapOracleInstance']['oracleUser']['userName']

    @property
    def cmd_sp(self):
        """
        Getter for Command Line storage policy
        Returns:
            string - string for command line storage policy
        """
        return self._properties['sapOracleInstance']['oracleStorageDevice'][
            'commandLineStoragePolicy']['storagePolicyName']

    @property
    def log_sp(self):
        """
        Oracle Instance's Log Storage Poplicy
        Returns:
            string  -- string containing log storage policy
        """
        return self._properties['sapOracleInstance']['oracleStorageDevice'][
            'logBackupStoragePolicy']['storagePolicyName']

    @property
    def saporacle_db_user(self):
        """
        Returns: Oracle database user for the instance
        """
        return self._properties['sapOracleInstance']['sqlConnect']['userName']

    @property
    def saporacle_db_connectstring(self):
        """
        Returns: Oracle database connect string for the instance
        """
        return self._properties['sapOracleInstance']['sqlConnect']['domainName']

    @property
    def saporacle_blocksize(self):
        """
        Returns: blocksize for the instance
        """
        return self._properties['sapOracleInstance']['blockSize']

    @property
    def saporacle_sapsecurestore(self):
        """
        Returns: sapsecurestore option for the instance
        """
        return self._properties['sapOracleInstance']['useSAPSecureStore']

    @property
    def saporacle_archivelogbackupstreams(self):
        """
        Returns: archivelogbackupstreams option for the instance
        """
        return self._properties['sapOracleInstance']['numberOfArchiveLogBackupStreams']

    @property
    def saporacle_instanceid(self):
        """
        Returns: saporacle_instanceid option for the instance
        """
        return self._properties['instance']['instanceId']
    
    @property
    def saporacle_snapbackup_enable(self):
        """
        Returns: saporacle_snapbackup_enable option for the instance
        """
        return self._properties['sapOracleInstance']['snapProtectInfo']['isSnapBackupEnabled']
    
    @property
    def saporacle_snapengine_name(self):
        """
        Returns: saporacle_snapengine_name option for the instance
        """
        return self._properties['sapOracleInstance']['snapProtectInfo']['snapSelectedEngine']['snapShotEngineName']

    def _restore_saporacle_request_json(self, value):
        """Returns the JSON request to pass to the API as per the options selected by the user.

        """
        if self._restore_association is None:
            self._restore_association = self._instance
        request_json = {
            "taskInfo": {
                "associations": [self._restore_association],
                "task": self._task,
                "subTasks": [{
                    "subTask": self._restore_sub_task,
                    "options": {
                        "restoreOptions": {
                            "oracleOpt": {
                                "noCatalog": value.get("noCatalog", True),
                                "backupValidationOnly": value.get("backupValidationOnly", False),
                                "restoreData": value.get("restoreData", True),
                                "archiveLog": value.get("archiveLog", True),
                                "recover": value.get("recover", True),
                                "switchDatabaseMode": value.get("switchDatabaseMode", True),
                                "restoreStream": value.get("restoreStream", 1),
                                "restoreControlFile": value.get("restoreControlFile", True),
                                "partialRestore": value.get("partialRestore", False),
                                "openDatabase": value.get("openDatabase", True),
                                "resetLogs": value.get("resetLogs", 1),
                                "restoreTablespace": value.get("restoreTablespace", False),
                                "databaseCopy": value.get("databaseCopy", False),
                                "archiveLogBy": value.get("archiveLogBy", 'default'),
                                "recoverTime":{
                                    "time":value.get("point_in_time", 0)},
                            },
                            
                            "destination": {
                                "destinationInstance": {
                                    "clientName": value.get("destination_client"),
                                    "appName": self._agent_object.agent_name,
                                    "instanceName": value.get("destination_instance")
                                },
                                "destClient": {
                                    "clientName":value.get("destination_client")
                                }
                            },
                            "fileOption": {
                                "sourceItem": value.get("sourceItem", ["/+BROWSE+"])
                            },
                            "browseOption": {
                                "backupset": {
                                    "clientName": self._agent_object._client_object.client_name
                                },
                                "mediaOption":{
                                     "copyPrecedence": {
                                             "copyPrecedenceApplicable": value.get("copyPrecedenceApplicable", False),
                                             "copyPrecedence":value.get("copyPrecedence", 0)}}
                            }
                        }
                    }
                }]
            }
        }
        return request_json

    def restore_in_place(
            self,
            destination_client=None,
            destination_instance=None,
            sap_options=None):
        """perform inplace restore and recover  of sap oracle database
         Args:

            destination_client        (str)         --  destination client name where saporacle
                                                          client package exists if this value
                                                          not provided,it will automatically
                                                          use source backup client
            destination_instance        (str)       --  destination instance name where saporacle
                                                        client package exists if this value not
                                                         provided,it will automatically use
                                                          source backup instance
            sap_options                (dict)

                backupset_name         (str)        --  backupset name of the instance to be
                                                            restored. If the instance is a single
                                                            DB instance then the backupset name is
                                                            ``default``.
                    default: default

                restoreData               (bool)   --  RestoreData  if true mean restore data
                                                          is selected.
                                                        true - restore data selected
                                                        false - restore data unselected

                    default:true

                streams                  (int)      :  no of streams to use for restore
                    default:2

                copyPrecedence          (int)      :  copy number to use for restore
                    default:0

                archiveLog               (bool)     :  Restore archive log
                                                        true - restore archive log selected
                                                        false - restore archive log unselected
                     default: True

                recover                  (bool)     :  recover database
                                                        true - recover database selected
                                                        false - recover database unselected
                     default: True

                switchDatabaseMode       (bool)     :  switchDatabaseMode option
                                                        true - switchDatabaseMode selected
                                                        false - switchDatabaseMode unselected
                     default: True

                restoreControlFile       (bool)     :  restoreControlFile option
                                                        true - restoreControlFile selected
                                                        false - restoreControlFile unselected
                     default: True

                partialRestore       (bool)         :  partialRestore option
                                                        true - partialRestore selected
                                                        false - partialRestore unselected
                     default: False

                openDatabase       (bool)           :  openDatabase option
                                                        true - openDatabase selected
                                                        false - openDatabase unselected
                     default: True

                resetLogs       (bool)              :  resetLogs option
                                                        true - resetLogs selected
                                                        false - resetLogs unselected
                     default: True

                point_in_time            (str)      :  date to use for restore and recover  database
                                                       format: dd/MM/YYYY
                                                       gets content from 01/01/1970 if not specified
                    default: 0

                backupValidationOnly       (bool)   :  backupValidationOnly option
                                                        true - backupValidationOnly selected
                                                        false - backupValidationOnly unselected
                     default: False

                 restoreTablespace       (bool)     :  restoreTablespace option
                                                        true - restoreTablespace selected
                                                        false - restoreTablespace unselected
                     default: False

                noCatalog       (bool)              :  noCatalog option
                                                        true - noCatalog selected
                                                        false - noCatalog unselected
                     default: True

                sourceItem       (list)              :  sourceItem means browse options for
                                                         sap oracle restores
                                                        /+BROWSE+ - means both data and logs
                                                        are selected
                                                        /+BROWSE+DATA -data only selected
                                                        /+BROWSE+LOG -log only selected
                     default: /+BROWSE+
                databaseCopy       (bool)            :  databaseCopy option
                                                        true - databaseCopy selected
                                                        false - databaseCopy unselected
                     default: False

                archiveLogBy       (str)            :  for restore archive log options,
                                                        default means restore archivelogall
                                                        is selected

                     default: default

         Raises:
                SDKException:

                    if failed to browse content

                    if response is empty

                    if response is not success

                    if destination client does not exist on commcell

                    if destination instance does not exist on commcell
        """

        if sap_options is None:
            sap_options = {}

        # check if client name is correct
        if destination_client is None:
            destination_client = self._agent_object._client_object.client_name
            

        if isinstance(destination_client, Client):
            destination_client = destination_client
            
        elif isinstance(destination_client, str):
            destination_client = Client(self._commcell_object, destination_client)
            #print(destination_client)
        else:
            raise SDKException('Instance', '101')

        dest_agent = Agent(destination_client, 'sap for oracle','61')

        # check if instance name is correct
        if destination_instance is None:
            destination_instance = self.instance_name

        if isinstance(destination_instance, Instance):
            destination_instance = destination_instance
        elif isinstance(destination_instance, str):
            destination_instance = dest_agent.instances.get(destination_instance)
        else:
            raise SDKException('Instance', '101')
        sap_options["destination_client"] = destination_client.client_name
        sap_options["destination_instance"] = destination_instance.instance_name
        #sap_options["copyPrecedence"] = sap_options.get("copyPrecedence", "0")

        # prepare and execute
        request_json = self._restore_saporacle_request_json(sap_options)
        return self._process_restore_response(request_json)
    
    

Classes

class SAPOracleInstance (agent_object, instance_name, instance_id=None)

Derived class from Instance Base class, representing a SAPOracle instance, and to perform operations on that Instance.

Constructor for the class

Args

agent_object – instance of the Agent class instance_name – name of the instance instance_id – id of the instance

Expand source code Browse git
class SAPOracleInstance(Instance):
    """Derived class from Instance Base class, representing a SAPOracle instance,
        and to perform operations on that Instance."""

    def __init__(self, agent_object, instance_name, instance_id=None):
        """
        Constructor for the class

        Args:
            agent_object    -- instance of the Agent class
            instance_name   -- name of the instance
            instance_id     --  id of the instance

        """
        super(SAPOracleInstance, self).__init__(agent_object, instance_name, instance_id)
        self._instanceprop = {}  # variable to hold instance properties to be changed

    @property
    def oracle_home(self):
        """
        getter for oracle home
        Returns:
            string - string of oracle_home
        """
        return self._properties['sapOracleInstance']['oracleHome']

    @property
    def sapdata_home(self):
        """
        getter for sapdata home
        Returns:
            string - string of sapdata_home
        """
        return self._properties['sapOracleInstance']['sapDataPath']

    @property
    def sapexepath(self):
        """
        getter for sapexepath
        Returns:
            string - string of sapexepath
        """
        return self._properties['sapOracleInstance']['sapExeFolder']

    @property
    def os_user(self):
        """
        Getter for oracle software owner
        Returns:
            string - string of oracle software owner
        """
        return self._properties['sapOracleInstance']['oracleUser']['userName']

    @property
    def cmd_sp(self):
        """
        Getter for Command Line storage policy
        Returns:
            string - string for command line storage policy
        """
        return self._properties['sapOracleInstance']['oracleStorageDevice'][
            'commandLineStoragePolicy']['storagePolicyName']

    @property
    def log_sp(self):
        """
        Oracle Instance's Log Storage Poplicy
        Returns:
            string  -- string containing log storage policy
        """
        return self._properties['sapOracleInstance']['oracleStorageDevice'][
            'logBackupStoragePolicy']['storagePolicyName']

    @property
    def saporacle_db_user(self):
        """
        Returns: Oracle database user for the instance
        """
        return self._properties['sapOracleInstance']['sqlConnect']['userName']

    @property
    def saporacle_db_connectstring(self):
        """
        Returns: Oracle database connect string for the instance
        """
        return self._properties['sapOracleInstance']['sqlConnect']['domainName']

    @property
    def saporacle_blocksize(self):
        """
        Returns: blocksize for the instance
        """
        return self._properties['sapOracleInstance']['blockSize']

    @property
    def saporacle_sapsecurestore(self):
        """
        Returns: sapsecurestore option for the instance
        """
        return self._properties['sapOracleInstance']['useSAPSecureStore']

    @property
    def saporacle_archivelogbackupstreams(self):
        """
        Returns: archivelogbackupstreams option for the instance
        """
        return self._properties['sapOracleInstance']['numberOfArchiveLogBackupStreams']

    @property
    def saporacle_instanceid(self):
        """
        Returns: saporacle_instanceid option for the instance
        """
        return self._properties['instance']['instanceId']
    
    @property
    def saporacle_snapbackup_enable(self):
        """
        Returns: saporacle_snapbackup_enable option for the instance
        """
        return self._properties['sapOracleInstance']['snapProtectInfo']['isSnapBackupEnabled']
    
    @property
    def saporacle_snapengine_name(self):
        """
        Returns: saporacle_snapengine_name option for the instance
        """
        return self._properties['sapOracleInstance']['snapProtectInfo']['snapSelectedEngine']['snapShotEngineName']

    def _restore_saporacle_request_json(self, value):
        """Returns the JSON request to pass to the API as per the options selected by the user.

        """
        if self._restore_association is None:
            self._restore_association = self._instance
        request_json = {
            "taskInfo": {
                "associations": [self._restore_association],
                "task": self._task,
                "subTasks": [{
                    "subTask": self._restore_sub_task,
                    "options": {
                        "restoreOptions": {
                            "oracleOpt": {
                                "noCatalog": value.get("noCatalog", True),
                                "backupValidationOnly": value.get("backupValidationOnly", False),
                                "restoreData": value.get("restoreData", True),
                                "archiveLog": value.get("archiveLog", True),
                                "recover": value.get("recover", True),
                                "switchDatabaseMode": value.get("switchDatabaseMode", True),
                                "restoreStream": value.get("restoreStream", 1),
                                "restoreControlFile": value.get("restoreControlFile", True),
                                "partialRestore": value.get("partialRestore", False),
                                "openDatabase": value.get("openDatabase", True),
                                "resetLogs": value.get("resetLogs", 1),
                                "restoreTablespace": value.get("restoreTablespace", False),
                                "databaseCopy": value.get("databaseCopy", False),
                                "archiveLogBy": value.get("archiveLogBy", 'default'),
                                "recoverTime":{
                                    "time":value.get("point_in_time", 0)},
                            },
                            
                            "destination": {
                                "destinationInstance": {
                                    "clientName": value.get("destination_client"),
                                    "appName": self._agent_object.agent_name,
                                    "instanceName": value.get("destination_instance")
                                },
                                "destClient": {
                                    "clientName":value.get("destination_client")
                                }
                            },
                            "fileOption": {
                                "sourceItem": value.get("sourceItem", ["/+BROWSE+"])
                            },
                            "browseOption": {
                                "backupset": {
                                    "clientName": self._agent_object._client_object.client_name
                                },
                                "mediaOption":{
                                     "copyPrecedence": {
                                             "copyPrecedenceApplicable": value.get("copyPrecedenceApplicable", False),
                                             "copyPrecedence":value.get("copyPrecedence", 0)}}
                            }
                        }
                    }
                }]
            }
        }
        return request_json

    def restore_in_place(
            self,
            destination_client=None,
            destination_instance=None,
            sap_options=None):
        """perform inplace restore and recover  of sap oracle database
         Args:

            destination_client        (str)         --  destination client name where saporacle
                                                          client package exists if this value
                                                          not provided,it will automatically
                                                          use source backup client
            destination_instance        (str)       --  destination instance name where saporacle
                                                        client package exists if this value not
                                                         provided,it will automatically use
                                                          source backup instance
            sap_options                (dict)

                backupset_name         (str)        --  backupset name of the instance to be
                                                            restored. If the instance is a single
                                                            DB instance then the backupset name is
                                                            ``default``.
                    default: default

                restoreData               (bool)   --  RestoreData  if true mean restore data
                                                          is selected.
                                                        true - restore data selected
                                                        false - restore data unselected

                    default:true

                streams                  (int)      :  no of streams to use for restore
                    default:2

                copyPrecedence          (int)      :  copy number to use for restore
                    default:0

                archiveLog               (bool)     :  Restore archive log
                                                        true - restore archive log selected
                                                        false - restore archive log unselected
                     default: True

                recover                  (bool)     :  recover database
                                                        true - recover database selected
                                                        false - recover database unselected
                     default: True

                switchDatabaseMode       (bool)     :  switchDatabaseMode option
                                                        true - switchDatabaseMode selected
                                                        false - switchDatabaseMode unselected
                     default: True

                restoreControlFile       (bool)     :  restoreControlFile option
                                                        true - restoreControlFile selected
                                                        false - restoreControlFile unselected
                     default: True

                partialRestore       (bool)         :  partialRestore option
                                                        true - partialRestore selected
                                                        false - partialRestore unselected
                     default: False

                openDatabase       (bool)           :  openDatabase option
                                                        true - openDatabase selected
                                                        false - openDatabase unselected
                     default: True

                resetLogs       (bool)              :  resetLogs option
                                                        true - resetLogs selected
                                                        false - resetLogs unselected
                     default: True

                point_in_time            (str)      :  date to use for restore and recover  database
                                                       format: dd/MM/YYYY
                                                       gets content from 01/01/1970 if not specified
                    default: 0

                backupValidationOnly       (bool)   :  backupValidationOnly option
                                                        true - backupValidationOnly selected
                                                        false - backupValidationOnly unselected
                     default: False

                 restoreTablespace       (bool)     :  restoreTablespace option
                                                        true - restoreTablespace selected
                                                        false - restoreTablespace unselected
                     default: False

                noCatalog       (bool)              :  noCatalog option
                                                        true - noCatalog selected
                                                        false - noCatalog unselected
                     default: True

                sourceItem       (list)              :  sourceItem means browse options for
                                                         sap oracle restores
                                                        /+BROWSE+ - means both data and logs
                                                        are selected
                                                        /+BROWSE+DATA -data only selected
                                                        /+BROWSE+LOG -log only selected
                     default: /+BROWSE+
                databaseCopy       (bool)            :  databaseCopy option
                                                        true - databaseCopy selected
                                                        false - databaseCopy unselected
                     default: False

                archiveLogBy       (str)            :  for restore archive log options,
                                                        default means restore archivelogall
                                                        is selected

                     default: default

         Raises:
                SDKException:

                    if failed to browse content

                    if response is empty

                    if response is not success

                    if destination client does not exist on commcell

                    if destination instance does not exist on commcell
        """

        if sap_options is None:
            sap_options = {}

        # check if client name is correct
        if destination_client is None:
            destination_client = self._agent_object._client_object.client_name
            

        if isinstance(destination_client, Client):
            destination_client = destination_client
            
        elif isinstance(destination_client, str):
            destination_client = Client(self._commcell_object, destination_client)
            #print(destination_client)
        else:
            raise SDKException('Instance', '101')

        dest_agent = Agent(destination_client, 'sap for oracle','61')

        # check if instance name is correct
        if destination_instance is None:
            destination_instance = self.instance_name

        if isinstance(destination_instance, Instance):
            destination_instance = destination_instance
        elif isinstance(destination_instance, str):
            destination_instance = dest_agent.instances.get(destination_instance)
        else:
            raise SDKException('Instance', '101')
        sap_options["destination_client"] = destination_client.client_name
        sap_options["destination_instance"] = destination_instance.instance_name
        #sap_options["copyPrecedence"] = sap_options.get("copyPrecedence", "0")

        # prepare and execute
        request_json = self._restore_saporacle_request_json(sap_options)
        return self._process_restore_response(request_json)

Ancestors

Instance variables

var cmd_sp

Getter for Command Line storage policy

Returns

string - string for command line storage policy

Expand source code Browse git
@property
def cmd_sp(self):
    """
    Getter for Command Line storage policy
    Returns:
        string - string for command line storage policy
    """
    return self._properties['sapOracleInstance']['oracleStorageDevice'][
        'commandLineStoragePolicy']['storagePolicyName']
var log_sp

Oracle Instance's Log Storage Poplicy

Returns

string – string containing log storage policy

Expand source code Browse git
@property
def log_sp(self):
    """
    Oracle Instance's Log Storage Poplicy
    Returns:
        string  -- string containing log storage policy
    """
    return self._properties['sapOracleInstance']['oracleStorageDevice'][
        'logBackupStoragePolicy']['storagePolicyName']
var oracle_home

getter for oracle home

Returns

string - string of oracle_home

Expand source code Browse git
@property
def oracle_home(self):
    """
    getter for oracle home
    Returns:
        string - string of oracle_home
    """
    return self._properties['sapOracleInstance']['oracleHome']
var os_user

Getter for oracle software owner

Returns

string - string of oracle software owner

Expand source code Browse git
@property
def os_user(self):
    """
    Getter for oracle software owner
    Returns:
        string - string of oracle software owner
    """
    return self._properties['sapOracleInstance']['oracleUser']['userName']
var sapdata_home

getter for sapdata home

Returns

string - string of sapdata_home

Expand source code Browse git
@property
def sapdata_home(self):
    """
    getter for sapdata home
    Returns:
        string - string of sapdata_home
    """
    return self._properties['sapOracleInstance']['sapDataPath']
var sapexepath

getter for sapexepath

Returns

string - string of sapexepath

Expand source code Browse git
@property
def sapexepath(self):
    """
    getter for sapexepath
    Returns:
        string - string of sapexepath
    """
    return self._properties['sapOracleInstance']['sapExeFolder']
var saporacle_archivelogbackupstreams

Returns: archivelogbackupstreams option for the instance

Expand source code Browse git
@property
def saporacle_archivelogbackupstreams(self):
    """
    Returns: archivelogbackupstreams option for the instance
    """
    return self._properties['sapOracleInstance']['numberOfArchiveLogBackupStreams']
var saporacle_blocksize

Returns: blocksize for the instance

Expand source code Browse git
@property
def saporacle_blocksize(self):
    """
    Returns: blocksize for the instance
    """
    return self._properties['sapOracleInstance']['blockSize']
var saporacle_db_connectstring

Returns: Oracle database connect string for the instance

Expand source code Browse git
@property
def saporacle_db_connectstring(self):
    """
    Returns: Oracle database connect string for the instance
    """
    return self._properties['sapOracleInstance']['sqlConnect']['domainName']
var saporacle_db_user

Returns: Oracle database user for the instance

Expand source code Browse git
@property
def saporacle_db_user(self):
    """
    Returns: Oracle database user for the instance
    """
    return self._properties['sapOracleInstance']['sqlConnect']['userName']
var saporacle_instanceid

Returns: saporacle_instanceid option for the instance

Expand source code Browse git
@property
def saporacle_instanceid(self):
    """
    Returns: saporacle_instanceid option for the instance
    """
    return self._properties['instance']['instanceId']
var saporacle_sapsecurestore

Returns: sapsecurestore option for the instance

Expand source code Browse git
@property
def saporacle_sapsecurestore(self):
    """
    Returns: sapsecurestore option for the instance
    """
    return self._properties['sapOracleInstance']['useSAPSecureStore']
var saporacle_snapbackup_enable

Returns: saporacle_snapbackup_enable option for the instance

Expand source code Browse git
@property
def saporacle_snapbackup_enable(self):
    """
    Returns: saporacle_snapbackup_enable option for the instance
    """
    return self._properties['sapOracleInstance']['snapProtectInfo']['isSnapBackupEnabled']
var saporacle_snapengine_name

Returns: saporacle_snapengine_name option for the instance

Expand source code Browse git
@property
def saporacle_snapengine_name(self):
    """
    Returns: saporacle_snapengine_name option for the instance
    """
    return self._properties['sapOracleInstance']['snapProtectInfo']['snapSelectedEngine']['snapShotEngineName']

Methods

def restore_in_place(self, destination_client=None, destination_instance=None, sap_options=None)

perform inplace restore and recover of sap oracle database

Args

destination_client (str) – destination client name where saporacle client package exists if this value not provided,it will automatically use source backup client destination_instance (str) – destination instance name where saporacle client package exists if this value not provided,it will automatically use source backup instance sap_options (dict)

backupset_name         (str)        --  backupset name of the instance to be
                                            restored. If the instance is a single
                                            DB instance then the backupset name is
                                            <code>default</code>.
    default: default

restoreData               (bool)   --  RestoreData  if true mean restore data
                                          is selected.
                                        true - restore data selected
                                        false - restore data unselected

    default:true

streams                  (int)      :  no of streams to use for restore
    default:2

copyPrecedence          (int)      :  copy number to use for restore
    default:0

archiveLog               (bool)     :  Restore archive log
                                        true - restore archive log selected
                                        false - restore archive log unselected
     default: True

recover                  (bool)     :  recover database
                                        true - recover database selected
                                        false - recover database unselected
     default: True

switchDatabaseMode       (bool)     :  switchDatabaseMode option
                                        true - switchDatabaseMode selected
                                        false - switchDatabaseMode unselected
     default: True

restoreControlFile       (bool)     :  restoreControlFile option
                                        true - restoreControlFile selected
                                        false - restoreControlFile unselected
     default: True

partialRestore       (bool)         :  partialRestore option
                                        true - partialRestore selected
                                        false - partialRestore unselected
     default: False

openDatabase       (bool)           :  openDatabase option
                                        true - openDatabase selected
                                        false - openDatabase unselected
     default: True

resetLogs       (bool)              :  resetLogs option
                                        true - resetLogs selected
                                        false - resetLogs unselected
     default: True

point_in_time            (str)      :  date to use for restore and recover  database
                                       format: dd/MM/YYYY
                                       gets content from 01/01/1970 if not specified
    default: 0

backupValidationOnly       (bool)   :  backupValidationOnly option
                                        true - backupValidationOnly selected
                                        false - backupValidationOnly unselected
     default: False

 restoreTablespace       (bool)     :  restoreTablespace option
                                        true - restoreTablespace selected
                                        false - restoreTablespace unselected
     default: False

noCatalog       (bool)              :  noCatalog option
                                        true - noCatalog selected
                                        false - noCatalog unselected
     default: True

sourceItem       (list)              :  sourceItem means browse options for
                                         sap oracle restores
                                        /+BROWSE+ - means both data and logs
                                        are selected
                                        /+BROWSE+DATA -data only selected
                                        /+BROWSE+LOG -log only selected
     default: /+BROWSE+
databaseCopy       (bool)            :  databaseCopy option
                                        true - databaseCopy selected
                                        false - databaseCopy unselected
     default: False

archiveLogBy       (str)            :  for restore archive log options,
                                        default means restore archivelogall
                                        is selected

     default: default

Raises

SDKException:

if failed to browse content

if response is empty

if response is not success

if destination client does not exist on commcell

if destination instance does not exist on commcell
Expand source code Browse git
def restore_in_place(
        self,
        destination_client=None,
        destination_instance=None,
        sap_options=None):
    """perform inplace restore and recover  of sap oracle database
     Args:

        destination_client        (str)         --  destination client name where saporacle
                                                      client package exists if this value
                                                      not provided,it will automatically
                                                      use source backup client
        destination_instance        (str)       --  destination instance name where saporacle
                                                    client package exists if this value not
                                                     provided,it will automatically use
                                                      source backup instance
        sap_options                (dict)

            backupset_name         (str)        --  backupset name of the instance to be
                                                        restored. If the instance is a single
                                                        DB instance then the backupset name is
                                                        ``default``.
                default: default

            restoreData               (bool)   --  RestoreData  if true mean restore data
                                                      is selected.
                                                    true - restore data selected
                                                    false - restore data unselected

                default:true

            streams                  (int)      :  no of streams to use for restore
                default:2

            copyPrecedence          (int)      :  copy number to use for restore
                default:0

            archiveLog               (bool)     :  Restore archive log
                                                    true - restore archive log selected
                                                    false - restore archive log unselected
                 default: True

            recover                  (bool)     :  recover database
                                                    true - recover database selected
                                                    false - recover database unselected
                 default: True

            switchDatabaseMode       (bool)     :  switchDatabaseMode option
                                                    true - switchDatabaseMode selected
                                                    false - switchDatabaseMode unselected
                 default: True

            restoreControlFile       (bool)     :  restoreControlFile option
                                                    true - restoreControlFile selected
                                                    false - restoreControlFile unselected
                 default: True

            partialRestore       (bool)         :  partialRestore option
                                                    true - partialRestore selected
                                                    false - partialRestore unselected
                 default: False

            openDatabase       (bool)           :  openDatabase option
                                                    true - openDatabase selected
                                                    false - openDatabase unselected
                 default: True

            resetLogs       (bool)              :  resetLogs option
                                                    true - resetLogs selected
                                                    false - resetLogs unselected
                 default: True

            point_in_time            (str)      :  date to use for restore and recover  database
                                                   format: dd/MM/YYYY
                                                   gets content from 01/01/1970 if not specified
                default: 0

            backupValidationOnly       (bool)   :  backupValidationOnly option
                                                    true - backupValidationOnly selected
                                                    false - backupValidationOnly unselected
                 default: False

             restoreTablespace       (bool)     :  restoreTablespace option
                                                    true - restoreTablespace selected
                                                    false - restoreTablespace unselected
                 default: False

            noCatalog       (bool)              :  noCatalog option
                                                    true - noCatalog selected
                                                    false - noCatalog unselected
                 default: True

            sourceItem       (list)              :  sourceItem means browse options for
                                                     sap oracle restores
                                                    /+BROWSE+ - means both data and logs
                                                    are selected
                                                    /+BROWSE+DATA -data only selected
                                                    /+BROWSE+LOG -log only selected
                 default: /+BROWSE+
            databaseCopy       (bool)            :  databaseCopy option
                                                    true - databaseCopy selected
                                                    false - databaseCopy unselected
                 default: False

            archiveLogBy       (str)            :  for restore archive log options,
                                                    default means restore archivelogall
                                                    is selected

                 default: default

     Raises:
            SDKException:

                if failed to browse content

                if response is empty

                if response is not success

                if destination client does not exist on commcell

                if destination instance does not exist on commcell
    """

    if sap_options is None:
        sap_options = {}

    # check if client name is correct
    if destination_client is None:
        destination_client = self._agent_object._client_object.client_name
        

    if isinstance(destination_client, Client):
        destination_client = destination_client
        
    elif isinstance(destination_client, str):
        destination_client = Client(self._commcell_object, destination_client)
        #print(destination_client)
    else:
        raise SDKException('Instance', '101')

    dest_agent = Agent(destination_client, 'sap for oracle','61')

    # check if instance name is correct
    if destination_instance is None:
        destination_instance = self.instance_name

    if isinstance(destination_instance, Instance):
        destination_instance = destination_instance
    elif isinstance(destination_instance, str):
        destination_instance = dest_agent.instances.get(destination_instance)
    else:
        raise SDKException('Instance', '101')
    sap_options["destination_client"] = destination_client.client_name
    sap_options["destination_instance"] = destination_instance.instance_name
    #sap_options["copyPrecedence"] = sap_options.get("copyPrecedence", "0")

    # prepare and execute
    request_json = self._restore_saporacle_request_json(sap_options)
    return self._process_restore_response(request_json)

Inherited members