Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How do I determine if a table is locked? 3

Status
Not open for further replies.

ddiamond

Programmer
Apr 22, 2005
918
US
How do I determine is a table is locked? And if it is locked, how can I determine what is locking it?
 
Ties,

When I run your commaned, I get the following error:

SQL1427N An instance attachment does not exist.

Do you know what this means? I verified that I was connected to the database. What is an instance attachment?
 
Every database will belong to an instance. AFAIK you can have only 1 instance on a server.
Usually the attachment is implicit and you need not specify it first.
If you're on an other node then you may need to attach first:

db2 attach to nodeX
db2 list applications
db2 force application all
db2 detach

x= node


Ties Blom

 
I tried Node0 and got the error:
SQL1097N The node name was not found in the node directory. SQLSTATE=42720

How do you see what nodes are in the node directory? I looked over a list of syscat tables, but didn't find one that applied.
 
issue:

db2 list database directory

among other data there is something like:

Node name = ??????
Directory entry type = Remote (local)
Catalog node number = x

If it is listed as remote, then you may need to

CATALOG NODE



Ties Blom

 
Thanks Ties. I'm getting closer. I've successfully attached the node. Now when I try any of the other commands you listed, I'm told I don't have enough authority.

SQL1092N "DDIAMOND" does not have the authority to perform the requested command.

I should have complete authority for the database prod. Do I need additional authority to run intance level commands?
 
Good question.
If you have an installation out of the box, then you should probably use the db2admin account (administrator)
Check within operating system if the password has been changed (DB2 loans passwords from the operating system)

In all probability it should be like:

attach to db2 user db2admin using <password>
<command 1>
<command 2>

....

I used to work directly from the server console which circumvents these type of problems..


Ties Blom

 
Unfortunatley, I don't know the db2admin password. I was told that ddiamond has the same level of authority as db2admin, but it would appear that is not the case. I will see if I can find out the password. Interesting enough, ddiamond did have the authority to run the attach command, but did not have the authority to run get snapshot or list applications.
 
DB2 GET AUTHORIZATIONS

should give a list of the levels for the current user.

also dba view: SYSCAT.DBAUTH


Ties Blom

 
Ties,

I use DB2 on AIX and in my testing systems I have many instances, all containing many databases, all on the same server.

Just thought it worth pointing out.

Cheers
Greg
 
AFAIK this is not possible on Windows, but then my knowledge is from DBA courses before recent versions were released.

Ties Blom

 
You can have multiple instances on Windows also.

You set which isntance to attach to using the environment variable DB2INSTANCE. I'm not aware of any other setting, but my experience of DB2 on Windows is limited to non-production systems. So, I may have not noticed some other settings.

Regarding, ddiamond problem, check which Operating System group you are in ?

Also check for the dbm configs,

db2 get dbm cfg

for SYSADM_GROUP and SYSMAINT_GROUP.

If the SYSMAINT_GROUP does not have any value, you can set the group (or your dba can) ti the windoews group you are in.

If you want SYSADM rights (db2admin likeuy will have), then add your user to the SYSADM_GROUP group. If this value is also null, then it means administrator group is the SYSADM_GROUP. Add yourself to administrator group

HTH

Sathyaram

For db2 resoruces visit More DB2 questions answered at &
 
Code:
 Direct SYSADM authority                    = NO
 Direct SYSCTRL authority                   = NO
 Direct SYSMAINT authority                  = NO
 Direct DBADM authority                     = YES
 Direct CREATETAB authority                 = YES
 Direct BINDADD authority                   = YES
 Direct CONNECT authority                   = YES
 Direct CREATE_NOT_FENC authority           = YES
 Direct IMPLICIT_SCHEMA authority           = YES
 Direct LOAD authority                      = YES
 Direct QUIESCE_CONNECT authority           = YES
 Direct CREATE_EXTERNAL_ROUTINE authority   = YES
 Direct SYSMON authority                    = NO

Do I need SYSADM, SYSCTRL, and SYSMAINT authority? If so, how do I set them to YES? Does my network administrator have to put me in the window's SYSADMIN group?
 
My previous post had a typo .. I meant SYSMON_GROUP and not SYSMAINT_GROUP ..

Yes, to list snapshot and applications, the minimum authority required is SYSMON

You will have to add your username to relevant operating system groups and set the value of the sysmon_group or sysadm_group

HTH

Sathyaram

For db2 resoruces visit More DB2 questions answered at &
 
This little piece of freeware allows you to read all sort of monitoring data from a GUI
Ties I just tried out the program DB2mon.exe that you suggested. It is wonderful. Thanks.
 
Great to hear. I wish I would be in the position of working with DB2 again. Really missing it. Have a succesful 2007 by the way!

Ties Blom

 
Getting back to the original questions. You can find out if a table is locked either by typing:-

"db2 get snapshot for locks on <database>" which will show you all of the locks on the database

or

1. You could do a select on the table you suspect is locked.

If your select hangs then:-

2. Type "db2 list applications show detail" and look for your connection which will be in "lock wait" state.

3. Type "get snapshot for application <agentid>" where <agentid> is the id of your connection which you found in step 2. At the bottom of the output, you'll find which agent holds the lock on the table.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top