Using Oracle BRM pin_del_closed_accts tool to meet the GDPR requirements

Share on

24/05/2019

Table of Contents

Our reason to start analysing and testing Oracle BRM pin_del_closed_accts tool was GPRS Article 17: “Right to erasure (‘right to be forgotten’)“.

To meet all the GDPR requirements, all closed accounts must be deleted from Oracle BRM after a 24 months retention period. Till now we anonymized all customer information directly in the Oracle BRM database because there was no tool in Oracle BRM billing to properly delete closed accounts and all related data. With Oracle BRM 7.5 Patch Set 22, a tool for deleting closed accounts was added.

Oracle-BRM-anonymized

Picture 1. Oracle BRM 7.5 PS22 Customer Center anonymized customer data

Tool pin_del_closed_accts deletes all accounts and all referenced data for accounts that are older than a specified retention time. But keep in mind that the utility deletes only OOTB data objects; all custom data objects must be deleted by implementing custom logic and triggering it with the /event/notification/account/pre_delete or /event/notification/account/delete events, which are generated by PCM_OP_CUST_DELETE_ACCT opcode.

The retention period can be set by configuring ClosedAcctsRetentionMonths entry in bus_params_customer.xml and loading it into the Oracle BRM DB.

The utility should be run from BRM_home/apps/pin_billd folder. In pin.conf Set the number of threads to properly adjust the load on your Oracle BRM server. At the beginning, there were some very bad performances and lots of locked threads in the DB. Therefore, we created indexes on audit tables because searching for and deleting records in those tables takes a lot of time. If you need detailed information regarding creating indexes, please feel free to contact us.

The utility accepts several input parameters, so accounts can be deleted in specific order:

1. Deleting all the closed non-paying child accounts in hierarchy at different levels:

pin_del_closed_accts -subord -leaf
pin_del_closed_accts -subord

2. Deleting member accounts of the sharing groups:

pin_del_closed_accts -members_sharing

3. Deleting paying child accounts at different levels in a hierarchy:

pin_del_closed_accts -members_billing

4. Deleting all remaining closed accounts:

pin_del_closed_accts

It is also possible to use an input list with accounts POID to delete specified accounts:

pin_del_closed_accts -file file_name

Example of input file:
0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 1
1 PIN_FLD_POID POID [0] 0.0.0.1 /account 1111 0
0 PIN_FLD_RESULTS ARRAY [1] allocated 20, used 1
1 PIN_FLD_POID POID [0] 0.0.0.1 /account 2222 0
0 PIN_FLD_RESULTS ARRAY [1] allocated 20, used 1
1 PIN_FLD_POID POID [0] 0.0.0.1 /account 3333 0
0 PIN_FLD_RESULTS ARRAY [1] allocated 20, used 1
1 PIN_FLD_POID POID [0] 0.0.0.1 /account 4444 0

If there are references between accounts, referenced accounts won’t be deleted.

We are deleting accounts older than 24 months once per month to meet GDPR requirements. Deleting causes quite a heavy load on the DB, so it is done during the night, when the load on our real time Oracle BRM billing system is low.

Complying to GDPR requirements with the pin_del_closed_accts tool was a step in the right direction because everything is done automatically; therefore, we do not have to worry about this anymore.

Picture of Aleš
Aleš
Ales Pristovnik is the CEO of Tridens Technology, a Slovenian company specializing in the development of software solutions for the automotive industry. He has a long history in the IT industry, having worked for several large companies in the past. He has a passion for technology and innovation, and his current focus is on developing solutions that will improve the safety and efficiency of the automotive industry. He has a strong background in leadership and management, and is committed to driving his company forward in the ever-evolving technology sector.

Get news in your inbox!


    0 0 votes
    Article Rating
    Subscribe
    Notify of
    guest

    1 Comment
    Oldest
    Newest Most Voted
    Inline Feedbacks
    View all comments