Techniques for transferring objects between
database systems. As implemented in a
relational database management system, the techniques employ a data
transfer mechanism that operates under control of a master table in the RDBMS that is performing the
transfer operation. The master table specifies the kind of
transfer operation to be performed, a set of objects to be transferred, operations to be performed on the objects as they are being transferred, and filters for selecting a subset of the objects. During execution of the transfer, the
transfer mechanism maintains and updates state in the master table such that queries may be made on the master table to determine the current status of the operation and such that the
transfer mechanism may restart the operation after it has been stopped either at the request of a
client that is performing the operation or because of an error in the transfer. The master table's persistence and the status information it contains permit the
client that is performing the operation to detach from the operation without stopping the operation and later again attach to the operation to determine the operation's status or to perform operations such as creating new files for the operation or changing the
degree of parallelism with which the
transfer operation is being performed. Another feature of the transfer mechanism is using an object's
metadata to determine the most efficient way of transferring the object.