db2ACSPrepare - prepare to perform a snapshot backup operation.

When a snapshot backup is performed, the database manager suspends the database. db2ACSPrepare() performs all the steps to prepare to perform a snapshot backup operation up to, but not including, the point where the database manager suspends the database.

Include file

db2ACSApi.h

Syntax and data structures


/* ==========================================================================
 * Prepare
 * ========================================================================== */
db2ACS_RC db2ACSPrepare(
               db2ACS_GroupList        * pGroupList,
               db2ACS_CB               * pControlBlock,
               db2ACS_ReturnCode       * pRC );

Parameters

pGroupList
Data type: db2ACS_GroupList *

db2ACS_GroupList contains a list of groups to be included in the snapshot backup operation.

If pGroupList is NULL, all groups (paths) will be included in the snapshot backup operation.

If pGroupList is not NULL:

  • pGroupList contains a list of groups (paths) to be included in the snapshot backup operation.
  • The database manager is responsible for allocating and freeing the memory for pGroupList.
  • The database manager populates the following fields before passing pGroupList to db2ACSPrepare():

         pGroupList->numGroupID
         pGroupList->id
pControlBlock
Data type: db2ACS_CB *

db2ACS_CB contains fundamental information required to initialize and terminate a Db2 ACS session.

Before calling db2ACSPrepare(), the database manager populates the following fields:


     pControlBlock->handle
     pControlBlock->vendorInfo
     pControlBlock->options

pRC
Data type: db2ACS_ReturnCode *

db2ACS_ReturnCode contains diagnostic information including message text and error codes specific to the storage hardware. The contents of a db2ACS_ReturnCode parameter for a Db2 ACS API function call will be recorded in the database manager diagnostic logs.

The database manager allocates the memory for this parameter, and passes a pointer to that instantiated object to the function. The database manager is responsible for freeing this memory.

The Db2 ACS API driver populates the fields of pRC before returning.

Return Codes

Table 1. Return codes
Return code Description Notes
DB2ACS_RC_OK The operation was successful.  
DB2ACS_RC_INV_ACTION The database manager requested an action from the Db2 ACS API driver that is invalid. The Db2 ACS API driver encountered an error. The database manager cannot use the Db2 ACS API session.
DB2ACS_RC_INV_DEV_HANDLE The database manager passed a storage device handle that is invalid. The Db2 ACS API driver encountered an error. The database manager cannot use the Db2 ACS API session.
DB2ACS_RC_DEV_ERROR There was an error with a storage device, such as a tape drive. The Db2 ACS API driver encountered an error. The database manager cannot use the Db2 ACS API session.
DB2ACS_RC_IO_ERROR The Db2 ACS API driver encountered an error resulting from input or output operations. The Db2 ACS API driver encountered an error. The database manager cannot use the Db2 ACS API session.
If the Db2 ACS API driver encounters an error, the driver might abort a Db2 ACS operation. The Db2 ACS session cannot be used for any action other than the following:
  • If a call to db2ACSBeginQuery() previously succeeded the database manager can call db2ACSEndQuery()
  • If a call to db2ACSBeginOperation() previously succeeded, the database manager can call db2ACSEndOperation()
  • If a call to db2ACSInitialize() previously succeeded, the database manager can call db2ACSTerminate()

For more information about Db2 ACS API return codes, see the topic: Db2 Advanced Copy Services (ACS) API return codes.

Usage notes

If db2ACSPrepare() succeeds, then the database manager will suspend the database before calling db2ACSSnapshot().