<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://in.compucrete.com/index.php?action=history&amp;feed=atom&amp;title=Database_Corruption</id>
	<title>Database Corruption - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://in.compucrete.com/index.php?action=history&amp;feed=atom&amp;title=Database_Corruption"/>
	<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=Database_Corruption&amp;action=history"/>
	<updated>2026-05-15T15:14:12Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>http://in.compucrete.com/index.php?title=Database_Corruption&amp;diff=110&amp;oldid=prev</id>
		<title>WikiAdmin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=Database_Corruption&amp;diff=110&amp;oldid=prev"/>
		<updated>2023-07-14T12:58:48Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:58, 14 July 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>WikiAdmin</name></author>
	</entry>
	<entry>
		<id>http://in.compucrete.com/index.php?title=Database_Corruption&amp;diff=109&amp;oldid=prev</id>
		<title>Intra&gt;User: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=Database_Corruption&amp;diff=109&amp;oldid=prev"/>
		<updated>2017-01-10T00:01:31Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;When a Keystone database becomes corrupt beyond repair and there are no suitable backups, one option is to &amp;quot;pump&amp;quot; the data from the corrupt database to a new, clean database. The GHIBDataPump utility is designed for this purpose. &lt;br /&gt;
&lt;br /&gt;
===Procedure===&lt;br /&gt;
&lt;br /&gt;
# Ensure that no one else is accessing the database, then copy the corrupt database to a separate folder (i.e. C:\KSFIX) and give it the name &amp;quot;ccwsrc.ib&amp;quot;.&lt;br /&gt;
# Create a new, clean Keystone database using the following procedure:&lt;br /&gt;
## Open a command prompt.&lt;br /&gt;
## Change to the InterBase Bin directory (C:\Embarcadero\InterBase\Bin for IB XE.)&lt;br /&gt;
## Enter the following command:&amp;lt;pre&amp;gt;GBAK -r -user ccwin -password &amp;lt;password&amp;gt; &amp;quot;C:\Program Files\GivenHansco\Keystone\Template\ccwmco.ibt&amp;quot; 127.0.0.1:C:\KSFIX\ccwtgt.ib&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Open IBConsole, connect to the C:\KSFIX\ccwtgt.ib database, and execute the following SQL command:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
set term ^ ;&lt;br /&gt;
&lt;br /&gt;
alter procedure ccpcompany_reassign_id&lt;br /&gt;
(&lt;br /&gt;
  old_id	VARCHAR(3),&lt;br /&gt;
  new_id	VARCHAR(3)&lt;br /&gt;
)&lt;br /&gt;
AS&lt;br /&gt;
BEGIN&lt;br /&gt;
  EXIT;&lt;br /&gt;
END&lt;br /&gt;
^&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
# Close and re-open IBConsole, connect to the C:\KSFIX\ccwtgt.ib database, and execute the following SQL command:&amp;lt;pre&amp;gt;ALTER TABLE GLTACCT DROP CONSTRAINT GLTACCT_FKY_COMPANY;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Now execute the following SQL command:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
set term ^ ;&lt;br /&gt;
&lt;br /&gt;
alter PROCEDURE arpdiv_reassign_id&lt;br /&gt;
(&lt;br /&gt;
  old_id	VARCHAR(2),&lt;br /&gt;
  new_id	VARCHAR(2)&lt;br /&gt;
)&lt;br /&gt;
AS&lt;br /&gt;
BEGIN&lt;br /&gt;
EXIT;&lt;br /&gt;
END&lt;br /&gt;
^&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
# Close and re-open IBConsole, connect to the C:\KSFIX\ccwtgt.ib database, and execute the following SQL command:&amp;lt;pre&amp;gt;ALTER TABLE GLTACCT DROP CONSTRAINT GLTACCT_FKY_DIVISION;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Unzip and run [[Media:GHIBDataPump.zip|GHIBDataPump.zip]].&lt;br /&gt;
# For Source Database enter:&amp;lt;pre&amp;gt;127.0.0.1:C:\KSFIX\ccwsrc.ib&amp;lt;/pre&amp;gt;&lt;br /&gt;
# For Target Database enter:&amp;lt;pre&amp;gt;127.0.0.1:C:\KSFIX\ccwtgt.ib&amp;lt;/pre&amp;gt;&lt;br /&gt;
# For Log File enter:&amp;lt;pre&amp;gt;C:\KSFIX\datapump.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Click the Refresh button, and enter the &amp;quot;ccwin&amp;quot; login and password.&lt;br /&gt;
# Click the OK button, and again enter the &amp;quot;ccwin&amp;quot; login and password.&lt;br /&gt;
# The program will now &amp;quot;pump&amp;quot; the data from the corrupt database's tables to the new database's tables. &lt;br /&gt;
# Close the program when you receive the &amp;quot;Pump complete&amp;quot; message.&lt;br /&gt;
# Open IBConsole, connect to the C:\KSFIX\ccwtgt.ib database, and execute the following SQL command:&amp;lt;pre&amp;gt;ALTER TABLE GLTACCT ADD CONSTRAINT &amp;quot;GLTACCT_FKY_COMPANY&amp;quot; FOREIGN KEY (&amp;quot;COMPANY_NO&amp;quot;) REFERENCES &amp;quot;CCTCOMPANY&amp;quot; (&amp;quot;COMPANY_NO&amp;quot;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Execute the following SQL command:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
set term ^ ;&lt;br /&gt;
&lt;br /&gt;
alter procedure ccpcompany_reassign_id&lt;br /&gt;
(&lt;br /&gt;
  old_id	VARCHAR(3),&lt;br /&gt;
  new_id	VARCHAR(3)&lt;br /&gt;
)&lt;br /&gt;
AS&lt;br /&gt;
BEGIN&lt;br /&gt;
      UPDATE gltacct SET company_no = :new_id WHERE (company_no = :old_id);&lt;br /&gt;
