Consultor Eletrônico



Kbase P112492: What is Proquiet nolock?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   7/24/2007
Status: Verified

GOAL:

What is Proquiet nolock?

FIX:

The proquiet utility was enhanced beginning in 9.1E02, 10.0B03, and 10.1A to support a quiet point that stops all write activity in the database within 15 seconds without requiring a latch.

Write activity in the database will be stopped in the main location where all databases writes take place by checking a shared memory variable set by the broker to indicate the current write is pended. The broker will wait 15 seconds for all the processes attempting to write to complete their current block write and stop write activity.

Online backup will also not be allowed to operate during a quiet point nolock activity.

It will NOT guarantee the stopping of microtransaction activity, some initial activity may occur as processes are notified on the quiet nolock activity. Since microtransaction activity can occur during a proquiet nolock, the user will be notified (if after imaging is enabled) as to which ai extent was in use and that roll forward with the retry option MUST be used to roll forward this ai file.

The proquiet nolock feature will NOT switch the after image file, when after imaging is enabled. If After Imaging is being used it is advisable to issue aimage new as a background task just after the proquiet nolock is issued, so that the request will be queued to switch to the next AI file when the quiet nolock is disabled.

proquiet <dbname> enable nolock &
rfutil db1 ?C aimage new &

The aimage new command will be pending on trying to write to the ai extent during the quiet nolock. As soon as it is lifted the extent will switch. This extent must be rolled forward using the roll forward retry option of the rfutil command on the restored target. Use of the nolock option to proquiet enable does not guarantee that a microtransaction might not be started shortly after the quiet nolock was issued but fully took effect. The microtransaction might be recorded to the AI file and if using the above methodology of performing the aimage new right after the proquiet nolock it might be necessary to roll forward some portion of the next after image file to pass beyond the microtransaction point.

If the user inadvertently uses roll forward without the retry option, they may encounter block update counter errors. The target is not corrupt at this point and the user can safely resume roll forward with the retry option to avoid further error.

Database Log entry examples:

11:33:06 QUIET 11: Quiet point request login by userfoo on batch. (5569)
11:33:07 Usr 13: Login by userfoo on batch. (452)
11:33:21 BROKER 0: Quiet Point enabled while ai extent /usr1/db1.a1 is in use. New Message enhanced further in OpenEdge 10.1A02 and 10.1B to include the sequence number:
Quiet Point enabled while ai extent <path>/dbname.an is in use, file number is 2.
11:33:21 BROKER 0: Use Roll Forward Retry with Quiet Point nolock. New Message
11:33:21 BROKER 0: Quiet Point Nolock has been enabled by the broker.
11:33:21 BROKER 0: Quiet point has been enabled by the broker. (5583) à left for backwards compatibility with existing customer scripts
11:33:22 QUIET 11: Logout by userfoo on batch. (453)

Both types of quiet points (with and without the nolock feature) will generate disable message when the broker ends them.
11:38:50 QUIET 15: Quiet point request login by userfoo on batch. (5569)
11:38:51 BROKER 0: Quiet point has been disabled by the broker. (5584)
11:38:51 QUIET 15: Logout by userfoo on batch. (453)