Unable to access proutil when DB online

Manohar

New Member
Hello All,

I am facing below error while running proutil command but promon works fine. I used the same DLC path for both proutil and promon.

$DLC/bin/proutil <dbname>

OpenEdge Release 10.1C04 as of Fri May 29 23:21:07 EDT 2009

The shared memory is version 10215; expected 10213 (1178)

Could you please suggest me how can I access proutil?

Thanks in advance!
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
The issue is that you need to match the OE version of your proutil client to the shared memory version of your database. You are using proutil from 10.1C service pack 04 (version 10215). The database was started with an earlier version of 10.1C, somewhere between service pack 01 and service pack 03.

Search the process list for _mprosrv, to find the command line of the primary broker. That should show you the fully qualified path of the _mprosrv process that opened the database. That path will be what your $DLC environment variable should be set to in order for this command to work.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
Once you know the correct path for DLC, set and export DLC and PATH like below:
Code:
DLC=/your/path
PATH=$DLC/bin:$PATH
export DLC PATH

Then run your proutil command again.
 

Manohar

New Member
Hi Rob, Thanks for the quick response.

I tried to grep the _mprosrv process

ps -ef | grep _mprosrv
root 18022454 1 0 Sep 25 - 0:23 /progress/v10/dlc10.1c/bin/_mprosrv /xxx/xxx -L 100000 -c 350 -B 10000 -n 235 -semsets 10 -S xxx -N TCP -Mn 10

# DLC=/progress/v10/dlc10.1c
# PATH=$DLC/bin:$PATH
# export DLC PATH
# echo $DLC
/progress/v10/dlc10.1c
# echo $PATH
/progress/v10/dlc10.1c/bin:/home/czsecadm:/usr/bin:/etc:/usr/sbin:/sbin:/usr/sbin/acct:/var/adm/acct:/usr/bin/X11:/usr/ucb:/usr/java5_64/jre/bin:/root/bin:/root/sbin:/opt/pware/bin:/opt/pware/sbin:/usr/local/bin:/usr/local/sbin:/usr/es/sbin/cluster:/usr/es/sbin/cluster/utilities:.

# $DLC/bin/proutil /xxx/xxx -C describe
OpenEdge Release 10.1C04 as of Fri May 29 23:21:07 EDT 2009

The shared memory is version 10215; expected 10213 (1178)

I tried to follow the same steps but no luck.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
Was that the only process returned by the ps command? Are you sure that's the right command line?

Check in /progress/v10 and see what other OE installations you have on this machine. My bet is there is another 10.1C installation. The (1178) error means that the DLC used to start the DB isn't the DLC you are using to connect to it.
 

TomBascom

Curmudgeon
$DLC/bin/proutil is just a short script. Take a peek at it and verify that it is not inappropriately setting DLC or PATH.

Also make sure that you do NOT have a PROUTIL environment variable already in your environment:

Code:
echo $PROUTIL
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
Did you apply a patch yesterday? If you applied a service pack without shutting down that might explain it too.
In that case I'd expect the shared memory version to be older than what the client expects, not newer. Though I'm not sure if it's even possible to install a service pack while the files are in use.

$DLC/bin/proutil is just a short script. Take a peek at it and verify that it is not inappropriately setting DLC or PATH.

Also make sure that you do NOT have a PROUTIL environment variable already in your environment
I think these are the more likely culprits.
 

Manohar

New Member
I have verified output for grepping the _mprosrv. I got these lines only.

# ps -ef | grep _mprosrv
root 18022454 1 0 Sep 25 - 0:23 /progress/v10/dlc10.1c/bin/_mprosrv /xxx/xxx -L 100000 -c 350 -B 10000 -n 235 -semsets 10 -S xxx -N TCP -Mn 10
root 41222318 1 0 Sep 25 - 0:23 /progress/v10/dlc10.1c/bin/_mprosrv /xxx/xxx -L 50000 -c 350 -B 5000 -n 235 -semsets 10 -S xxx -N TCP -Mn 10
root 42860592 1 0 Sep 25 - 0:23 /progress/v10/dlc10.1c/bin/_mprosrv /xxx/xxx8 -L 100000 -c 350 -B 1000 -n 235 -semsets 10 -S xxx -N TCP -Mn 10
root 62521402 1 0 Sep 25 - 0:23 /progress/v10/dlc10.1c/bin/_mprosrv /xxx/xxx -L 100000 -c 350 -B 5000 -n 235 -semsets 10 -S xxx -N TCP -Mn 10
root 63635588 6684942 0 21:19:09 pts/10 0:00 grep _mprosrv
root 65996 1 0 Sep 25 - 0:24 /progress/v10/dlc10.1c/bin/_mprosrv /xxx/xxx -L 200000 -c 350 -B 20000 -n 235 -semsets 10 -S xxx -N TCP -Mn 10

