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_lock1

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.