Kbase 19873: SQL-92: Error 7872 Trying to Grant Privileges to a User prior to 9.1D
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  9/3/2004 |
|
Status: Verified
FACT(s) (Environment):
Progress 9.x
SYMPTOM(s):
Granting SQL privileges to a user fails
Error 7872 when granting dba privileges with SQL-92
Grant dba to <user>;
Failure to acquire exclusive schema lock for DDL operation. (7872)
SQLState=HY000
ErrorCode=-210017
[JDBC Progress Driver]:Failure to acquire exclusive schema lock for DDL operation. (7872)
4GL users are connected to the database
CAUSE:
Another user is logged into the database and has a schema lock.
This behavior occurs when:
1) Another user connected to the database has an open transaction
2) A client is connection is maintaining a schema lock of some kind, e.g. the Progress Data Dictionary.
If a user is running a transaction, the tables accessed in that transaction will be locked regardless of whether the user manipulating the table definitions or not. Prohibiting schema updates to the database. This is to prevent table definitions being changed while a user is actually working with records from a table.
FIX:
Perform the operation when the clients transaction has completed or disconnect the clients that are running transactions.
The users may remain connected (unless they are running the Data Dictionary, for example), but the GRANT will need to be done when the transaction is finished.