Also I verified the progress installation path.

# echo $DLC
/progress/v10/dlc10.1c
# ls -ltr
total 1256
drwxrwxrwx 11 root system 4096 Mar 7 2011 oemgmt
drwxrwxrwx 35 root system 4096 Oct 11 2012 dlc10.2b
drwxrwxrwx 34 root system 4096 Sep 27 19:12 dlc10.1c
drwxrwxrwx 2 root system 622592 Sep 27 21:21 dlc10.1c.wrk


I observed something below - Proutil works when DB offline but not when DB online.

I have created a sample database using the same DLC=/progress/v10/dlc10.1c.

# $DLC/bin/proutil sampletndb -C describe
OpenEdge Release 10.1C04 as of Fri May 29 23:21:07 EDT 2009

The shared memory is version 10215; expected 10213 (1178)

# $DLC/bin/proshut sampletndb

1 Disconnect a User
2 Unconditional Shutdown
3 Emergency Shutdown (Kill All)
x Exit

Enter choice> 2
Shutdown is executing. (1613)
Shutdown complete. (1614)

# $DLC/bin/proutil sampletndb -C describe
OpenEdge Release 10.1C04 as of Fri May 29 23:21:07 EDT 2009


OpenEdge Database Description

Database Name : /dumpload/siripm73/crepy/sampletndb
Version : 150.0
Block Size : 8192
Largest Cluster : 1
Create Date : Thu May 28 09:25:08 2009
Last Open Date : Mon Sep 27 21:28:23 2021
Prior Open Date : Mon Sep 27 21:28:23 2021
Schema Change Date : Fri Nov 25 09:03:09 2016

Before Imaging information
Block Size : 8192
Cluster Size (16K Units) : 32
Last Open Date : Mon Sep 27 20:06:38 2021

Backup Information
Last Full Backup Date : Mon Sep 27 18:02:03 2021
Last Incremental Backup : *** Not yet performed ***

Database Features

ID Feature Active Details
---- --------------------------------- ------ -------
9 64 Bit DBKEYS Yes
10 Large Keys Yes
11 64 Bit Sequences Yes


I don't understand the reason why I cannot access to proutil when DB online. Please help me!!!
 

Manohar

New Member
In that case I'd expect the shared memory version to be older than what the client expects, not newer. Though I'm not sure if it's even possible to install a service pack while the files are in use.


I think these are the more likely culprits.
We did not apply any patches in the last 6 months, I should tell you here that I am new to this current project. I tried to run dbanalys command first time but faced the issue.

Database Shared memory version number: 10215
# echo $DLC
/progress/v10/dlc10.1c
# echo $DBUTIL
/progress/v10/dlc10.1c/bin/_dbutil
# echo $PROUTIL
/progress/v10/dlc10.1c/bin/_proutil
 

TomBascom

Curmudgeon
It has sometimes been possible to install service packs without a shutdown. Not always a good idea... but occasionally possible.
 

TomBascom

Curmudgeon
It seems like maybe your _proutil or, more importantly _dbutil, is from a different release than your _mprosrv. Are the timestamps of _mprosrv and _dbutil the same?
 

Manohar

New Member
Timestamp is not the same for both the file. Ah!

-rwsr-xr-x 1 root system 8728 May 30 2009 /progress/v10/dlc10.1c/bin/_proutil
-rwsr-xr-x 1 root system 5564563 Feb 1 2009 /progress/v10/dlc10.1c/bin/_dbutil
 

Manohar

New Member
I don't believe you have shared the content of $DLC/bin/proutil yet. Did I miss it?
# cat $DLC/bin/proutil
#!/bin/sh
DLC=${DLC-/progress/v10/dlc10.1c};export DLC
PROSQL_ENABLE_UNSUPPORTED_FEATURES=Y;export PROSQL_ENABLE_UNSUPPORTED_FEATURES
PROUTIL=${PROUTIL-$DLC/bin/_proutil}
case "x$display_banner" in
x | xyes)
cat $DLC/version
echo
;;
esac
exec $PROUTIL "$@"
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
I should tell you here that I am new to this current project.
I wonder if this is specific to your userid. Ask someone else on the project if they can run proutil describe against the running DB. If they can't, it may be that your installation is problematic. If they can, something is wrong in your environment.
 

Manohar

New Member
I wonder if this is specific to your userid. Ask someone else on the project if they can run proutil describe against the running DB. If they can't, it may be that your installation is problematic. If they can, something is wrong in your environment.
I am alone in the project to deal with multiple environments. I have some experience to mange progress databases but this is the first time I see this kind of issue.
I have observed something here that we have similar progress installation path in other AIX system. That was cloned system sometime back, probably same progress path and files available.

In other system, I just compared the timestamp of both _proutil and _dbutil is same and I can access proutil there.

Could you please suggest to fix the issue?
 
Top