Data Repair: Understanding its Purpose and Process

Nisal Ekanayake
3 min readApr 4, 2024

--

Data repair is a crucial task, especially in the Support Department. But what does data repair really mean? Essentially, it’s about fixing data that has been corrupted due to unexpected bugs or other unforeseen issues.

We make the Data Repair Script just for one-time fixes, not to be used again. If we need to use it multiple times, there might be a bug or something missing in the system. For bugs, we need a permanent solution to prevent them from happening again. For system improvements, it’s better to customize it.(suggesting for a customization)

However, in rare instances where the script must be executed multiple times, we omit the following comment from the script:

IMPORTANT — This data repair script is not intended to be re-executed.

Did you know that we can break down a Data Repair script into three parts?

  1. The data before the repair
  2. The business logic
  3. The data after the repair

In the first part, “Data Before the Repair,” we start by checking the data we need to fix. Then, in the “Business Logic” section, we write the code for our repair plan. Finally, in “The Data After the Repair,” we explain how the script fixes the data.

When it comes to data repair, developers shoulder the responsibility not just for writing code but also for any fixes they make. That’s why it’s crucial to create a backup table before making any changes. This ensures that the original data is preserved in case the customer needs it in the future.

Now, let’s talk about how we create this backup table. If we’re working on a one-time fix, we set up a static backup table. But if the script needs to be used multiple times, we go for a dynamic backup table tailored to the script’s requirements.

Static backup table for one-time use

In the Declaration block, we set up variables and handle errors for table creation. Then, using the EXECUTE IMMEDIATE statement, we create the backup table.

For static backup tables, the script simply checks for an existing table before executing the business logic.

Concatenate the timestamp for reuse.

For dynamic backup tables, a timestamp is added to the table name to allow for reuse. It’s worth noting that static tables may cause errors if the script is run multiple times, while dynamic tables avoid this issue.

Always keep in mind that data repair scripts are not recommended for reuse, as mentioned earlier.

After setting up the backup table, proceed with the business logic to modify the data as needed. Finally, display the data after the Data Repair is completed. Conclude with a final comment like this for closure:

Final comments

Before we finish up, it’s important to mention that this advice isn’t just for Data Repair. When using a LOOP within a data repair operation, it’s best practice to include an Exception block. This involves adding an extra BEGIN block, where you nest the EXCEPTION block.

EXCEPTION BLOCK INSIDE THE LOOP

And there you have it! The Data Repair process is now complete, eliminating any corrupted data records and restoring smooth operations.

--

--

No responses yet