db2 get snapshot for tables on <database>
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
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
DB2 GET AUTHORIZATIONS
should give a list of the levels for the current user.
also dba view: SYSCAT.DBAUTH
Ties Blom
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
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
|
|
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!
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.
macehill,
Thanks for the tip. I will give it a try the next time I run into a potential locking problem.
- Dan