Open topic with navigation

TIBCO iProcess® Engine 11.9.1

# pm_objects_lock

The `pm_objects_lock` table stores information about every procedure object that is currently locked.

## Structure

The `pm_objects_lock` table has the following structure:

    TABLE pm_objects_lock (
    	object_guid	varchar2(36)	NOT NULL,
    	lck_state	number(5),
    	lck_owner	varchar2(24),
    	lck_time	date)

Column | Description
`object_guid` | ID for this procedure object, as defined in the pm_objects table.
`lck_state` | Flag that defines (`1`) that this procedure object is locked.
`lck_owner` | Name of the user who has this procedure object locked, as defined in the user_names table.
`lck_time` | Time that the lock was set on this procedure object.

## Primary Key

The following primary key is defined for this table.

Key Name | Column(s) | Index Tablespace
`pk_pm_objects_lock` | `object_guid` | SMALLINDEXSPACE

## Foreign Keys

The following foreign key is defined for this table.

Key Name | Column(s) | Referenced in Table...
`fk_pm_objects_lock` 1 This key enforces the DELETE CASCADE referential action. | `object_guid` | pm_objects

## Indexes

None.

## Storage

The following STORAGE values are defined for this table.

Value | Definition
Initial | SMALLTABLESIZE
Percentage Increase | SMALLTABLEPCTINCREASE
Tablespace | SMALLTABLESPACE

## Table Activity

The `pm_objects_lock` table contains one row for each procedure object that is currently locked.

Rows are added, updated and deleted in the following situations.

A row is... | When...
added | a procedure object is locked.
updated | never.
deleted | a procedure object is unlocked.

## Unlocking Incorrectly Locked Procedure Objects

A procedure object is normally shown as locked in the Procedure Manager when it is open in the TIBCO iProcess Modeler. However, an object may also be locked if it was not closed properly from a previous TIBCO iProcess Modeler session - for example, if the system failed while the procedure was open.

If this happens the object cannot be accessed again until the locks in the proc_index and pm_objects tables are released. To do this:

| 1. | Log in to Oracle as the background user.

| 2. | In SQL*Plus , use the following query to delete all locks associated with the locked procedure (where `procedure_name` is the name of the locked procedure):

    delete procedure_lock where proc_id = (select proc_id from proc_index where proc_name = ’procedure_name’)
    delete pm_objects_lock where object_guid = (select object_guid from pm_objects where object_name like ’proc_name%’)

| 3. | Commit the transaction.

The object should now appear unlocked in Procedure Manager. (You can refresh the display first.)

Note | The `like` statement requires a `%` sign prefixed or suffixed to the `procedure_name`. However, this will select similarly-named procedures - for example, `’TEST%’` would select procedures named `TEST1`, `TEST2`, `TEST3`, even if only `TEST4` needed to be cleared. Ensure that the procedure name is complete - in the case in the previous paragraph, specify `’TEST4%’` - so that the `%` character only covers the option procedure description. Ensure that you are connected to the correct database and table.

Did you find this helpful?

Yes No
Great!
Thanks for taking the time to give us some feedback.
Sorry about that

Why wasn't this helpful? (check all that apply)

Could not find what I was looking for
Instructions confusing or unclear
Instructions did not work

Want to tell us more?

Please select at least one option or provide details about the issue!!

Error occurred while submitting feedback.

Error2 occurred while submitting feedback.

TIBCO iProcess® Engine