END&lt;br /&gt;
^&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
# Execute the following SQL command:&amp;lt;pre&amp;gt;ALTER TABLE GLTACCT ADD CONSTRAINT &amp;quot;GLTACCT_FKY_DIVISION&amp;quot; FOREIGN KEY (&amp;quot;DIVISION_NO&amp;quot;) REFERENCES &amp;quot;ARTDIV&amp;quot; (&amp;quot;DIVISION_NO&amp;quot;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Execute the following SQL command:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
set term ^ ;&lt;br /&gt;
&lt;br /&gt;
alter PROCEDURE arpdiv_reassign_id&lt;br /&gt;
(&lt;br /&gt;
  old_id	VARCHAR(2),&lt;br /&gt;
  new_id	VARCHAR(2)&lt;br /&gt;
)&lt;br /&gt;
AS&lt;br /&gt;
BEGIN&lt;br /&gt;
      UPDATE artplant SET division_no = :new_id WHERE (division_no = :old_id);&lt;br /&gt;
      UPDATE gltacct SET division_no = :new_id WHERE (division_no = :old_id);&lt;br /&gt;
END&lt;br /&gt;
^&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
# The final step is to set the database generators to the proper values. Set the following generators to the values given by the associated queries using the &amp;quot;SET GENERATOR &amp;lt;generator&amp;gt; TO &amp;lt;value&amp;gt;&amp;quot; SQL command.&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Generator&lt;br /&gt;
! Value Query&lt;br /&gt;
|- &lt;br /&gt;
| GEN_CCCONTKEY&lt;br /&gt;
| SELECT MAX(RECKEY) FROM CCTCONT;&lt;br /&gt;
|-&lt;br /&gt;
| GEN_CCSESSION&lt;br /&gt;
| SELECT MAX(SESSION_NO) FROM CCTSESSN;&lt;br /&gt;
|-&lt;br /&gt;
| GEN_ARTAXTRXKEY&lt;br /&gt;
| SELECT MAX(SEQ_NO) FROM ARTTAXTRX;&lt;br /&gt;
|-&lt;br /&gt;
| GEN_QUOTEID&lt;br /&gt;
| SELECT MAX(CAST(JOB_PO_LOC AS NUMERIC(15,0))) FROM QTTJOBHD&lt;br /&gt;
WHERE (JOB_PO_LOC = LOWER(JOB_PO_LOC));&lt;br /&gt;
|-&lt;br /&gt;
| GEN_DIBWKEY&lt;br /&gt;
| SELECT MAX(RECKEY) FROM DITBWHD;&lt;br /&gt;
|-&lt;br /&gt;
| GEN_DIORDERID&lt;br /&gt;
| SELECT MAX(CAST(ORDER_CODE AS NUMERIC(15,0))) FROM ARTORDHD&lt;br /&gt;
WHERE (ORDER_CODE = LOWER(ORDER_CODE));&lt;br /&gt;
|-&lt;br /&gt;
| GEN_APPONO&lt;br /&gt;
| SELECT MAX(CAST(PO_NUMBER AS NUMERIC(15,0))) FROM APTPOHD&lt;br /&gt;
WHERE (PO_NUMBER = LOWER(PO_NUMBER));&lt;br /&gt;
|-&lt;br /&gt;
| GEN_GPSEQNO&lt;br /&gt;
| SELECT MAX(SEQ_NO) FROM GPTSTATUS;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
You may now replace the original corrupt database with the C:\KSFIX\ccwtgt.ib file.&lt;/div&gt;</summary>
		<author><name>Intra&gt;User</name></author>
	</entry>
</feed>