Kbase P120280: Why does prostrct addonline check connected users?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  31/12/2008 |
|
Status: Verified
GOAL:
What does prostrct addonline check against existing connections ?
GOAL:
Why is prostrct addonline interupted by questions ?
GOAL:
Why does prostrct addonline check connected users?
GOAL:
These connections may abort adding extent online later.
Do you want to continue adding extents online? (y
)
GOAL:
There exist connections to the database which will have problems opening newly added extents.
Do you wish to recheck user permissions and continue adding extents online? (y
)
FACT(s) (Environment):
OpenEdge 10.1A
All Supported Operating Systems
FIX:
The ability to add extents online was introduced in OpenEdge 10.1A.
PROSTRCT addonline is part of PROUTIL, the sticky bit on _proutil therefore would allow that even if connected users don't have write permissions to the extent, suid will allow the creation anyway, provided that the user adding the extents online has write permissions to shared memory.
After the initial checks on available disk space, checks are made to determine the permissions of the user running the prostrct addonline, there are also checks against the permissions of connected users to touch the files which are about to be added to the database.
When the prostrct addonline is interrupted by questions /prompts, it has to do with permissions of currently connected users who won't be able to access the newly created extents, once created. In effect, we don't want to waste time and system resources backing out the Physical phase later, as when we reach the Logical phase, we cannot continue with such users still logged in. For example, users with read access only.
This is essentially the error checking for one of the caveats to adding extents online:
"All connected users must have sufficient privileges to access the newly created extents. If currently connected users will not have sufficient privileges to access the new extents, you may begin the ADDONLINE, but the users must be disconnected before the ADDONLINE can complete."
The initial message is in effect a pre-warning offering to back out before the Physical phase when connection(s) exist(s) which will have trouble opening the newly added extent. By continuing, the assumption is that these users would have logged out by the Logical phase.
These connections may abort adding extent online later.
Do you want to continue adding extents online? (y
)
The subsequent message is then prior to the Logical phase, which loops until the listed users have logged off or have been disconnected. At this stage, backing out of the operation has an unecessary overhead of having to remove the physical extents before completion.
There exist connections to the database which will have problems opening newly added extents.
Do you wish to recheck user permissions and continue adding extents online? (y
)
This scenario is typically encountered when the database has 644 or 640 permissions (read). Were the users to have 666, 664 or 660 permissions, these messages would not appear. This is particularly adventageous in a scenario where one is aware that a new extent for a specific area is needed. Connected users are currently running update/creates, so the chances of running out of space in this area are high. In this way, the extents can be added online most likely before the space is actually needed. The connected users can then access these new extents as needed, provided the above caveats are met iow: direct connections to the database must have permissions to open the new files
Another possible cause of this message "All connected users must have sufficient privileges to access the newly created extents..." may be that the group of the user initiating the prostrct addonline does not match the group of the users currently connected. This would also potentially lead to a situation where new extents created were not writable by the connected users.
If there is an operating system account which has the same primary group assignment as the connected users, it may be preferable to use that account to initiate the prostrct addonline command. If the users belong to the same group as the .db file of the database then the operation will suceed. There is no magical way to force the OS to open files where the user does not have permissions, direct connections to the database must have permissions to open the new files.&.nbsp; .