Ok, so this is an issue I ran into recently. The Commerce guys were trying to install a Feature Pack, and got this:
SQL0569N Authorization ID "<authorization-name>" does not uniquely identify a user, a group or a role in the system.
where the <authorization-name> was the id that Commerce uses to connect to the database. They thought they had an id issue, and tried a bunch of stuff (resetting pw, changing pw, etc) before calling a DBA. They had opened a PMR, and got back these suggestions:
- Use a different name for the db user. This db user name cannot be the same as any other db2 entity such as user group name.
- Apply fix pack 2. This issue is fixed in fix pack 2.
In reality it was a new system. We were not able to apply Commerce Fix Pack 2. And #1 isn’t so easy to change once the Commerce Instance has been created – it would have actually been easier to go back and re-do Commerce instance creation, in my mind.
At the root of this is the fact that (within DB2) you can specify on grant whether you’re granting to a user or to a group. But if there isn’t a user and a group with the same name, then you can just leave out that keyword alltogether. On this server there was a group with the same name as the user we were using for Commerce to connect to the database. That group was entirely unused and not really needed. So we created our own option, and simply renamed the group, and the problem was immediately solved.
I imagine Commerce fixed it in Fix Pack 2 by using the proper full syntax, including “user” in the grant statements they issued.
But this error does pop up all the time. If you’re testing on a system that doesn’t have that identically named group, you won’t get the error, and then wen you move to a system that does have it, you’ll get it. I wish DB2 would just force the use of either “user” or “group”.