DSA Restore Locking Strategy - Data Stream Architecture

Teradata Data Stream Architecture (DSA) User Guide

Product
Data Stream Architecture
Release Number
16.10
Published
August 2017
Language
English (United States)
Last Update
2018-04-17
dita:mapPath
mbk1487616377418.ditamap
dita:ditavalPath
3150_DSA_UG_1610.ditaval.ditaval
dita:id
B035-3150
lifecycle
previous
Product Category
Software
Teradata Tools and Utilities

At the start of processing a restore job, DSA gets a Host Utility (HUT) Exclusive lock on every object in the job plan. Since the object definition and the data are being written, DSA needs an exclusive lock on these objects so there are no conflicts writing to the system. If the job plan includes a database, then DSA puts an Exclusive HUT lock on the whole database. If the job plan includes an object, then DSA puts an Exclusive HUT lock on the object.

In addition, the restore will put write locks on several DBC tables while the object definitions are being restored. These locks are held during the dictionary phase. Some of the tables that are locked include UTILITYLOCKJOURNALTABLE, TEXTTBL, IDCOL, DEPENDENCY, JAR_JAR_USAGE, ROUTINE_JAR_USAGE, ERRORTBLS, JARS, STATSTBL, QUERYSTATSTBL, REFERENCEDTBLS, REFERENCINGTBLS, UNRESOLVEDREFERENCES, CONSTRAINTNAMES, TRIGGERSTBL, OBJECTUSAGE, UIF_INFO, SERVERTBLOPINFO, DBCASSOCIATION, TVM, INDEXES, TVFIELDS, UDFINFO, and TABLECONSTRAINTS. There is also an access lock placed on DBASE and DATASETSCHEMAINFO. These are table level locks.

The HUT Exclusive lock is released as soon as the object is completely restored. For objects without a table header that are restored at the object level, the lock is released at the end of the dictionary phase. For tables that are restored at the object level, the lock is released as soon as the object is completely restored. For database level locks, the lock is released as soon as all the objects in the database have been completely restored. In Teradata Database 16.0, if the empty table option is selected during backup, the locks on the empty tables are released at the end of dictionary phase if they were restored at the table level.