[progress Communities] [progress Openedge Abl] Comment On Know Where All The Databases Are...

  • Thread starter Thread starter Rob Fitzpatrick
  • Start date Start date
Status
Not open for further replies.
R

Rob Fitzpatrick

Guest
A quick and dirty way to accomplish this is with a handle search in Process Explorer. Hit Ctrl+f and enter this search text: \BaseNamedObjects\sharemem. You'll see a list of the section objects (shared memory segments) belonging to various _mprosrv.exe processes, along with their PIDs and object names. The object names contain the encoded paths and database names, with colons dropped and backslashes converted to periods. Example: Running databases: C:\OpenEdge\WRK_64\db\demo.db C:\db\11.6\1124\sports.db C:\db\sp\sp.db Result of Process Explorer handle search: \BaseNamedObjects\sharemem.c.openedge.wrk_64.db.demo.0 \BaseNamedObjects\sharemem.c.db.11.6.1124.sports.0 \BaseNamedObjects\sharemem.c.db.sp.sp.0 It would still be nice to have dbipcs for Windows but this approach works in a pinch. Alternate approach, if you don't have Process Explorer handy: - run Resource Monitor (perfmon /res) - go to the CPU tab - in the Associated Handles pane there is a search box; enter "\BaseNamedObjects\sharemem." as the search text - the grid will now show you the section objects from which you can derive the paths You can also filter by "_mprosrv.exe" processes instead of the handle search but this is unwieldy if there are many databases. These approaches find databases that have been opened multi-user, not single-user. To find DBs opened single-user, change the search string to ".lk".

Continue reading...
 
Status
Not open for further replies.
Back
Top