Assistance with IDXFIX

Posted by Ed Hanley on 06-Mar-2017 03:54

Hi,

I am running an IDXFIX with users on the system, which is running fine, but taking some time.  So is it possible to pause the process and then restart, my idea is to pause during main working hours and then restart overnight.

Just to confirm the command I ran: 

/progs/dlc102b/bin/proutil  /data1/rvdata/rva.db -silent -C idxfix

Any help much appreciated.

Regards Ed

All Replies

Posted by George Potemkin on 06-Mar-2017 06:06

You can use kill -SIGSTOP / kill -SIGCONT.

What is the purpose to run idxfix in your case? Which option of idxfix you are running? Scan records or Scan indexes? For all indexes or for only one of them?

Posted by Ed Hanley on 06-Mar-2017 06:12

Hi,

The purpose was to try and resolve some performance issues specific to that database, I am running option 3 - scan and fix from the proutil menu and for all indexes.

I cannot enter a command as their is no prompt, I don't want to CTRL + C the routine, but wondered if there was a similar command to pause and then re-start.

Thanks for the response.

Ed

Posted by George Potemkin on 06-Mar-2017 06:39

Idxfix can find the index corruption. It can fix the index corruption. (I would separate these phases with two runs). But idxfix can't fix the performance issues.

> I cannot enter a command as their is no prompt, I don't want to CTRL + C the routine, but wondered if there was a similar command to pause and then re-start.

You can find PID of the running idxfix (e.g. in db log).

Then run: kill -SIGSTOP <PID>

It will pause the process.

Then run: kill -SIGCONT <PID>

It will unfreeze the process.

Posted by Ed Hanley on 06-Mar-2017 06:44

Excellent, thanks for your help...  I am a little new to the database management side of Open Edge so wanted to perform an idxfix first before maybe re-building, if we decide to do that then we will probably involve some 3rd party support.

Thanks again.

Ed

Posted by Ed Hanley on 06-Mar-2017 07:09

Just to confirm that this is for Linux / OpenEdge DB v10...  rather than for windows environment?

Posted by George Potemkin on 06-Mar-2017 07:12

Correct. The 'kill' command is for Unix.

Posted by Ed Hanley on 06-Mar-2017 07:35

When I search for the PID there are two running which relate to the proutil command, one is the initial command and one which states TabAnalysis.

I take it I can pause both PIDs without causing issue with the process?

Regards

Posted by Tom Cattigan on 06-Mar-2017 07:42

I would be careful with SIGSTOP - try it out on a test command first.  It might kill the proutil command.  

Posted by gus bjorklund on 06-Mar-2017 08:02

if you stop the idxfix process, you may get lucky and stop it while it is holding some lock or maybe a latch. if so, eventually all the other processes connected to the database will grind to a halt, all waiting for the same lock or latch.

so check for this after a few minutes.

This thread is closed