Browser version scriptSkip Headers

Oracle® Fusion Applications Customer Data Management Implementation Guide
11g Release 1 (11.1.3)
Part Number E20433-03
Go to contents  page
Contents
Go to Previous  page
Previous
Go to previous page
Next

24 Define Data Quality

This chapter contains the following:

Define Data Quality: Explained

Manage Data Quality Engine

Manage Server Configurations

Manage Data Quality Engine Matching Setup

Manage Matching Configurations

Manage Data Quality Engine Cleansing Setup

Manage Cleansing Configurations

Manage Data Synchronization

Troubleshooting Oracle Fusion Data Quality Services and IIR Servers

FAQs for Define Data Quality

Define Data Quality: Explained

Defining data quality involves setting up two functionalities, matching and address cleansing, by performing related regular and manual setup and maintenance tasks. Manual setup and maintenance tasks are performed on the related third-party data quality (DQ) engine, Informatica Identity Resolution (IIR).

The Oracle Fusion Trading Community Data Quality matching and address cleansing services are designed to cater to all Oracle Fusion applications that use the trading community registry.

Matching is the identification of potential duplicates for organizations, persons, and locations. Potential duplicate records are identified and displayed in the data quality functionality consuming Oracle Fusion Applications during a variety of activities such as duplicate prevention in real-time when a customer record is being created or duplicate identification in batch mode for existing records.

Address cleansing is the process of correction and validation of address data, based on postal requirements. For example, if a user enters valid values for postal code, city, and country, the data quality functionality may return a value for state. Likewise, if a user enters valid values for city, state, and country, the data quality functionality automatically supplies a postal code value.

This figure illustrates the data quality management architecture. The data quality services receive matching or cleansing requests, such as duplicate prevention or address validation, from a variety of consuming applications, such as Oracle Fusion Sales and Oracle Fusion Trading Community Hub, and then internally invoke the appropriate third party services based either on a default configuration or a specific configuration passed to the services.

Oracle Fusion data quality management
architecture

Matching and address cleansing are independent functionalities and are set up separately using the following steps:

Managing Lookups

Review and define lookup values that provide choices for data matching and cleansing, such as address fields, quality error messages, and match tolerances.

Managing Data Quality Configurations

Perform the configurations required to enable data quality processes such as data quality matching and cleansing operations.

You can enable data quality processes such as matching and address cleansing for real-time or batch matching and cleansing, and as part of the data import process.

Real-time matching can prevent individual entry of duplicate trading community entities, such as organization, person, or location, into the trading community registry. Batch matching leads to identification of duplicates entries in the trading community registry.

As part of defining and managing data quality configurations, you search, review, and edit seeded matching and cleansing configurations for real-time and batch matching and cleansing of trading community entities.

Managing Server Configurations

Define, review, and update the data quality server configurations to integrate with the embedded data quality engine.

Next, associate the server name with the matching and cleansing configurations to perform duplicate prevention, batch duplicate identification, and real-time and batch data cleansing.

Managing Matching Index Synchronization

Review and update matching index synchronization options, to synchronize Oracle Fusion Trading Community Hub registry data with the data quality engine repository, such as system and identity tables. View the latest synchronization results, evaluate errors, and reset for continued processing after resolving error conditions.

Manage Data Quality Engine

Informatica Identity Resolution Setup: Procedures

Follow this procedure to verify the installation of the third-party data quality (DQ) engine, Informatica Identity Resolution (IIR), used by Oracle Fusion Trading Community Data Quality, and perform IIR setup operations. The IIR setup operation are manual setup and maintenance tasks performed using the UI of the third-party data quality (DQ) engine.

Note

If you are working on the 64-bit operating systems of Oracle Enterprise Linux, Windows, AIX, or Solaris Sparc, when you provision CRM using the provisioning framework, an instance of IIR (64 Bit) is automatically provisioned along side. However, for Solaris X-64 Bit platform, IIR does not get provisioned. You need to install it manually on any of the other 64-Bit operating systems. Except for the manual installation of IIR on a different platform, all the setup steps for Solaris X-64 Bit platform are identical to other platforms.

Performing Post-Provisioning Checks

Once Fusion Application environment is provisioned by Oracle Fusion Application Provisioning Framework, do the following to verify IIR installation:

This table lists the processes that run when IIR is working.


Server Name

Process Name

Port

Purpose

License Server

ssalisv

1601

Meant for licensing matching requests. You can configure the value of this port.

Search Server

ssasrsv

1666

Serves an incoming matching request. Connects to the Rulebase server for system or Rulebase information.

Connection Server

ssacssv

1667

Meant for improving performance of search clients.

Console Server

ssacosv

1669

Enables Informatica IR Console Client to access the Rulebase and other files and to launch other IIR utilities.

Rulebase Server

ssasrsv

1668

Meant for accessing the IIR Rulebase in the database and is relevant only for matching. There is no separate process for this. It is started as part of ssasrsv.

An instance of IIR uses seven ports. If IIR is provisioned through the framework, the value of the license server port is determined by the value of the property provisioning.setup.app-ports.core.iir.port that is set in the provisioning plan. If IIR is installed manually, the value of the license server port is determined by IIR_INSTANCE_1_PORT in the install.props file.

The seven ports are listed here. For example, if the port value set for provisioning.setup.app-ports.core.iir.port uses the default value 1601, the ports occupied for Informatica Identity Resolution would have the following values:

Note

The value of SSA_LIPORT can be found in <PROV.TOP>/InformaticaIR/env/envs and the values of all other ports can be found in <PROV.TOP>/InformaticaIR/env/isss.

Post-Provisioning Operations

When post-provisioning checks are successful, perform these post-provisioning operations sequentially to set up IIR:

  1. IIR Matching Setup. For more information, see: Informatica Identity Resolution Matching Setup: Procedures.

  2. IIR Address Cleansing Setup. For more information, see: Informatica Identity Resolution Address Cleansing Setup: Procedures.

  3. Oracle Fusion Data Quality Connector Setup. For more information, see: Fusion Data Quality Connector Setup: Procedures.

Setting up Multiple Informatica Identity Resolution Instances: Overview

Set up multiple Informatica Identity Resolution (IIR) instances to make use of client load balancing capabilities of IIR to implement failover. You can configure the Oracle Fusion Data Quality Connector to allow Oracle Fusion Applications to speed up data quality management operations and to avoid overload by sending matching and cleansing calls to different IIR instances. Note that the multiple instances do not require any data or repository replication and can work with one Oracle Fusion Application Database.

Note

The setup mentioned in this section is not mandatory and should be used only based on use cases, and in a specific deployment scenario.

Use multiple instances of the IIR and setup the Oracle Fusion Data Quality Connector appropriately to make use of load balancing to implement failover as follows:

For more information on these load balancing and failover scenarios, refer to the topics in the Related Topics section of this topic.

Note

Informatica Identity Resolution (IIR) Server does not support native server load balancing.

Assumptions and Constraints

Take note of the following assumptions and constraints before using multiple instances of the IIR and the Oracle Fusion Data Quality Connector setup for load balancing and failover:

Load Balancing by Matching and Cleansing on Different Dedicated Hosts: Procedures

Use this procedure for load balancing with no specific requirement for high availability, or failover, by performing the matching and cleansing operations on dedicated hosts.

This figure provides a visual representation of the load balancing process achieved by matching and cleansing on different dedicated hosts.

Flowchart depicting load balancing
achieved by matching and cleansing on different dedicated hosts

Configuring the primary and Secondary IIR Hosts

Use the following steps to configure the IIR hosts:

  1. Manually install Informatica Identity Resolution (IIR) on the secondary host, making sure INSTALL_IIR_OBJECTS=N. In other words, make sure that the schema objects installed during installation of IIR through provisioning are not installed again during the manual installation of IIR. For more information, see: Manually Installing Informatica Identity Resolution: Procedures

  2. Perform all the matching setup steps in the primary IIR host.

  3. Perform all the cleansing setup steps in the secondary IIR host.

Configuring the Oracle Fusion Data Quality Connector

Use the following steps to configure Oracle Fusion Data Quality Connector:

  1. In the Real-time and Batch Basic Server, enter the server address and server port of the primary IIR host, the IIR Matching Server.

  2. In the Real-Time Cleanse Server and Batch Cleanse Server, enter the server address and server port of the secondary IIR host, the IIR cleansing server.

Load Balancing by Matching and Cleansing with Secondary Servers: Procedures

Use this procedure for load balancing with no specific requirement for high availability, or failover, by performing the matching operations on a secondary match server.

This figure provides a visual representation of the load balancing process for matching operations achieved by matching with a secondary match server.

Flowchart depicting match load balancing
achieved by matching with a secondary match server

Configuring the Secondary Match Server

Use the following steps to configure the secondary match server:

  1. Manually install Informatica Identity Resolution (IIR) on the secondary match server, making sure INSTALL_IIR_OBJECTS=N. In other words, make sure that the schema objects installed during installation of IIR through provisioning are not installed again during the manual installation of IIR. For more information, see: Manually Installing Informatica Identity Resolution: Procedures.

  2. Make sure IIR on the secondary match server has access to an Oracle DB client to connect to the Fusion Application Database and the tnsnames.ora has all the relevant SID information. Shut down IIR on the secondary match server.

  3. Perform all the matching setup steps using IIR on primary match server. Shut down IIR on primary match server.

  4. Start IIR on primary match server.

  5. Start IIR as a search server only on the secondary match server by doing the following:

    <PROV.TOP>/InformaticaIR/bin > bash
    <PROV.TOP>/InformaticaIR/bin  > . ./setfusionEnv.sh
    <PROV.TOP>/InformaticaIR/bin  > . ../env/isss
    <PROV.TOP>/InformaticaIR/bin  > ./ssasrsv -n{SEPORT2} -h{RBHOST1}:{RBPORT1} -1$SSATOP/iirlog/idssrsv.log -2$SSATOP/iirlog/idssrsv.err -3$SSATOP/iirlog/ids.dbg &
    

     

    Note

    The Search Server in Host 2 is started by pointing its port (SEPORT2) to the Rulebase Server's host (RBHOST1) and port (RBPORT1) in the primary match server. Here:

    • SEPORT2 = Search Server Port (SSA_SEPORT defined in InformaticaIR/env/isss on IIR Host 2. The default port is 1666).

    • RBHOST1 = Hostname or IP of IIR Host 1

    • RBPORT1 = Rulebase Server Port (SSA_RBPORT defined in InformaticaIR/env/isss on IIR Host 2. The default port is 1668.

  6. On Host 1 (Primary Host), start the IIR Update Synchronizer process using the following steps:

    1. Sign in the Informatica Identity Resolution (IIR) host machine.

    2. Enter cd <PROV.TOP>/InformaticaIR/bin

    3. Enter setfusionEnv.sh

    4. Start the IIR console client using the admin option, ./idsconc -a

    5. Select Run Synchronizer on the Tools menu to launch the synchronizer.

    6. In the Update Synchronizer dialog, select All as the value for IDT Name, use the default values for the rest of the fields, and click OK.

    7. Verify that the updated and newly created person records are available in IIR, by searching for persons in the Per-dup tab of IIR Web Search Client.

    8. Sign out of the Informatica Identity Resolution (IIR) user interface.

  7. In the Oracle Fusion DQ Connector, on the Manage Server Configuration page, update the SecondaryServer1Address and SecondaryServer1Port values respectively for the host name and port of the Secondary Server (Host 2). These parameters can be found in the Server Parameter Values section.

  8. Select the Enable High Availability checkbox for each server operation.

  9. Click Save and Close.

    Note

    Repeat steps 7, 8, and 9 for each server configuration: Realtime and BatchBasic Server, Batch Cleanse Server, and Realtime Cleanse Server

  10. Restart the Oracle Fusion Applications instances that require data quality management to enable Oracle Fusion Data Quality Connector to commence load balancing and failover.

Load Balancing and Failover by Matching and Cleansing Using a Secondary Instance: Procedures

Use this procedure for load balancing to implement high-availability, or failover, by performing both matching and cleansing operations using a secondary instance of Informatica Identity Resolution (IIR).

This figure provides a visual representation of the load balancing and failover process achieved by matching and cleansing using a secondary instance.

Flowchart depicting load balancing
and failover achieved by matching and cleansing using a secondary
instance

Configuring the Secondary instance of IIR to Load Balance and Failover

Use the following steps to configure the secondary instance of Informatica Identity Resolution (IIR) to load balance and failover matching and cleansing:

  1. Manually install Informatica Identity Resolution (IIR) on the secondary host, making sure INSTALL_IIR_OBJECTS=N. In other words, make sure that the schema objects installed during installation of IIR through provisioning are not installed again during the manual installation of IIR. For more information, see: Manually Installing Informatica Identity Resolution: Procedures.

    Note

    Since there are two fusion application instances in this scenario, the secondary IIR instance may already be installed. In such cases, you need to only configure the Oracle Fusion Data Quality Connector so that it points to the same Oracle Fusion Database as the primary IIR instance. For more information, see: Oracle Fusion Data Quality Connector Setup: Procedures.

  2. Make sure IIR on the secondary host has access to an Oracle DB client to connect to the Fusion Application Database and the tnsnames.ora has all the relevant SID information. Shut down IIR on the secondary host.

  3. Perform all the matching setup steps using IIR on primary host. Shut down IIR on primary host.

  4. Start IIR on primary host, Host 1, by starting the Rulebase Server first followed by starting the Search Server.

    <PROV.TOP>/InformaticaIR/bin > bash
    <PROV.TOP>/InformaticaIR/bin  > . ./setfusionEnv.sh
    <PROV.TOP>/InformaticaIR/bin  > . ../env/isss
    <PROV.TOP>/InformaticaIR/bin  > ./ssasrsv -m{RBPORT1} -gFusionRBSG,ssa:rtunitrb -w1 -1$SSATOP/iirlog/priRB.log -2$SSATOP/iirlog/priRB.err -3$SSATOP/iirlog/priRB.dbg &
    <PROV.TOP>/InformaticaIR/bin  >./ssasrsv -n{SEPORT1}  -gFusionRBSG,ssa:rtunitrb -1$SSATOP/iirlog/priSE.log -2$SSATOP/iirlog/priSE.err -3$SSATOP/iirlog/priSE.dbg &
    

     

  5. Start IIR on the secondary host, Host 2, by starting the Rulebase Server first, followed by starting the Search Server.

    <PROV.TOP>/InformaticaIR/bin > bash
    <PROV.TOP>/InformaticaIR/bin  > . ./setfusionEnv.sh
    <PROV.TOP>/InformaticaIR/bin  > . ../env/isss
    <PROV.TOP>/InformaticaIR/bin  >./ssasrsv -m{RBPORT2} -gFusionRBSG,ssa:rtunitrb -w1-1$SSATOP/iirlog/secRB.log -2$SSATOP/iirlog/secRB.err -3$SSATOP/iirlog/secRB.dbg &
    <PROV.TOP>/InformaticaIR/bin  >./ssasrsv -n{SEPORT2}  -gFusionRBSG,ssa:rtunitrb -1$SSATOP/iirlog/secSE.log -2$SSATOP/iirlog/secSE.err -3$SSATOP/iirlog/secSE.dbg &

     

  6. Start IIR Console on the primary host, Host 1.

    <PROV.TOP>/InformaticaIR/bin > ./ssacssv -o -n{CSPORT1} -hselocalhost:{SEPORT1} -hcolocalhost:{COPORT1} 
    -hhtlocalhost:{HTPORT1} -gFusionRBSG,ssa:rtunitrb -w$SSATOP/ids 
    -1$SSATOP/iirlog/cons.log -2/$SSATOP/iirlog/cons.err 
    -3$SSATOP/iirlog/cons.dbg &

     

    For example:

    <PROV.TOP>/InformaticaIR/bin > ./ssacssv -o -n1669 -hselocalhost:1666 -hcolocalhost:1667 
    -hhtlocalhost:1612 -gFusionRBSG,ssa:rtunitrb -w$SSATOP/ids 
    -1$SSATOP/iirlog/cons.log -2/$SSATOP/iirlog/cons.err 
    -3$SSATOP/iirlog/cons.dbg &

     

  7. Start IIR Connection Server on the primary host, Host 1.

    <PROV.TOP>/InformaticaIR/bin > ./ssacosv -hlocalhost:{SEPORT1} -n{COPORT1} -t5 -1$SSATOP/iirlog/conn.log 
    -2/$SSATOP/iirlog/conn.err -3$SSATOP/iirlog/conn.dbg &
    

     

    For example:

    <PROV.TOP>/InformaticaIR/bin > ./ssacosv -hlocalhost:1666 -n1667 -t5 -1$SSATOP/iirlog/conn.log 
    -2/$SSATOP/iirlog/conn.err -3$SSATOP/iirlog/conn.dbg &
    

     

    Note

    • RBPORT1 and RBPORT2 respectively are the ports for the Rulebase Server on IIR Host 1 and IIR Host 2 respectively. The values for these parameters should respectively be the value of SSA_RBPORT in InformaticaIR/env/isss on Hosts 1 and 2.

    • SEPORT1 and SEPORT2 respectively are the ports for the Search Server on IIR Host 1 and IIR Host 2. The values for these parameters should respectively be the value of SSA_SEPORT in InformaticaIR/env/isss on Hosts 1 and 2.

    • CSPORT1 is the port for the Console Server on IIR Host 1. The values for this parameter should be the value of SSA_CSPORT in InformaticaIR/env/isss on Hosts 1.

    • COPORT1 is the port for the Connection Server on IIR Host 1. The values for this parameter should be the value of SSA_COPORT in InformaticaIR/env/isss on Hosts 1.

    • HTPORT1 is the port for the HTTP Search Server on IIR Host 1. The values for this parameter should be the value of SSA_HTPORT in InformaticaIR/env/isss on Hosts 1.

    • The parameter w1 specifies that the polling frequency of the Secondary Server to determine if the Primary Server is active is one second. For example, if the value of the parameter is set to w10 then the polling frequency of the Secondary Server to determine if the Primary Server is active will be 10 seconds.

    • The steps 4 and 5 essentially start the Rulebase Servers in a group, making sure, that even if one matching instance fails, the other can continue to function. Only one rulebase server (primary) in the group is permitted to respond to queries and the other (secondary) server periodically polls the primary server to determine if it is active.

    • In the scenario in which load balancing is done by matching with a secondary match server, if the primary server (Host 1) fails, matching will stop functioning unless it is restored.

      In contrast, in the present scenario, if the primary server (Host 1) fails, the secondary server (Host 2) takes the role of the primary server, with no expectation of Host 1 to be restored. However, there is a small latency in the secondary server assuming the role of the primary server and there could be a loss of the matching functionality during this temporary latency period.

  8. On Host 1 (Primary Host), start the IIR Update Synchronizer process using the following steps:

    1. Sign in the Informatica Identity Resolution (IIR) host machine.

    2. Enter cd <PROV.TOP>/InformaticaIR/bin

    3. Enter setfusionEnv.sh

    4. Start the IIR console client using the admin option, ./idsconc -a

    5. Select Run Synchronizer on the Tools menu to launch the synchronizer.

    6. In the Update Synchronizer dialog, select All as the value for IDT Name, use the default values for the rest of the fields, and click OK.

    7. Verify that the updated and newly created person records are available in IIR, by searching for persons in the Per-dup tab of IIR Web Search Client.

    8. Sign out of the Informatica Identity Resolution (IIR) user interface.

  9. In the Oracle Fusion DQ Connector, on the Manage Server Configuration page, update the SecondaryServer1Address and SecondaryServer1Port values respectively for the host name and port of the Secondary Server (Host 2). These parameters can be found in the Server Parameter Values section.

  10. Select the Enable High Availability checkbox for each server configuration.

  11. Click Save and Close.

    Note

    Repeat steps 9 to 11 for each server operation: Realtime and BatchBasic Server, Batch Cleanse Server, and Realtime Cleanse Server.

  12. Restart the Oracle Fusion Applications instances that require data quality management to enable Oracle Fusion Data Quality Connector to commence load balancing and failover.

Informatica Identity Resolution Server Maintenance and Administration: Procedures

Administration and maintenance includes start up and shutdown activities of the Informatica Identity Resolution (IIR) server and how Oracle database interacts with the IIR server. It also includes locking and unlocking of the Rulebase and how you can use the Informatica IR Console Client.

Starting Up and Shutting Down IIR

To start the IIR server, enter the following commands:

<PROV.TOP>/InformaticaIR/bin> bash
<PROV.TOP>/InformaticaIR/bin>. ./setfusionEnv.sh

 

Note

If you are using C Shell, use the command source setfusionEnv.csh

<PROV.TOP>/InformaticaIR/bin> ./liup
<PROV.TOP>/InformaticaIR/bin> ./idsup
<PROV.TOP>/InformaticaIR/bin> ./idsconc -a

 

Note

Start the Update Synchronizer from the IIR Admin Console. However, after starting the Update Synchronizer, shut down the IIR Admin Console, For more information on Starting Up and Shutting Down Update Synchronizer, refer to the topic Informatica Identity Resolution Matching Setup: Procedures.

To shutdown the server, enter the following commands:

Note

If the Update Synchronizer is running (check for the updsync process), stop it from the IIR Admin Console. After stopping the Update Synchronizer, shut down the IIR Admin Console. For more information on Starting Up and Shutting Down Update Synchronizer, refer to the topic Informatica Identity Resolution Matching Setup: Procedures.

<PROV.TOP>/InformaticaIR/bin> bash
<PROV.TOP>/InformaticaIR/bin>. ./setfusionEnv.sh

 

Note

If you are using C Shell, use the command source setfusionEnv.csh

<PROV.TOP>/InformaticaIR/bin> ./idsdown
<PROV.TOP>/InformaticaIR/bin> ./lidown

 

Note

It is strongly recommended that you verify the Informatica Identity Resolution after every startup or a restart.

Shutting Down Servers for High Availability

To shutdown the primary and secondary servers make sure the following steps are followed:

  1. Stop Update Synchronizer on the primary server.

  2. Stop license server on the Primary and all other servers on both Primary and secondary server as follows:

    <PROV.TOP>/InformaticaIR/bin > bash
     <PROV.TOP>/InformaticaIR/bin > . ./setfusionEnv.sh
     <PROV.TOP>/InformaticaIR/bin > lidown
     <PROV.TOP>/InformaticaIR/bin > ./ssashut -h<HOST>:<PORT>
    

     

    Note

    Do the ssashut for all servers started using their respective host and port.

Verifying Informatica Identity Resolution (IIR) Configuration

Before handing over an environment for business use, you need to perform certain checks to determine if IIR is in working condition. Perform the checks after performing any of following activities:

If any of the IIR configuration checks fail, the data quality functionality will not work. For information on troubleshooting, refer to the Troubleshooting Informatica Identity Resolution and Data Quality Setup: Overview help topic listed in the Related Topics section.

Perform the following checks to verify Informatica Identity Resolution (IIR) configuration:

Locking and Unlocking of Rulebase

If you are setting up IIR for matching, you must understand how the IIR Server interacts with the Oracle database. When you start an IIR server, the Rulebase Server also starts, but it does not connect to the Oracle database until the first client makes a request. This can be a search request, for example, a match call made from Oracle Fusion Applications, or, it can be an administrator request, for example, a user starting the Informatica IR Console client. A Rulebase server uses and maintains this connection unless IIR is brought down with an idsdown command. Once a Rulebase server connects to the Oracle database, it creates a lock that ensures that no other Rulebase server connects to the Rulebase.

When the IIR server is up and the Oracle database is shutdown or crashes, or if there is a network issue that affects connectivity, the Rulebase lock remains active. In such cases where a lock is active, all future search requests fail with an error that indicates there is another Rulebase server running.

This table lists various situations that can occur after the IIR and Oracle database connection has been established.


Possibility

Procedure

Shutting down Oracle database.

Shut down the IIR Server before shutting down the Oracle database. Else, the Rulebase is locked and it fails all future requests. Once Rulebase is locked, you need to manually unlock it.

Database crashes or there is a connectivity issue.

Unlock the Rulebase manually.

IIR server crashes or reboots due to power outage, or any similar case.

Rulebase is automatically unlocked by the first client. Requires no manual intervention.

IIR is shut down improperly, for example, with the Update Synchronizer running.

The Rulebase can become corrupt. Clean the Rulebase or create it again.

Every time an IIR server starts, a new pair of parent and child Rulebase also start. The parent server generates a new unique ID and this ID is stored in the Rulebase. In case of a Rulebase lock, if the ID generated by the parent is not equal to the ID stored in the Rulebase, the child server fails to start.

You must unlock the Rulebase manually. To do this, set an environment variable to the same ID that locks the Rulebase. Here is an example of a message that appears when a Rulebase lock is in force:

IS ANOTHER RULEBASE SERVER RUNNING?

Rulebase sdb:file:c:\a3i\ids\rule In use by ssa.identitysystems.com IP=203.2.203.109 on port=1668, SSA_RB_RESTART_ID=281753650

For this message, enter <PROV.TOP>/InformaticaIR/bin > set SSA_RB_RESTART_ID=281753650 and then start the IIR server.

When the Rulebase server starts, it uses the environment variable to unlock the Rulebase when the two IDs match. It then uses the freshly generated parent ID to lock it again. A locked Rulebase can be unlocked only once using the same ID.

Using the Informatica IR Console Client

You can use the Informatica IR Console client for the following operations:

These are the restrictions on using the Informatica IR Console client:

Encrypting the Informatica Identity Resolution Dictionary-alias File: Explained

Clients such as Console Client or Fusion Real-Time and Batch that connect to IIR, pass a mandatory parameter called rulebase name. It is an alias for the connection string required by IIR to connect to the FUSION_DQ schema in the Fusion Application Database. The alias is defined in a file called ssadb.dic in <PROV.TOP>/InformaticaIR/ids directory.

The following example shows how a typical ssadb.dic would look like.

rtunitrb odb:0:fusion_dq/fusion_dq@rws65311
fusion_s01 odb:1:fusion_dq/fusion_dq@rws65311
btunitrb odb:1:fusion_dq/fusion_dq@rws65311
fusion_s02 odb:2:fusion_dq/fusion_dq@rws65311
zcqsrc odb:99:fusion_dq/fusion_dq@rws65311

 

The alias rtunitrb is the alias for the rulebase name. The remaining aliases are used for different purposes. For example, fusion_s01 is used to create the FusionDQRealtime System, zcqsrc is used by the loader process to get source data from Oracle Fusion and so on.

Note

The setup mentioned here is not mandatory and should be used only based on use cases, and in a specific deployment scenario.

Changing Rulebase Names

In Oracle Fusion, the predefined alias for the rulebase name is rtunitrb. If there is ever a need to change the rulebase name, you can change it in the dictionary file, and ensure that the change is also carried over to the Server Operation Page (used in IIR Matching). For example, if rtunitrb is changed to foo, then the rulebase alias in the Server Operation Page should be changed from ssa:rtunitrb to ssa:foo. If you made this change while the server was up and running, you need to restart the IIR Server to bring the change into effect.

Encryption ssadb.dic

It is recommended to create a backup copy of the ssadb.dic file and store it as a template for future use, before encrypting it. It is also recommended to replace the password on the backup copy with an empty string. You can later provide a password for this backed up copy, if you intend to use it.

Access the directory where PERL is available, either using $PATH or the absolute path and do the following:

Changing Password after Encryption

After ssadb.dic is encrypted, there may be occasions where the password for FUSION_DQ might be changed by a database administrator, as part of security due diligence.

To change the password for ssadb.dic, do the following.

  1. Take a backup of the existing ssadb.dic (as mentioned in the earlier section).

  2. Delete the existing ssadb.dic (in use).

  3. Enter the new password for the backup up file and rename the file to ssadb.dic.

  4. Encrypt the file as mentioned earlier.

Manually Installing Informatica Identity Resolution: Procedures

This help topic describes the provisioning and platform support, software requirements, and the steps for the manual installation of Informatica Identity Resolution (IIR).

Assessing Provisioning and Platform Support

Use this information to determine whether you need to install IIR manually.

When CRM is provisioned using the provisioning framework, an instance of IIR (64 Bit) is provisioned on the following platforms: OEL 64 Bit, Windows 64 Bit, AIX 64 Bit, Solaris Sparc 64 Bit.

However, IIR is not provisioned as part of CRM Provisioning for the Solaris X-64 Bit platform. For this platform, install IIR manually on any of the supported platforms such as OEL 64 Bit. Except for the manual install, IIR setup steps for Solaris X-64 Bit platform are identical to those for other platforms such as OEL 64 Bit.

Assessing Software Requirements

Use this information to ensure compliance with the software requirement for the manual installation of IIR.

The host on which IIR is installed should have access to an Oracle DB Client for connecting to the Fusion Application Database.

The host should have its GNU libc version 2.5 or later.

The size of FUSION_TS_DQ (the default table space for the Oracle Fusion data quality and hence the repository for IIR), should have a table space size at least 10 times the size of the data. The data here represents the fields used in FusionDQ Realtime.sdf.

Installing Informatica Identity Resolution

Use the following steps to manually install IIR on the OEL 64 Bit platform.

  1. Unzip the following files in an appropriate location

  2. Go to the fusion_iir directory and edit theinstall.props file to make sure the properties described in the following table are populated correctly.

    Note

    This table describes the properties and their values that must be populated correctly for installing IIR manually. None of the properties except the ones mentioned in this table should be modified.


    Properties

    Value Descriptions (To be Replaced with Actual Values)

    Sample Values

    ORACLE_HOME

    Oracle home for DB client used by IIR

     

    TNS_ADMIN

    TNS_ADMIN for DB client used by IIR

     

    LD_LIBRARY_PATH

    Library path on IIR host

     

    FUSION_STAGE_DIR

    Directory where Fusion Ext Zip is unzipped

     

    IIR_STAGE_DIR

    Directory where IIR Zip is unzipped

     

    IIR_VERSION

    Name of the version to which that the IIR unzip resolves

    IIR_901sp1_linux_amd64

    IIR_DB_HOSTNAME

    Fusion application DB host

     

    IIR_DB_PORT

    Fusion application DB port

     

    IIR_DB_SID

    Fusion Application DB SID

     

    IIR_DB_USER

    fusion_dq

     

    IIR_DB_PASSWD

    Credentials for fusion_dq

     

    IIR_INSTALL_LOG_LOC

    Location to which Install logs should go

     

    IIR_INSTANCE_1_PORT

    Start port for the license server

    1660 (if available, this port should work fine as the default port

    INSTALL_IIR_OBJECTS

    Yes or No

    No (if IIR is installed as a Secondary Server; for more information, see: Setting up Multiple Informatica Identity Resolution Instances: Overview

  3. Execute the following command after changing to the fusion_iir directory: runInstaller.sh install.props.

    It typically takes about 8 to 12 minutes to install IIR.

Note

Use the same steps to install IIR on the Windows 64 Bit platform, except for running runInstaller.bat in fusion_iir

Manage Server Configurations

Server Configurations: Explained

Server configurations are predefined configurations for third-party data quality servers.

You can search, review, and edit server configurations. Although you can edit the configuration name, server address, server port, and values of some of the configuration parameters, you cannot add or delete a server configuration parameter.

There are four predefined server configurations:

Real-Time and Batch Basic Match Server

Used for basic real-time duplicate prevention and batch data matching and duplicate identification. This configuration requires you to synchronize the Oracle Fusion Trading Community Hub registry data with the third party data quality engine repository periodically to ensure appropriate matching indexes are updated continuously.

Real-Time Cleanse Server

Used for real-time data cleansing operations that happen at touch point applications, such as Oracle Fusion Sales and Oracle Fusion Customer Center, and so do not need synchronization.

Batch Cleanse Server

Used for batch cleansing operations during which records in a batch are sent to the data quality server for cleansing one at a time, and the data quality engine returns the cleansed record to the registry likewise, one at a time, thus completing the loop.

Advanced Batch Match Server

Used for advanced batch matching that is done to find duplicates amongst a group of records before uploading them to the Oracle Fusion Trading Community Hub registry. For example, an acquiring company may do an advanced batch match of the legacy data of the acquired company before uploading the data to the registry. In such a case, data is uploaded to the repository of the data quality engine directly for duplication identification and after the duplication identification processing it is imported to the Oracle Fusion Trading Community Hub registry.

Oracle Fusion Data Quality Connector Setup: Procedures

Once you complete the Informatica Identity Resolution (IIR) matching and cleansing setups, you must ensure that Oracle Fusion Applications is connected to the data quality engine.

Connecting Oracle Fusion Applications to Data Quality Engine

To connect Oracle Fusion Applications to the data quality engine:

  1. Map Oracle Fusion Applications to IIR Matching server.

    1. Log in to the Functional Setup Manager application as an administrator user.

    2. Under Assigned Implementation Tasks, search for Manage Server Configuration setup tasks.

    3. Select Go to Task. This opens the task-flow page.

    4. Click Search to find all existing configurations.

    5. In the Search Results, select Realtime and BatchBasic Server.

    6. Select Actions - Edit.

    7. Enter the Server Address and Server Port of the IIR Matching Server. The default port is 1666. To know the current port, use grep SSA_SEPORT=$<PROV.TOP>/InformaticaIR/env/isss.

    8. Select Enable Matching.

    9. (Optional) Select Enable High Availability.

    10. Click Save and Close.

  2. Map Oracle Fusion Applications to IIR Cleansing server.

    1. Log in to the Functional Setup Manager Application as an administrator user.

    2. Under Assigned Implementation Tasks, search for Manage Server Configuration setup tasks.

    3. Select Go to Task. This opens the task-flow page.

    4. Click Search to find all existing configurations.

    5. In the Search Results, select Realtime Cleanse Server.

    6. Select Actions - Edit.

      Note

      Repeat the steps to select Batch Cleanse Server from the search results and edit it.

    7. Enter the Server Address and Server Port of the IIR Cleansing server. The default port is 1666. To know the current port, use grep SSA_SEPORT=$<PROV.TOP>/InformaticaIR/env/isss.

    8. Select Enable Cleansing.

    9. (Optional) Select Enable High Availability.

    10. Click Save and Close.

    Note

    By default, the IIR server instance is the same for both matching and cleansing, but you can configure separate instances if required.

Manage Data Quality Engine Matching Setup

Informatica Identity Resolution Matching Setup: Procedures

When you use the configurations provided by Oracle Fusion Trading Community Data Quality, matching consists of initial indexing and index synchronization.

Initial Indexing

Perform the following for initial indexing:

  1. Log in to the Informatica Identity Resolution (IIR) Host machine.

  2. Enter cd <PROV.TOP>/InformaticaIR/bin.

  3. Run setfusionEnv.sh.

  4. Start the Informatica IR Console using ./idsconc -a option.

  5. On the launched console, select Rulebase Type as SSA and Alias as rtunitrb.

  6. Click OK.

  7. Select Yes for a new Rulebase.

  8. In Informatica IR Console, navigate to System - New - Create a system from SDF.

    Enter the following information:

  9. Go to System and select System Name as FusionDQRealtime.

  10. Click OK.

  11. Go to System - Load IDT.

    Use Loader Definition list to load the following ID tables one by one:

  12. Click OK for each ID table.

The IIR load jobs launched from the Informatica IR Console pull the data from the Oracle Fusion Applications database and create keys for them. It then prepares the data in the IIR Server and uses SQL loader to load the data back into the Oracle Fusion Applications database. During this process, if any load job fails and a fix has been applied, you must delete the corresponding .dat file from the PROV.TOP//InformaticaIR/ids directory and then refresh the applicable ID table.

To refresh an ID table:

  1. Go to System - Refresh.

  2. Select Refresh Selected Objects.

  3. Choose the ID table name to refresh.

  4. Click OK.

Index Synchronization

Once initial indexing is done, you can continue with adding or editing records, but you must synchronize the index as follows:

  1. Start the Update Synchronizer on IIR.

    Note

    Refer to Starting Up and Shutting Down Update Synchronizer section of this help topic.

  2. Start the Oracle Fusion Synchronization Oracle Enterprise Scheduler job.

    Note

    Refer to Running the Schedule Synchronization Process section of the following help topic Synchronizing Trading Community Registry and Data Quality Engine Repository Data: Worked Example.

Starting Up and Shutting Down Update Synchronizer

The Update Synchronizer is a batch job that runs in the IIR Server. Primary function of an Update Synchronizer is to take records in the no source access (NSA) table periodically, create the keys for them, and synchronize these to identity tables (IDTs) and identity indexes (IDXs). The records in NSA are created by the Oracle Fusion Synchronization Oracle Enterprise Scheduler job. Once the Update Synchronizer has completed the job, it would clear the records from NSA.

Starting Up Update Synchronizer: You can start the Update Synchronizer from the Informatica IR Console.

  1. Log in to Informatica IR Console.

  2. Go to System and select System Name as FusionDQRealtime.

  3. Go to Tools - Synchronizer - Run Synchronizer.

  4. Click OK.

    Select the All option for IDT Name and retain the rest of the defaults.

  5. Click OK.

Shutting Down Update Synchronizer: Once started, the Update Synchronizer can be left running for the lifecycle of the IIR Server unless there is a need to shut it down.

  1. Log in to Informatica IR Console.

  2. Double click Update Synchronizer under Launched Jobs to open the Synchronize window.

  3. Select Yes. The Synchronizer terminates within 60 seconds.

  4. Close the Synchronize window after shutdown.

When there is loss of connectivity with the database, Update Synchronizer stops functioning. You must then restart it.

Extending Predefined IIR Matching Configurations: Procedures

This topic describes how to extend predefined Informatica Identity Resolution (IIR) matching configurations to overcome the skewness of matching results when fields or attributes of the records being matched are null.

When a record is sent for matching to Informatica Identity Resolution (IIR) , the engine returns the final set of matches, by performing a two-step process. The consecutive steps are listed below:

  1. Search or Candidate Selection: As part of this step, IIR searches and shortlists candidate records from among the repository records (also called file records).

  2. Matching or Scoring: During this step, IIR does a field by field level comparison of the candidate record against the corresponding field in the record being matched (also called the searched record). The individual score of a field is: weight * score. The total score is the sum of all individual scores.

Note

For more information on the IIR matching process and predefined matching configurations, refer the IIR vendor documentation in <PROV.TOP>/InformaticaIR/pdf directory within the IIR Installation.

Since the total score is the sum of all individual scores, scoring produces skewed results if an attribute or field in either the searched record (the record being matched) or in the candidate record (the file record) is null, because the weight contribution of such a filed would be 0.

The following table provides an example of how scoring results can be skewed, if an attribute or field in either the searched record (the record being matched) or in the candidate record (the file record) is null.


Searched Record (the record being matched)

File or Candidate Record

Score

Lawrence, 105 E. Graham Ave

Lawrence

(100 * 800 )/800 = 100

Lawrence

Lawrence, 105 E. Graham Ave

(100 * 800 )/800 = 100

In this example the score is 100 percent even when the address field is missing, because predefined IIR matching configurations ignore weight contributions for any null attribute or field in either the searched record (the record being matched) or in the candidate record (the file record).

To overcome the skewness of matching results when fields or attributes of the records being matched are null, Oracle Fusion Data Quality ships a set of custom rulebase population, which when used, ensures that the weight for any attribute is 0, only if that attribute is null for the searched record (the record being matched).

The following table provides an example of scoring done using the custom rulebase population that ensure that the weight for any attribute is 0, only if attribute is null for the searched record (the record being matched).


Searched Record (the record being matched)

File or Candidate Record

Score (predefined population)

Score (custom population)

Lawrence, 105 E. Graham Ave

Lawrence

(100 * 800)/800 = 100

{(100 * 800)(0 * 200)}/{800 + 200} = 80

Lawrence

Lawrence, 105 E. Graham Ave

(100 * 800)/800 = 100

(100 * 800)/800 = 100

Procedure for Extending Predefined IIR Matching Configuration

Use this procedure to extend predefined Informatica Identity Resolution (IIR) matching configurations.

  1. Log in to IIR Admin Console and select FusionDQRealtime system.

  2. Stop the Update Synchronizer if it is running.

  3. Start System Editor.

  4. Select Edit and select Yes, this time only or Yes, do not ask me again for this session as appropriate.

  5. Select Org-dup (under Search) in the System Editor.

  6. Select the Score Logic tab, and on the Controls field add Fusion_ right after the Purpose= In other words, after the change, the Match Purpose should be Fusion_Organization, as opposed to Organization.

  7. Click Load. Close the Edit System pop up once you see the message Job completed, and repeat Step 5 for all the remaining 8 searches from location_dup through person_dupe in the System Editor.

  8. (Recommended) Restart the IIR to avoid caching and to ensure that the new scoring mechanism is used.

    Note

    • The out of the box predefined configurations use the US population: usa.ycp. To create other custom populations, select the relevant population out of the 64 populations from the zipped file OracleCustomPopulations.zip in the InformaticaIR/pr/default directory and customize it.

    • To revert to the out of the box predefined population, undo the steps above, by removing Fusion_ from the Match Purpose, from all the nine searches in the System Editor and by doing a load using the Step 7.

Manage Matching Configurations

Matching Configurations: Explained

Matching configurations are predefined configurations used for real-time and batch matching of party entities with the intention of preventing and identifying duplicate entries in the trading community registry.

Real-time and batch matching are available for the following trading community entities:

There are six predefined matching configurations, three each for real-time and batch matching.

These configurations include both Oracle Fusion Trading Community Data Quality parameters and the parameters of the embedded data quality engine, Informatica Identity Resolution (IIR). While some of the parameters, such as MatchTolerance, are single valued, others, such as Manage Search Definition, are multi-valued.

You can search, review, and edit these seeded matching configurations.

Note

Although you cannot add or delete a matching configuration parameter, you can change the configuration name and update the parameter values to suite your requirements. For more information, see: Matching Configuration Parameters.

Real-time Matching Configurations

The following are the predefined real-time matching configurations:

Real-time matching prevents individual entry of duplicate trading community entities, such as organization, person, or location, through calling touch point applications, such as Oracle Fusion Sales and Oracle Fusion Customer Center into the trading community registry. Real-time matching finds all possible duplicate records that may exist in the registry for an entered record, and assigns a match score to each potential duplicate identified. Based on the match score returned by the service and the threshold settings in the configuration, the calling application can provide the option to either select an existing duplicate record or continue to create a new record.

Batch Matching Configurations

The following are the predefined batch matching configurations:

Batch matching leads to the identification of duplicate entries in the trading community registry, between trading community registry and sets of data, such as import batches, or within sets of data to resolve them by merging or linking. While real-time matching provides duplicate prevention for only one record and returns potential matches for the record being entered, the batch matching service takes a set of records of the same type, such as person, organizations, or locations and identifies all possible matches within these sets of records. The duplicate data is presented in sets of possible matches with a score associated with each individual record in the set.

IIR Matching Process

Based on the matching configurations provided by Oracle Fusion Trading Community Data Quality, the embedded data quality engine, Informatica Identity Resolution (IIR), returns the final set of matches by performing a two-step process comprising candidate selection and scoring.

These steps are described below:

  1. Candidate Selection: This step requires that the matched-against records are stored in the IIR repository and indexed. IIR uses search definitions to search and shortlist candidate records from among the repository records.

  2. Scoring: In this step, IIR does a field by field level comparison of the candidate record against the corresponding fields in the record being matched. The matching fields and the scoring are also defined in the search definition.

Defining Indexes and Index Synchronization

Matching using the configurations provided by Oracle Fusion Trading Community Data Quality requires both defining indexes, or initial indexing, and index synchronization of the Informatica Identity Resolution (IIR) repository with the trading community registry.

A prerequisite to defining indexes or initial indexing is creation of a new system on IIR using the system definition file, FusionDQRealtime.sdf, shipped with the application that uses US population and contains information about IIR match rules and indexes.

Before defining indexes, review the index information in the out of the box system definition file FusionDQRealtime.sdf to verify that it is uptodate and make any modifications required to suite your specific business needs.

Staging Tables

IIR staging tables, also called identity tables (IDTs), are used to achieve the following:

Identity tables (IDTs) are also used for periodic index synchronization of the third party data quality engine repository with the Oracle Fusion Trading Community Hub registry to account for the continual updates made to the registry.

Note

IIR staging tables definitions are stored in FusionDQRealtime.sdf shipped with the application.

The following table describes the different staging or identity (IDT) tables.


Entity

IDT Name

Data Content

Comments

Organization

ORG_PRIMARY_IDT

Profile information and primary attributes, such as primary address and primary phone, of an organization.

The IDT includes one row for each organization.

Organization

ORG_ADDRESS_IDT

Multiple addresses and primary attributes, such as primary phone, of an organization.

IDT does not include organizations that have no addresses.

For organizations that have addresses, the IDT includes one row for each active address.

Person

PER_PRIMARY_IDT

Profile information and primary attributes, such as primary address and primary phone, of a person.

The IDT includes one row for each person.

Person

PER_ADDRESS_IDT

Multiple addresses and primary attributes, such as primary phone, of a person.

IDT does not include persons that have no addresses.

For persons that have addresses, the IDT includes one row for each active address.

Person

PER_PHONE_IDT

Multiple Phones and Primary attributes (primary phone) of a Person, with Key created on "Concatenated Address Lines".

IDT does not include persons that have no phones. For Persons that have phones, the IDT includes one row for each active phone.

Location

LOCATION_IDT

Location Information

The IDT includes one row for each active location.

Search Definitions

IIR uses search definitions to search and shortlist candidate records from among the repository records.

The following table describes the different search definitions


Entity

Search Definition

Functionality

Organization

org-dup

Uses Organization Name as key or acquisition attribute and scores on other fields, using weights. Organization Name has the highest weight (about 67%), although other attributes contribute, as well.

Organization

org-address-dup (multi-search definition)

Leads to two searches, one against Organization Name (key 1) and another against Address Line 1 (key 2). So matching on any of these yields a match.

Person

person-dup

Uses Person Name as key or acquisition attribute and scores on other fields, using weights. Organization Name has the highest weight (about 67%), although other attributes contribute, as well.

Person

person-address-dup (multi-search definition)

Leads to two searches, one against Person Name (key 1) and another against Address Line 1 (key 2) and combines results. So matching on any of these yields a match.

Person

person-phone-dup (multi-search definition)

Leads to two searches, one against Person Name (key 1) and another against Phone (key 2) and combines results. So matching on any of these yields a match.

Location

location-dup

Uses Address Line 1 as the key or acquisition attribute and scores on other fields, using weights. Address Line 1 has the highest weight (about 67 %).

Match Options Behavior

When finding out duplicate organization and person parties, some users might want to match potential duplicate records using multiple addresses and phones. However, indexing multiple records with multiple addresses and phones can adversely affect performance. Oracle Fusion Trading Community Data Quality tries to strike a balance between the accuracy and speed of duplicate identification by taking the following optimal approach:

  1. Partitioning the Oracle Fusion Applications data based on trading community entities and their attributes in staging tables before loading the data into the IIR repository.

  2. Providing appropriate match options on the configuration page.

The following table describes real time matching behavior for the different available match options.


Entity

User Options

API or Web service Behavior

Organization

Match Against:

  • Primary Only

  • Primary OR All Addresses

For Primary Only match option, service goes against PRIMARY search def

For Primary OR All Addresses match option, service goes against ADDRESS search def, if address of the record being matched is not null, else goes against the PRIMARY search def

Person

Match Against:

  • Primary Only

  • Primary OR All Addresses

  • Primary OR All Phones

  • Primary OR All Addresses OR All Phones (with a user specified tiebreaker, when the record being matched has both address and phone)

For Primary Only match option, service goes against PRIMARY search def.

For Primary OR All Addresses match option, service goes against ADDRESS search def, if address of input record is not null, else goes against the PRIMARY search def.

For Primary OR All Addresses match option, service goes against PHONE search def, if phone of the record being matched is not-null, else goes against the PRIMARY search def.

For Primary OR All Addresses OR All Phones match option:

  • If both Address and Phone of the record being matched are not null, the service goes against ADDRESS OR PHONE search def based on tiebreaker logic.

  • If Address is not null, the service goes against ADDRESS search def.

  • If Phone is not null, the service goes against ADDRESS search def

  • If both Address and Phone are null, the service would go against the PRIMARY.

The following table describes batch matching behavior for the different available match options.


Entity

User Options

API or Web service Behavior

Organization

Match Against:

  • Primary Only

  • Primary AND All Addresses

For Primary Only match option, service goes against only ORG PRIM

For Primary AND All Addresses match option, service goes against both ORG PRIM and ORG ADDRESS.

Person

Match Against:

  • Primary Only

  • Primary AND All Addresses

  • Primary AND All Phones

  • Primary AND All Addresses AND All Phones

For Primary Only match option, service goes only against PER PRIM

For Primary AND All Addresses match option, service goes against both PER PRIM and PER ADDRESS.

For Primary AND All Phones match option, service goes against both PER PRIM and PER PHONE.

For Primary AND All Addresses AND All Phones match option, service goes against all: PER PRIM and PER ADDRESS and PER PHONE.

Real-Time Duplicate Prevention Components: How They Work Together

Real-time duplicate prevention enables you to prevent the individual entry of duplicate trading community entities, such as organization, person, or location, in the trading community registry through Oracle Fusion Trading Community Data Quality matching services consuming applications, such as Oracle Fusion Customer Center.

Real-time duplicate prevention comprises the following components:

This figure shows the real-time duplicate prevention components in action.

Real-time duplicate prevention flow
chart

Real-Time Matching Service

During the data entry process, the Real-Time Matching Service finds all possible duplicate records that may exist in the trading community registry for an entered record, and assigns a match score to each potential duplicate identified.

Consuming Applications

Real-time duplicate prevention finds use in data quality service consuming applications such as Oracle Fusion Receivables and Oracle Fusion Customer Center. When users try to enter a new person, organization, or location record through their UI into the Oracle Fusion trading community registry, the service finds all possible duplicate records that may exist in the registry for an entered record, and assigns a match score to each potential duplicate identified. Based on the match score returned by the service and the threshold settings in the configuration, the calling application can provide the option to either select an existing duplicate record or continue to create a new record.

Matching Configurations

Matching configurations are predefined configurations used for real-time and batch matching of party entities with a view to preventing and identifying duplicate entries in the trading community registry. Oracle Fusion Trading Community Data Quality has three predefined real-time matching configurations:

You can search, review, and edit these seeded matching configurations. While you cannot add or delete a configuration parameter, you can change configuration name and update the parameter values to suite your requirements.

Server Configurations

Real-time duplicate prevention makes use of the Real-Time and Batch Basic Match Server.

Matching server configurations provide the address and port of the third party server to which the match request should be sent for processing. Server configurations show all the parameters that can be set at either the matching configuration level or the server configuration level and provide the ability to modify the values of the server configuration level parameters. The parameters that are set at the server level are applicable to all the matching configurations.

Batch Duplicate Identification Components: How They Work Together

Batch duplicate identification enables you to identify duplicate entries in the trading community registry, between trading community registry and sets of data, such as import batches, or within sets of data to resolve them by merging or linking.

Batch duplicate identification comprises the following components:

This figure shows the batch duplicate identification components in action.

Batch duplicate identification flow
chart

Batch Matching Service

The Batch Matching Service is used for identification of potential duplicates for trading community entities such as persons, organizations, and locations.

Consuming Applications

The batch duplicate identification capability finds use in master data management applications such as Oracle Fusion Trading Community Hub, and other data quality service consuming applications that import data in batches. The capability takes a set of records of the same type, such as persons, organizations, or locations and identifies all possible matches within these sets of records. The duplicate data is presented in sets of possible matches with a score associated with each individual record in the set. These sets of potential duplicates can then be resolved by merging or linking.

Matching Configurations

Matching configurations are predefined configurations used for batch and real-time matching of party entities with a view to identifying and preventing duplicate entries in the trading community registry. Oracle Fusion Trading Community Data Quality has three predefined batch matching configurations:

You can search, review, and edit these seeded matching configurations. While you cannot add or delete a configuration parameter, you can change configuration name and update the parameter values to suite your requirements.

Server Configurations

Batch duplicate prevention makes use of the Real-Time and Batch Basic Match Server.

Matching server configurations provide the address and port of the third party server to which the match request should be sent for processing. Server configurations show all the parameters that can be set at either the matching configuration level or the server configuration level and provide the ability to modify the values of the server configuration level parameters. The parameters that are set at the server level are applicable to all the matching configurations.

Matching Configuration Parameters

Matching configuration parameters are system-level parameters that control aspects of the Oracle Fusion Trading Community Data Quality matching services. The Oracle Fusion Trading Community Data Quality matching services read values from the ZCQ_CONFIG_PARAM_VALUES and ZCQ_SO_PARAM_VALUES tables.

Matching configurations are predefined configurations that include parameters from both Oracle Fusion applications and the integrated third-party data quality engine. Although you cannot add or delete a configuration parameter, you can change configuration name and update the parameter values to suite your requirements. The text describes only the generic Oracle Fusion Trading Community Data Quality parameters and their values. For third-party data quality engine specific parameters and their values, see relevant third-party documentation.

Real Time Location, Organization, and Person Duplicate Prevention Parameters

The following Oracle Fusion Trading Community Data Quality parameters control matching operations for preventing individual entry of duplicate trading community entities, such as location, organization, and person through calling touch point applications, such as Oracle Fusion Sales and Oracle Fusion Customer Center into the trading community registry.

MaxNumReturn

Parameter Value: 1 or more. Default Value: 10

Parameter Description: Controls the maximum number of matched records returned by the data quality real-time matching service.

ScoreThreshold

Parameter Value: Between 0 and 100. Default Value: 90

Parameter Description: Determines the score above which the matched records are returned by the matching service. Records equal to or greater than the score are considered as matches and the records with scores less than the threshold are rejected.

Batch Location, Organization, and Person Basic Duplicate Identification Parameters

The following Oracle Fusion Trading Community Data Quality parameters control matching operations for identification of duplicate entries in the trading community registry, between trading community registry and sets of data, such as import batches, or within sets of data to resolve them by merging or linking.

MatchMode

Parameter Value: Optimized or Exhaustive Default Value: Optimized

Parameter Description: Determines how the records in the batch are matched during batch matching process. Select Exhaustive to include in the batch match process even the records already showing up in previously matched groups. Select Optimized to skip such records.

NumChildJobs

Parameter Value: 1 or more. Default Value: 2

Parameter Description: Determines the number of child requests spawned for a batch matching request. The child requests are useful when there is a need to process data in parallel.

ScoreThreshold

Parameter Description: As described earlier.

Manage Data Quality Engine Cleansing Setup

Informatica Identity Resolution Address Cleansing Setup: Procedures

Oracle Fusion Applications Installer installs a demo version of AddressDoctor postal reference data and product license keys that you can use to test address cleansing functionality; however, this demo is restrictive and provides you with a small subset of the complete functionality. For using the complete functionality, you must request for production license and postal reference data.

Using Demo License and Demo Postal Reference Data

If you are using demo keys and data, no specific setup is required for address cleansing server. You can quickly verify the setup using PROV.TOP/InformaticaIR/bin > asmcli -b. When successful, it launches the Address Standardization Module (ASM) client.

Using Production License and Postal Reference Data

AddressDoctor postal reference data and product license keys are not sold or distributed by Oracle. To acquire a license key and postal reference data, contact Informatica/AddressDoctor by sending an e-mail to OracleAV@informatica.com. The AddressDoctor license key restricts the use of address validation to the purchased countries or territories and represents a twelve (12) month subscription to the postal reference data. Once AddressDoctor receives the e-mail request through OracleAV@informatica.com, an AddressDoctor representative will contact you to define the requirements and complete the transaction. Once finalized, AddressDoctor will provide the license key and download credentials/instructions for accessing the postal reference data. Notification of regular updates to the postal reference data will be provided through e-mail.

Once the production license key and postal reference data are obtained, perform the following:

Manage Cleansing Configurations

Cleansing Configurations: Explained

Cleansing configurations are predefined configurations used for real-time and batch cleansing of the location entity.

There are two predefined cleansing configurations, one each for real-time and batch matching:

You can search, review, and edit these seeded matching configurations. Although you cannot add or delete a configuration parameter, you can change configuration name and update the parameter values to suite your requirements.

These configurations include parameters from both Oracle Fusion applications and the integrated address cleansing engine. While some of the parameters are single valued others are multi-valued.

Real-Time Cleansing

Real-time cleansing endows Oracle Fusion applications with an online, interactive service to cleanse, standardize, and validate addresses during the data entry process either through a UI or any other service creating address data into the Oracle Fusion Trading Community Hub registry.

Batch Cleansing

Batch cleansing enables you to perform address cleansing, standardization, and validation for a subset or entirety of the location records in the registry, or as part of a data import process. It also enables you to ensure data accuracy of the Oracle Fusion Trading Community Hub registry. The need to cleanse the registry data arises owing to data decay over time and the need to resolve inherited issues from consolidated data in the registry. For example, postal codes and city boundaries change over time and require regular address cleansing to ensure that the addresses in the registry are correct, validated, and standardized at all times. Besides, historic incoming address data may have originated from multiple sources with each source system following different data storage formats and norms and the addresses might not have been cleansed during the import or consolidation process.

Real-Time Address Cleansing Components: How They Work Together

Real-time cleansing provides consuming applications an online, interactive service to cleanse, standardize, and validate addresses during the data entry process.

Real-time address cleansing comprises the following components:

This figure shows the real-time address cleansing components in action.

Real-time address cleansing flow chart

Real-Time Cleansing Service

The Real-Time Cleansing Service perform validation, standardization, and cleansing of addresses during data entry into the trading community registry.

Consuming Applications

Real-time address cleansing finds use in data quality service consuming applications such as Oracle Sales and Oracle Fusion Customer Center. When a user tries to enter a new address record through the UI of these applications or through any other service creating address data into the Oracle Fusion trading community registry, the service validates the entered address data against country-specific postal service list, such as United States Postal Service. If there are any issues with the entered address data, the service returns a list of possibilities from which the consuming application user can select an appropriate one or continue to create a new address record.

Cleansing Configurations

Cleansing configurations are predefined configurations used for real-time and batch cleansing of the location entity.

Oracle Fusion Trading Community Data Quality has a predefined real-time cleansing configuration named Real Time Data Quality Location Cleanse. The real-time address cleansing service uses this cleansing configuration to derive the default country to be used to perform validation when address parsing fails to find a valid country within the address.

You can review and edit this predefined cleansing configuration. While you cannot add or delete a configuration parameter, you can change the configuration name and update the parameter values to suite your requirements.

Server Configurations

Real-time cleansing makes use of the Real-Time Cleanse Server configuration.

Cleansing server configurations provide the address and port of the third party data quality server to which the cleanse request should be sent for processing. There are no server configurations level parameters for cleansing.

Batch Address Cleansing Components: How They Work Together

Batch cleansing enables you to perform address cleansing, standardization, and validation for a subset or entirety of the location records in the Oracle Fusion Trading Community Hub registry, or as part of a data import process.

Batch address cleansing comprises the following components:

This figure shows the batch address cleansing components in action.

Batch address cleansing flow chart

Batch Cleansing Service

The Batch Cleansing Service performs validation, standardization, and cleansing of addresses to ensure data accuracy during the import of addresses in batches, to reduce decay and obsolescence of existing address data in the trading community registry , and to resolve inherited issues from consolidated data in the registry.

Consuming Applications

Batch address cleansing finds use in master data management applications such as Oracle Fusion Trading Community Hub, and other data quality service consuming applications that import data in batches. Unlike real-time cleansing that validates addresses one by one and runs in suggest cleansing mode, batch cleansing allows for validation and correction of multiple addresses through a single call.

Cleansing Configurations

Cleansing configurations are predefined configurations used for batch and real-time cleansing of the location entity.

Oracle Fusion Trading Community Data Quality has a predefined batch cleansing configuration named Batch Data Quality Location Cleanse. The batch address cleansing service uses this cleansing configuration to derive the default country to be used to perform validation when address parsing fails to find a valid country within the address.

You can review and edit this predefined cleansing configuration. While you cannot add or delete a configuration parameter, you can change the configuration name and update the parameter values to suite your requirements.

Server Configurations

Batch address cleansing makes use of the Batch Data Quality Location Cleanse server configuration.

Cleansing server configurations provide the address and port of the third party data quality server to which the cleanse request should be sent for processing. There are no server configurations level parameters for cleansing.

Cleansing Configuration Parameters

Cleansing configuration parameters are system-level parameters that control aspects of the Oracle Fusion Trading Community Data Quality cleansing services. The Oracle Fusion Trading Community Data Quality cleansing services read values from the ZCQ_CONFIG_PARAM_VALUES and ZCQ_SO_PARAM_VALUES tables.

Cleansing configurations are predefined configurations that include parameters from both Oracle Fusion applications and the integrated third-party data quality engine. Although you cannot add or delete a configuration parameter, you can change configuration name and update the parameter values to suite your requirements. The text describes only the generic Oracle Fusion Trading Community Data Quality parameters and their values. For third-party data quality engine specific parameters and their values, see relevant third-party documentation.

Real Time Data Quality Location Cleanse Parameters

The following parameters control real-time data cleansing operations that happen at touch point applications, such as Oracle Fusion Sales and Oracle Fusion Customer Center.

RuntimeMapping

TRUE or FALSE TRUE

Determines if the real-time cleansing service should use the attribute mapping defined between Oracle Fusion Trading Community Data Quality attributes and the third-party data quality engine. If the value is set to FALSE, the data quality real-time service will pass through attributes as they are between Oracle Fusion Trading Community Data Quality and the third party cleansing engine.

Batch Data Quality Location Cleanse Parameters

The following parameters control address cleansing, standardization, and validation operations for a subset or entirety of the location records in the registry, or as part of a data import process.

AMCommitRate

1 or more 100

Controls the transaction batch size for the address cleansing process which in turn determines how often the cleansing results are committed. Set this value based on available system resources for optimum performance. If the value is too low, the data is committed often, which may cause slow performance. In contrast setting it to too high a value may require higher memory for processing.

NumChildJobs

1 or more 2

Determines the number of child requests spawned for a batch matching request. The child requests are useful when there is a need to process data in parallel.

Manage Data Synchronization

Data Synchronization: Explained

Real-time duplicate prevention during data entry and batch duplicate identification of trading community entities in the Oracle Fusion Trading Community Hub registry and during the data import process require both initial indexing and index synchronization of the integrated third party data quality engine repository with the registry.

Periodic index synchronization of the third party data quality engine repository with the Oracle Fusion Trading Community Hub registry lets you account for the continual updates made to the registry.

Some of the entities that need to be synchronized to the matching engine repository are organization, person, and location. The synchronization should be done when these entities are created or updated.

However, no data synchronization is required for advanced batch match configuration and real-time and batch cleanse operations because of the following reasons:

Synchronizing Trading Community Registry and Data Quality Engine Repository Data: Worked Example

This example demonstrates the index synchronization of the integrated third party data quality engine repository with the trading community registry. Index synchronization facilitates accounting for the changes made to the registry as part of creating new and updating existing organization, person, and location records since initial indexing. This example focuses on the index synchronization of person party records for the third-party data quality engine Informatica Identity Resolution (IIR).

Index synchronization for the Informatica Identity Resolution data quality engine involves the following tasks:

Note

Initial indexing and index synchronization are required only for performing matching operations aimed real-time duplicate prevention and batch duplicate identification. Real-time and batch cleanse operations do not require initial indexing and Index synchronization.

Running the Schedule Synchronization Process

  1. Navigate to Setup and Maintenance from the Tools menu.
  2. Search for the Manage Data Synchronization task.
  3. Click the Go to Task icon.
  4. Select Refresh Identity Table Information option from the Actions menu on the Manage Data Synchronization page.
  5. Enable all the relevant identity tables (for this example PER_PRIMARY_IDT, PER_ADDRESS_IDT, PER_PHONE_IDT) by selecting Enable for Sync, check box.
  6. Enter the following Synchronization Options for each identity table:

    Field

    Value

    Country

    Leave blank when using the predefined system, FusionDQRealtime, for all countries. If using country specific system, enter the country, such as US.

    Last Synchronized Time

    Select Date and Time: 3/23/11 9:30:15 AM


  7. Click Save.
  8. Click the Schedule Synchronization Process button.
  9. Click Advanced.
  10. Select Using a Schedule. From the Frequency drop-down list, select Hourly/Minute and provide a value for the frequency. For example, 5 minutes.

    Note

    The frequency needs to be determined by the business requirement.

  11. From the Calendar, select the End Date.

    Note

    The end date needs to be determined by the business requirement.

  12. Submit the scheduled Sync ESS Job.
  13. Click OK to return to the Manage Data Synchronization page.
  14. Hover on the Process Status field corresponding to each relevant identity table to know the status of the child synchronization request spawned for that table.
  15. Click Save and Close.

Starting Informatica Identity Resolution Update Synchronizer

  1. Sign in the Informatica Identity Resolution (IIR) host machine.
  2. Enter cd <PROV.TOP>/InformaticaIR/bin
  3. Enter setfusionEnv.sh
  4. Start the IIR console client using the admin option, ./idsconc -a
  5. Select Run Synchronizer on the Tools menu to launch the synchronizer.
  6. In the Update Synchronizer dialog, select All as the value for IDT Name, use the default values for the rest of the fields, and click OK.
  7. Verify that the updated and newly created person records are available in IIR, by searching for persons in the Per-dup tab of IIR Web Search Client.
  8. Sign out of the Informatica Identity Resolution (IIR) user interface.

Troubleshooting Oracle Fusion Data Quality Services and IIR Servers

Troubleshooting Data Quality Services and Informatica Identity Resolution (IIR) Servers: Overview

This overview contains various troubleshooting methods pertaining to the Informatica Identity Resolution (IIR) and Data Quality (DQ), which help an administrator examine the symptoms, identify possible root causes, and take necessary steps to restore their normal functionality.

The log files (ids.dbg) in IIR or iirlog contain useful information that can help in diagnosing the root cause of the functional problems.

The troubleshooting process involves the following scenario checks:

The troubleshooting steps for each scenario are grouped, and each group forms a tier. Since different root causes may share the same symptoms, the tiers are arranged in the ascending order of complexity. For effective resolution of the problem, you need to go through these tiers in the same order as presented here. Proceed to the next tier only when you are unable to confirm the root cause in the current tier.

Note

For all the scenario checks, it is assumed that IIR is running with 8 InformaticaIR processes, and that its intra-connectivity is established on the DQ Server Configuration using the correct Host and Port information.

Matching Service Troubleshooting: Explained

The Matching Service troubleshooting is spread across six tiers. Each tier indicates certain symptoms, lists possible root causes, contains the log descriptions, and prescribes the recovery procedure. While following the troubleshooting process, ensure that as part of the recovery procedure, you check for UPD locks on the Update Synchronizer before bringing up IIR.

Tier 1


Stage

Checkpoint

Symptoms

Oracle Fusion DQ Realtime Match Web services fail with a message of ZCQ_DQ_MATCH_SERVER_DISABLED or Oracle Fusion DQ Batch Match jobs fail returning a batch summary status of ERROR_STATUS_1 thus failing the Match Check Point.

Possible Root Cause

The Match Server Operation is disabled. To confirm, go to the Server Configuration page and check whether the Enabled checkbox is deselected for Realtime and Batch Basic Server.

IIR Logs

NA

Recovery

Select the Enable Matching checkbox for Realtime and Batch Basic Server.

Tier 2


Stage

Checkpoint

Symptoms

Fusion DQ Realtime Match Services or Fusion DQ Batch Match Jobs fail with an Engine Connection Error ZCQ_CMN_ENG_CONNECT_ERR, thus failing the Match Check Point.

Possible Root Cause

IIR is not connected. To confirm, go to DQ Matching Configuration page and check whether the Server Operation for Matching is set up with Host and Port information for IIR.

IIR Logs

NA

Recovery

Setup Server Host and Port using Manage Server Configuration FSM task.

Tier 3


Stage

Checkpoint

Symptoms

Fusion DQ Realtime Match Services fail with an Engine Connection Error ZCQ_RT_ENG_MATCH_ERR, thus failing the Match Check Point.

Possible Root Cause

Some of the parameter values for the Matching Configuration, are incorrect. For example, the path where the IIR Server logs are written to (Verbosity Path) is modified to an invalid path by either providing a nonexistent path or the path convention is incorrect), by an Administrator. For example, d:/temp is an invalid path and thus causes failure.

IIR Logs

[SEVERE] [IirSocket] handleSSAException()> Bad rc -408040403 for ids_search_start
    > SSA Exception Code: (-408040403)
[SEVERE] [IirSocket] SSAErrorStack: [525145629   6] ssasrsv > It is now 20110525145629
[SEVERE] [IirSocket] SSAErrorStack: [525145629   6] ssasesi.c    5870 rc   3   14080404*100
[SEVERE] [IirSocket] SSAErrorStack: [525145629   6] ssasesi.c    2060 rc   4     140804*100
[SEVERE] [IirSocket] SSAErrorStack: [525145629   6] ssasesi.c    1571 rc   4       1408*100
[SEVERE] [IirSocket] SSAErrorStack: [525145629   6] open search 'person-dup' failed. System 'FusionDQRealtime' Rulebase 'ssa:rtunitrb' Function 'host="rws65344fwks.us.oracle.com:1668",d:/temp'
[SEVERE] [IirSocket] SSAErrorStack: [525145629   6] apic.c       3446 rc   1       1407*1
[SEVERE] [IirSocket] SSAErrorStack: [525145629   6] closeUser: rc=-1407
[SEVERE] [IirSocket] SSAErrorStack: [525145629   6] apic.c       3340 rc   7         14*100
[SEVERE] [IirSocket] SSAErrorStack: [525145629   6] apic.c       3030 rc  14
[SEVERE] [IirSocket] SSAErrorStack: [525145629   6] Unknown Keyword 'd:/temp'

 

Recovery

Revert the value of the Verbosity Path field to NULL. Thus, by default the IIR would write to InformaticaIR/iirlog.

Tier 4


Stage

Checkpoint

Symptoms

Fusion DQ Realtime Match Services or Fusion DQ Batch Match Jobs fail with an Engine Connection Error ZCQ_CMN_ENG_CONNECT_ERR, thus failing the Match Check Point.

Possible Root Cause

Any of the following:

  • IIR was started without setting setfusionEnv.sh or setfusionEnv.csh. This is the most common cause.

  • DB Client on IIR was not set up correctly. For example, tnsnames.ora does not have the entry for the FUSION DB to which IIR should connect.

  • The password for FUSION_DQ has changed or is incorrect.

IIR Logs

[518135036 ssasrsv  22/ 12] errmsg_put 'SQLConnect: OCIInitialize failed 1804'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssaoci.c     2646 rc   2'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssa_odbc_connect: cannot connect to Data Source'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssaodbc.c    1436 rc   8          1*100'
[518135036 ssasrsv  22/ 12] errmsg_put 'db_connect_user: Cannot connect to service 'rws65311' with uid 'fusion_dq''
[518135036 ssasrsv  22/ 12] errmsg_put 'ssaodbc.c    4112 rc   9        108*100'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssadb8_db_opn failed'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssaodbc.c    4441 rc  10      10809*100'
[518135036 ssasrsv  22/ 12] errmsg_put 'dbops.c      1561 rc   4    1080910*100'
[518135036 ssasrsv  22/ 12] errmsg_put 'dbldr.c      1203 rc   9  108091004*1000'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssarbnl_rulebase_open: 'odb:0:fusion_dq/@rws65311' db open failed -91004009'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssarbn.c     3026 rc   7   91004009*100'
[518135036 ssasrsv  22/ 12] ssarbn.c(2841) ssarbnl_rulebase_destroy: rbh=0
[518135036 ssasrsv  22/ 12] ssarbn.c(2909) ssarbnl_rulebase_destroy: 'odb:0:fusion_dq/@rws65311' RULEBASE CLOSE

 

Recovery

Follow each recovery instruction and proceed to the next step in the given order only if the current step does not fix the issue. Also, shut down IIR before performing these steps and restart it later as per instructions given for the Matching Setup.

  1. Set the environment variables using setfusionEnv.sh or setfusionEnv.csh.

  2. Add correct entry to tnsnames.ora.

  3. Check if the correct password is used for FUSION_DQ in InformaticaIR/ids/ssadb.dic.

Tier 5


Stage

Checkpoint

Symptoms

Fusion DQ Realtime Match Services or Fusion DQ Batch Match Jobs fail with an Engine Connection Error ZCQ_CMN_ENG_CONNECT_ERR, thus failing the Match Check Point

Possible Root Cause

Any of the following:

  • IIR was shut down without shutting down the Admin Client (presumably running in a different session) as per the prescribed procedure. The shutdown procedure helps in detecting any active client console.

  • IIR was incorrectly shut down when Update Synchronizer (UPD) was running. It led to a Rule base corruption.

  • The DB crashed or was shut down when IIR was running.

IIR Logs

[518143012 ssasrsv  25/ 12] errmsg_put 'ssadb8_l_file_add: FileId 3 (inuse) already exists'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssaodbc.c    8245 rc   5'
[518143012 ssasrsv  25/ 12] errmsg_put 'dbops.c      4363 rc   3          5*100'
[518143012 ssasrsv  25/ 12] errmsg_put 'dbldr.c      3912 rc   9        503*1000'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssarbnl_inuse_add: Cannot create RB INUSE table'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssarbn.c     2543 rc   2     503009*100'
[518143012 ssasrsv  25/ 12] errmsg_put 'IS ANOTHER RULEBASE SERVER RUNNING?'
[518143012 ssasrsv  25/ 12] errmsg_put 'Rulebase 'odb:0:fusion_dq/@rws65311' in use by rws65311fwks.us.oracle.com IP=130.35.116.108 on port=1668, SSA_RB_RESTART_ID=726050355'
[518143012 ssasrsv  25/ 12] errmsg_put 'Server   started at 'Wed May 18 14:21:31 2011''
[518143012 ssasrsv  25/ 12] errmsg_put 'Rulebase opened  at 'Wed May 18 14:23:31 2011''
[518143012 ssasrsv  25/ 12] errmsg_put 'Rulebase opened  as 'odb:0:fusion_dq/@rws65311''
[518143012 ssasrsv  25/ 12] errmsg_put 'env has SSA_RB_RESTART_ID=0'
[518143012 ssasrsv  25/ 12] errmsg_put 'Owner information: ip=130.35.116.108 pid=1236 host='rws65311fwks.us.oracle.com' ps='260152864 /scratch/<username>/InformaticaIR/bin/ssasrsv-n1666-m1668-x1670-H1671-v-1/scratch/<username>/InformaticaIR/iirlog/idssrsv.''
[518143012 ssasrsv  25/ 12] errmsg_put 'Owner is running'
[518143012 ssasrsv  25/ 12] errmsg_put 'Rulebase is locked'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssarbnl_inuse_create: inuse_add failed -50300902'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssarbn.c     2583 rc   1'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssarbn.c     3031 rc   8          1*100'
[518143012 ssasrsv  25/ 12] ssarbn.c(2841) ssarbnl_rulebase_destroy: rbh=0
[518143012 ssasrsv  25/ 12] ssarbn.c(2909) ssarbnl_rulebase_destroy: 'odb:0:fusion_dq/@rws65311' RULEBASE CLOSE

 

Recovery

Follow each recovery instruction and proceed to the next step in the given order only if the current step does not fix the issue. Also, shut down IIR before performing these steps and restart it later as per instructions given for the Matching Setup.

  1. If the Admin Client is running, end the process or shut it down to unlock.

  2. Unlock the rule base, using command line as described in Matching Setup.

  3. Drop the table IDS_NN_INUSE [where nn represents the rulebase number] using the command DROP IDS_00_INUSE; and remove the "inuse" record from the IDS_FDT_META using the command DELETE from IDS_FDT_META where Name = 'IDS_00_INUSE'.

  4. Create the Rule base and re-index the data afresh as described in Matching Setup.

    Important

    Option 3 is not a supported workaround. Therefore, if it does not yield results, it is upto the Administrator to use discretion in applying Option 4.

Tier 6


Stage

Checkpoint

Symptoms

Fusion DQ Realtime Match Services work normally, but Fusion DQ Batch Match Jobs (using Match within Batch) fail, resulting in an error.

Possible Root Cause

A typical case of DB connectivity where locks gets created on certain Rule base tables while Update Synchronizer (UPDSYNC) was still running. As a result, the Rule base is locked and cannot be accessed. The IIR Real time Services uses the Search API (which caches Rule base Information) and Scoring API (used by Match with in Batch), but it fails because it cannot access the Rule base Information.

IIR Logs

  • // UPDSYNC FAILED DUE TO CONNECTION LOST WITH 
    //    DB SERVER WHILE IT WAS WRITING. THIS CAUSED A LOCK.
     [426200601 updsync   9/  2] errmsg_put 'ssaoci_exec: OCIStmtExecute failed -1, ORA-03135'
    [426200601 updsync   9/  2] errmsg_put 'ssaoci.c     3577 rc  13'
    [426200601 updsync   9/  2] errmsg_put 'ssadb8_sql_alloc_next_recid_table: [01] SQLExecute ssaodbc.c 15980 failed SQLRET=-1 SQLSTATE='     ' NATIVE_ERR=0'
    [426200601 updsync   9/  2] errmsg_put 'ssadb8_sql_alloc_next_recid_table: [02] Reason: [SSAOCI,1] OCIStmtExecute ssaoci.c 3561 failed 'ORA-03135: connection lost contact
    Process ID: 24861
    Session ID: 2108 Serial number: 50953''
    [426200601 updsync   9/  2] errmsg_put 'ssadb8_sql_alloc_next_recid_table: [03] Reason: [SSAOCI,2] Stmt: 'SELECT /*+ CHOOSE */  NEXT_RECID FROM IDS_FDT_RECID WHERE TFNO = :x0    FOR UPDATE ''
    [426200601 updsync   9/  2] errmsg_put 'SQLEndTran: rollback failed -1'
    [426200601 updsync   9/  2] errmsg_put 'ssaoci.c     3121 rc   3'
    [426200601 updsync   9/  2] errmsg_put 'ssadb8_sql_alloc_next_recid_table: Error Execute ids_fdt_recid'
    [426200601 updsync   9/  2] errmsg_put 'ssaodbc.c   15985 rc  12          1*100'
    [426200601 updsync   9/  2] errmsg_put 'ssaodbc.c   16262 rc   2        112*100'
    [426200601 updsync   9/  2] errmsg_put 'vrec_add_sql failed'
    [426200601 updsync   9/  2] errmsg_put 'ssaodbc.c   10645 rc  10      11202*100'
    [426200601 updsync   9/  2] errmsg_put 'dbops.c      2736 rc   3    1120210*100'
    [426200601 updsync   9/  2] errmsg_put 'dbldr.c      2263 rc   9  112021003*1000'
    [426200601 updsync   9/  2] errmsg_put 'updsync.c    5971 rc   8   21003009*100'
    [426200601 updsync   9/  2] errmsg_put 'updsync.c    6821 rc  24  100300908*100'
    [426200601 updsync   9/  2] errmsg_put 'Error processing txn #20110426200506222280'
    [426200601 updsync   9/  2] errmsg_put 'updsync.c    7039 rc  46   30090824*100'
    [426200601 updsync   9/  2] errmsg_put 'updsync process_txn failed -9082446'
    [426200601 updsync   9/  2] errmsg_put 'updsync.c   10522 rc  26    9082446*100'
    

     

  • //  SEARCHES THROUGH SCORING API USED IN BATCH  
     // START FAILING, SINCE THE RULEBASE READ FAILS
     [427125914 ssasrsv  10/ 10] errmsg_put 'ssadb_object_status_get: rulebase_read_first failed -10104021'
    [427125914 ssasrsv  10/ 10] errmsg_put 'rbutils.c    4985 rc   2   10104021*100'
    [427125914 ssasrsv  10/ 10] errmsg_put 'ssasesil_search_IDX_loaded: get status of IDX 'LOCATION_IDX' failed'
    [427125914 ssasrsv  10/ 10] errmsg_put 'ssasesi.c    2272 rc   6   10402102*100'
    [427125914 ssasrsv  10/ 10] errmsg_put 'ssasesi.c    2991 rc   3   40210206*100'
    [427125914 ssasrsv  10/ 10] errmsg_put 'ssasesi.c    3012 rc   5   21020603*100'
    [427125914 ssasrsv  10/ 10] errmsg_put 'ssasesi.c    6644 rc   1  102060305*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssaoci_exec: OCIStmtExecute failed -1, ORA-03114'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssaoci.c     3577 rc  13'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssadb8_ndx_find: [01] SQLExecute ssaodbc.c 14056 failed SQLRET=-1 SQLSTATE='     ' NATIVE_ERR=0'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssadb8_ndx_find: [02] Reason: [SSAOCI,1] OCIStmtExecute ssaoci.c 3561 failed 'ORA-03114: not connected to ORACLE''
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssadb8_ndx_find: [03] Reason: [SSAOCI,2] Stmt: 'SELECT /*+ CHOOSE INDEX(IDSX_00_SSARBN IDSX_00_SSARBN_I) */ DISTINCT SSAKEY FROM IDSX_00_SSARBN WHERE (SSAKEY > :x0 AND SSAKEY <= :x1) OR (SSAKEY > :x2 AND SSAKEY <= :x3) OR (SSAKEY > :x4 AND SSAKEY <= :x5) OR (SSAKEY > :x6 AND SSAKEY <= :x7) OR (SSAKEY > :x8 AND SSAKEY <= :x9) OR (SSAKEY > :x10 AND SSAKEY <= :x11) OR (SSAKEY > :x12 AND SSAKEY <= :x13) OR (SSAKEY > :x14 AND SSAKEY <= :x15) OR (SSAKEY > :x16 AND SSAKEY <= :x17) OR (SSAKEY > :x18 AND SSAKEY <= :x19) ORDER BY SSAKEY    ''
    [427125914 ssasrsv  10/ 11] errmsg_put 'SQLEndTran: rollback failed -1'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssaoci.c     3121 rc   3'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssadb8_ndx_find: open cursor failed'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssaodbc.c   14058 rc  46          1*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssadb8_ndx_find_key: failed'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssaodbc.c   14261 rc   4        146*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'dbops.c      3571 rc   3      14604*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'dbldr.c      3100 rc   9    1460403*1000'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssarbn.c     1875 rc   3  460403009*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssarbn.c     1900 rc   1   40300903*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssarbn.c     3520 rc   2   30090301*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssarbc.c     1344 rc   2    9030102*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssarbcl_rbn_data_unpack: vrbn_read (part 0) failed -903010202'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssarbc.c     6502 rc   1  903010202*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssarbc.c     6640 rc   1  301020201*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssarbc.c     6810 rc   1  102020101*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssarbc.c    10479 rc   4  202010101*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssarbcx.c     275 rc   1  201010104*10'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssasesil_search_IDX_loaded: read 'system.clustering.msearchix.search' failed -10101041'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssasesi.c    2158 rc   1   10101041*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssasesi.c    2991 rc   3   10104101*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssasesi.c    3012 rc   5   10410103*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssasesi.c    6644 rc   1   41010305*100'
    [427125914 ssasrsv  10/ 10] errmsg_put 'ssasocket_recv_n: received zero bytes'
    [427125914 ssasrsv  10/ 10] errmsg_put 'socket.c     2640 rc   3'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssasocket_recv_n: received zero bytes'
    [427125914 ssasrsv  10/ 10] errmsg_put 'socket.c     2668 rc   2          3*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'socket.c     2640 rc   3'
    [427125914 ssasrsv  10/ 10] errmsg_put 'ssases1.c   23006 rc   1        302*1000'
    [427125914 ssasrsv  10/ 11] errmsg_put 'socket.c     2668 rc   2          3*100'
    [427125914 ssasrsv  10/ 10] errmsg_put 'socket.c     3484 rc   3     302001*100'
    [427125914 ssasrsv  10/ 11] errmsg_put 'ssases1.c   23006 rc   1        302*1000'
    [427125914 ssasrsv  10/ 11] errmsg_put 'socket.c     3484 rc   3     302001*100'
    [427125918 ssasrsv  10/ 10] errmsg_put 'ssasesil_search_IDX_loaded: rulebase_read system.idx.index_id for 'ORG_ADDRESS_IDT' failed'
    

     

Recovery

Shut down and start IIR after checking UPD locks and unlocking them as per the instructions in Update Synchronizer troubleshooting.

IIR Matching Server Administration Troubleshooting: Explained

The Matching Server Administration troubleshooting is spread across four tiers. Each tier indicates certain symptoms, lists possible root causes, contains the log descriptions, and prescribes the recovery procedure. While following the troubleshooting process, ensure that as part of the recovery procedure, you check for UPD locks on the Update Synchronizer before bringing up IIR.

Tier 1


Stage

Checkpoint

Symptoms

When starting the IIR Admin Console Client, it shows a pop up with a confirmation message "Rulebase doesn't exist. Do you want to create it again".

Note

This popup also appears when you create a Rulebase for the first time during initial setup. However, it is an indication of problem if it appears while starting IIR Admin Console as part of regular maintenance, after the Rulebase has been created.

Possible Root Cause

Any of the following:

  • IIR was started without setting setfusionEnv.sh or setfusionEnv.csh. This is the most common cause.

  • DB Client on IIR is not set up correctly. For example, tnsnames.ora doesn't have the entry for the FUSION DB to which IIR should connect.

  • The password for FUSION_DQ has changed or is incorrect.

IIR Logs

[518135036 ssasrsv  22/ 12] errmsg_put 'SQLConnect: OCIInitialize failed 1804'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssaoci.c     2646 rc   2'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssa_odbc_connect: cannot connect to Data Source'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssaodbc.c    1436 rc   8          1*100'
[518135036 ssasrsv  22/ 12] errmsg_put 'db_connect_user: Cannot connect to service 'rws65311' with uid 'fusion_dq''
[518135036 ssasrsv  22/ 12] errmsg_put 'ssaodbc.c    4112 rc   9        108*100'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssadb8_db_opn failed'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssaodbc.c    4441 rc  10      10809*100'
[518135036 ssasrsv  22/ 12] errmsg_put 'dbops.c      1561 rc   4    1080910*100'
[518135036 ssasrsv  22/ 12] errmsg_put 'dbldr.c      1203 rc   9  108091004*1000'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssarbnl_rulebase_open: 'odb:0:fusion_dq/@rws65311' db open failed -91004009'
[518135036 ssasrsv  22/ 12] errmsg_put 'ssarbn.c     3026 rc   7   91004009*100'
[518135036 ssasrsv  22/ 12] ssarbn.c(2841) ssarbnl_rulebase_destroy: rbh=0
[518135036 ssasrsv  22/ 12] ssarbn.c(2909) ssarbnl_rulebase_destroy: 'odb:0:fusion_dq/@rws65311' RULEBASE CLOSE

 

Recovery

Following each recovery instruction and proceed to the next step in the given order only if the current step does not fix the issue. Also, shut down IIR before performing these steps and restart it later as per instructions given for the Matching Setup.

  1. Set the environment variables using setfusionEnv.sh or setfusionEnv.csh.

  2. Add correct entry to tnsnames.ora.

  3. Check password for FUSION_DQ in InformaticaIR/ids/ssadb.dic and make sure it is correct.

Tier 2


Stage

Checkpoint

Symptoms

  • Starting the IIR Admin Console Client fails with a Rulebase Lock Error: "Is another Rulebase Server running?"

  • Starting the HTTP Search Client fails with a Rulebase Lock Error - "Is another Rulebase Server running?"

Possible Root Cause

Any of the following:

  • IIR was shut down without shutting down the Admin Client (presumably running in a different session) as per the prescribed procedure. The shutdown procedure helps in detecting any active client console.

  • IIR was incorrectly shut down when Update Synchronizer (UPD) was running. It led to a Rulebase corruption.

  • The DB crashed or was shut down when IIR was running.

IIR Logs

[518143012 ssasrsv  25/ 12] errmsg_put 'ssadb8_l_file_add: FileId 3 (inuse) already exists'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssaodbc.c    8245 rc   5'
[518143012 ssasrsv  25/ 12] errmsg_put 'dbops.c      4363 rc   3          5*100'
[518143012 ssasrsv  25/ 12] errmsg_put 'dbldr.c      3912 rc   9        503*1000'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssarbnl_inuse_add: Cannot create RB INUSE table'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssarbn.c     2543 rc   2     503009*100'
[518143012 ssasrsv  25/ 12] errmsg_put 'IS ANOTHER RULEBASE SERVER RUNNING?'
[518143012 ssasrsv  25/ 12] errmsg_put 'Rulebase 'odb:0:fusion_dq/@rws65311' in use by rws65311fwks.us.oracle.com IP=130.35.116.108 on port=1668, SSA_RB_RESTART_ID=726050355'
[518143012 ssasrsv  25/ 12] errmsg_put 'Server   started at 'Wed May 18 14:21:31 2011''
[518143012 ssasrsv  25/ 12] errmsg_put 'Rulebase opened  at 'Wed May 18 14:23:31 2011''
[518143012 ssasrsv  25/ 12] errmsg_put 'Rulebase opened  as 'odb:0:fusion_dq/@rws65311''
[518143012 ssasrsv  25/ 12] errmsg_put 'env has SSA_RB_RESTART_ID=0'
[518143012 ssasrsv  25/ 12] errmsg_put 'Owner information: ip=130.35.116.108 pid=1236 host='rws65311fwks.us.oracle.com' ps='260152864 /scratch/<username>/InformaticaIR/bin/ssasrsv-n1666-m1668-x1670-H1671-v-1/scratch/<username>/InformaticaIR/iirlog/idssrsv.''
[518143012 ssasrsv  25/ 12] errmsg_put 'Owner is running'
[518143012 ssasrsv  25/ 12] errmsg_put 'Rulebase is locked'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssarbnl_inuse_create: inuse_add failed -50300902'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssarbn.c     2583 rc   1'
[518143012 ssasrsv  25/ 12] errmsg_put 'ssarbn.c     3031 rc   8          1*100'
[518143012 ssasrsv  25/ 12] ssarbn.c(2841) ssarbnl_rulebase_destroy: rbh=0
[518143012 ssasrsv  25/ 12] ssarbn.c(2909) ssarbnl_rulebase_destroy: 'odb:0:fusion_dq/@rws65311' RULEBASE CLOSE

 

Recovery

Follow each recovery instruction and proceed to the next step in the given order only if the current step does not fix the issue. Also, shut down IIR before performing these steps and restart it later as per instructions given for the Matching Setup.

  1. If the Admin Client is running, end the process or shut it down to unlock.

  2. Unlock the rulebase, using command line as described in Matching Setup.

  3. Drop the table IDS_NN_INUSE [where nn represents the rulebase number] using the command DROP IDS_00_INUSE; and remove the "inuse" record from the IDS_FDT_META using the command DELETE from IDS_FDT_META where Name = 'IDS_00_INUSE'.

  4. Create the Rulebase and re-index the data afresh as described in Matching Setup.

    Important

    Option 3 is not a supported workaround. Therefore, if it does not yield results, it is upto the Administrator to use discretion in applying Option 4.

Tier 3


Stage

Checkpoint

Symptoms

Starting the IIR Admin Console fails with an error: "connection lost to peer".

Possible Root Cause

DB connectivity issues caused by either DB shut down, or DB crash or network connectivity issues, when IIR was running.

IIR Logs

[517153446 ssasrsv   0/  5] 31344/xm> server started: Tue May 17 15:34:46 2011
[517153447 ssacssv   4/  5] errmsg_put 'send(h=2, os=9) failed: Reason: Broken pipe'
[517153447 ssacssv   4/  5] errmsg_put 'socket.c     1096 rc  11'
[517153447 ssacssv   4/  5] errmsg_put 'socket.c     2559 rc   4         11*100'
[517153447 ssacssv   4/  5] errmsg_put 'ssarbc1.c     693 rc   3       1104*100'
[517153447 ssacssv   4/  5] errmsg_put 'cssys.c      2185 rc   3  502020401*100'
[517153447 ssacssv   4/  5] errmsg_put 'ssacssi.c    2125 rc   1  202040103*100'
[517153448 ssacssv   4/  5] errmsg_put 'send(h=2, os=9) failed: Reason: Broken pipe'
[517153448 ssacssv   4/  5] errmsg_put 'socket.c     1096 rc  11'
[517153448 ssacssv   4/  5] errmsg_put 'socket.c     2559 rc   4         11*100'
[517153448 ssacssv   4/  5] errmsg_put 'ssarbc1.c    7725 rc   3       1104*100'

 

Recovery

Close the Admin Console and restart IIR as per the Server Administration instructions.

Tier 4


Stage

Checkpoint

Symptoms

When starting or shutting down IIR UPD Synchronizer from an active Admin Console, the Synchronizer fails with an error: "connection lost to peer".

Possible Root Cause

DB connectivity issues caused by either DB shut down, or DB crash or network connectivity issues, when IIR was running.

IIR Logs

[414132606 updsync  13/  2] errmsg_put 'send(h=1, os=17) failed: Reason: Broken pipe'
[414132606 updsync  13/  2] errmsg_put 'socket.c     1096 rc  11'
[414132606 updsync  13/  2] errmsg_put 'socket.c     2559 rc   4         11*100'
[414132606 updsync  13/  2] errmsg_put 'ssarbc1.c    7725 rc   3       1104*100'
[414132606 updsync  13/  2] errmsg_put 'SQLEndTran: commit failed -1'
[414132606 updsync  13/  2] errmsg_put 'ssaoci.c     3128 rc   4'
[414132606 updsync  13/  2] errmsg_put 'ssadb8_db_commit: [01] SQLEndTran ssaodbc.c 19388 failed SQLRET=-1 SQLSTATE='     ' NATIVE_ERR=0'
[414132606 updsync  13/  2] errmsg_put 'ssadb8_db_commit: [02] Reason: [SSAOCI,1] OCITransCommit ssaoci.c 3124 failed 'ORA-03114: not connected to ORACLE''
[414132606 updsync  13/  2] errmsg_put 'SQLEndTran: rollback failed -1'
[414132606 updsync  13/  2] errmsg_put 'ssaoci.c     3121 rc   3'
[414132606 updsync  13/  2] errmsg_put 'ssadb8_db_commit: Commit failed'
[414132606 updsync  13/  2] errmsg_put 'ssaodbc.c   19390 rc   1          1*100'
[414132606 updsync  13/  2] errmsg_put 'ssaodbc.c    5065 rc  14        101*100'
[414132606 updsync  13/  2] errmsg_put 'dbops.c      1605 rc   3      10114*100'
[414132606 updsync  13/  2] errmsg_put 'dbldr.c      1253 rc   9    1011403*1000'
[414132606 updsync  13/  2] errmsg_put 'db_close(@2420) failed -11403009'
[414132606 updsync  13/  2] errmsg_put 'utils.c      1739 rc   1'
[414132606 updsync  13/  2] errmsg_put 'utils.c      2420 rc   7          1*100'
[414132607 updsync  13/  2] errmsg_put 'send(h=1, os=17) failed: Reason: Broken pipe'
[414132607 updsync  13/  2] errmsg_put 'socket.c     1096 rc  11'
[414132607 updsync  13/  2] errmsg_put 'socket.c     2559 rc   4         11*100'
[414132607 updsync  13/  2] errmsg_put 'ssarbc1.c    2248 rc   6       1104*100'
[414132608 updsync  13/  2] errmsg_put 'send(h=1, os=17) failed: Reason: Broken pipe'
[414132608 updsync  13/  2] errmsg_put 'socket.c     1096 rc  11'
[414132608 updsync  13/  2] errmsg_put 'socket.c     2559 rc   4         11*100'
[414132608 updsync  13/  2] errmsg_put 'ssarbc1.c     693 rc   3       1104*100'
[414132609 updsync  13/  2] errmsg_put 'send(h=1, os=17) failed: Reason: Broken pipe'
[414132609 updsync  13/  2] errmsg_put 'socket.c     1096 rc  11'
[414132609 updsync  13/  2] errmsg_put 'socket.c     2559 rc   4         11*100'
[414132609 updsync  13/  2] errmsg_put 'ssarbc1.c    7725 rc   3       1104*100'
[414132610 updsync  13/  2] errmsg_put 'send(h=1, os=17) failed: Reason: Broken pipe'
[414132610 updsync  13/  2] errmsg_put 'socket.c     1096 rc  11'
[414132610 updsync  13/  2] errmsg_put 'socket.c     2559 rc   4         11*100'
[414132610 updsync  13/  2] errmsg_put 'sockapi.c     592 rc   2       1104*100'
[414132610 updsync  13/  2] errmsg_put 'CloseAll failed -107'

 

Recovery

Close the Admin Console and restart IIR as per the Server Administration instructions.

Update Synchronizer Troubleshooting: Explained

The root cause of Update Synchronizer (UPD) locks is either an incorrect shut down where the Search Server was shut down while UPD was still running followed by ending the UPD process or an abrupt loss in DB connectivity when UPD was processing rows to be synchronized. To restore normal functioning of IIR, you need to delete the UPD locks.

To detect UPD locks, if there are any, run the command ./lockmgr list uq -rssa:<rulebase alias> -h<IIR RB Host>:<IIR RB Port> -l in <PROV.TOP>/InformaticaIR/bin. For example, if you run the following command:

./lockmgr list uq -rssa:rtunitrb -haufsn4ayf04:1668 -l

 

it returns the following details:

sorted locks: 
uq: updsync:1302896463:6826         
  obj: idtsyncsystem                   
    id: system=fusiondqrealtime         
      type: w 
      lock: ip=144.23.252.42 pid=31928 
host='aufsn4agf04.oracleoutsourcing.com' ps='80154501 
/u01/APPLTOP/fusionapps/InformaticaIR/bin/updsync-t60-m100-haufsn4agf04.oracle 
outsourcing.com:1668-rssa:rtunitrb-vus-pf'

 

Note

UPD Locks should be deleted only when you find them, even when UPD has been shut down and you do not have any UPDSYNC process running.

To delete the locks, run the command ./lockmgr del uq -rssa:<rulebase alias> -h<IIR RB Host>:<IIR RB Port> in <PROV.TOP>/InformaticaIR/bin. For example,

./lockmgr del  updsync:1302896463:6826 -rssa:rtunitrb -haufsn4ayf04:1668

 

Cleansing Service Troubleshooting: Explained

The Cleansing Service troubleshooting is spread across five tiers. Each tier indicates certain symptoms, lists possible root causes, contains the log descriptions, and prescribes the recovery procedure.

Tier 1


Stage

Checkpoint

Symptoms

Fusion DQ Realtime Cleanse Web Services fail with a message of ZCQ_CLEANSE_SERVER_DISABLED or Fusion DQ Batch Match Jobs fail returning a Batch Summary Status of ERROR_STATUS_1 thus failing the Cleanse Check Point.

Possible Root Cause

The Cleanse Server Operation is disabled. To confirm, go to the Edit Server Configuration page and check whether the Enable Cleansing checkbox is deselected for Realtime Cleanse Server and Batch Cleanse Server.

IIR Logs

NA

Recovery

Select the Enable Cleansing checkbox for Realtime Cleanse and Batch Cleanse Servers.

Tier 2


Stage

Checkpoint

Symptoms

Fusion DQ Cleansing Services or Fusion DQ Batch Cleanse Jobs fail with an Engine Connection Error ZCQ_CMN_ENG_CONNECT_ERR, thus failing the Cleansing Check Point.

Possible Root Cause

IIR connection setup is missing or incorrect in the cleansing configuration. Using the Manage Server Configuration FSM task, check the Server Host and Port information for the cleansing servers.

IIR Logs

NA

Recovery

Setup IIR Host and Port in Cleansing Configuration page

Tier 3


Stage

Checkpoint

Symptoms

Fusion DQ Cleansing Services or Fusion DQ Batch Cleanse Jobs fail with an Engine Connection Error ZCQ_CMN_ENG_CONNECT_ERR, thus failing the Cleansing Check Point.

Possible Root Cause

ASM Key stored in InformaticaIR/ssaas/ad5/ad/db has expired.

IIR Logs

 [523163408 ssasrsv  14/ 12] errmsg_put 'as_init: Object init failed: (-1601) Critical Error: The engine usage period has expired'
[523163408 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     1338 rc   4'
[523163408 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     1390 rc   1          4*100'
[523163408 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     3097 rc   2        401*100'
[523163408 ssasrsv  14/ 12] errmsg_put 'ssasesi_addr_init: Error -40102 initializing Addr Std module'
[523163408 ssasrsv  14/ 12] errmsg_put 'ssasesi.c   13477 rc   9      40102*100'

 

Recovery

Get the correct ASM key from Address Doctor and replace the existing key in the file called key in InformaticaIR/ssaas/ad5/ad/db. Subsequently, restart the IIR Server.

Tier 4


Stage

Checkpoint

Symptoms

Fusion DQ Cleansing Services or Fusion DQ Batch Cleanse Jobs fail with an Engine Connection Error ZCQ_CMN_ENG_CONNECT_ERR, thus failing the Cleansing Check Point.

Possible Root Cause

ASM Key stored in InformaticaIR/ssaas/ad5/ad/db is either incorrect or corrupt.

IIR Logs

// junk or error ASM key error
[523163604 ssasrsv  14/ 12] errmsg_put 'as_init: Object init failed: (-1600) Critical Error: No valid unlock code was given'
[523163604 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     1338 rc   4'
[523163604 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     1390 rc   1          4*100'
[523163605 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     3097 rc   2        401*100'
[523163605 ssasrsv  14/ 12] errmsg_put 'ssasesi_addr_init: Error -40102 initializing Addr Std module'
[523163605 ssasrsv  14/ 12] errmsg_put 'ssasesi.c   13477 rc   9      40102*100'

 

Recovery

Get the correct ASM key from Address Doctor and replace the existing key in the file called key in InformaticaIR/ssaas/ad5/ad/db. Subsequently, restart the IIR Server.

Tier 5


Stage

Checkpoint

Symptoms

Fusion DQ Cleansing Services or Fusion DQ Batch Cleanse Jobs fail with an Engine Connection Error ZCQ_CMN_ENG_CONNECT_ERR, thus failing the Cleansing Check Point.

Possible Root Cause

ASM Key stored in InformaticaIR/ssaas/ad5/ad/db does not exist.

IIR Logs

 [523163811 ssasrsv  14/ 12] errmsg_put 'fopen('/slot/ems4517/appmgr/InformaticaIR/ssaas/ad5/ad/db/key', 'r') failed 16: No such file or directory'
[523163811 ssasrsv  14/ 12] errmsg_put 'fopen.c       985 rc  19'
[523163811 ssasrsv  14/ 12] errmsg_put 'fopen.c      1070 rc   3         19*100'
[523163811 ssasrsv  14/ 12] errmsg_put 'fopen.c      1141 rc   2'
[523163811 ssasrsv  14/ 12] errmsg_put 'ssasesil_addr_get_key_and_workdir: open Addr Std license key file '/slot/ems4517/appmgr/InformaticaIR/ssaas/ad5/ad/db/key' failed'
[523163811 ssasrsv  14/ 12] errmsg_put 'ssasesi.c   13293 rc   6'
[523163811 ssasrsv  14/ 12] errmsg_put 'ssasesi.c   13443 rc   6          6*100'

 

Recovery

Get the correct ASM key from Address Doctor and create a file called key in InformaticaIR/ssaas/ad5/ad/db. Subsequently, restart the IIR Server.

IIR Cleansing Server Administration Troubleshooting: Explained

The Cleansing Server Administration troubleshooting process indicates certain symptoms, lists possible root causes, contains the log descriptions, and prescribes the recovery procedure.


Stage

Checkpoint

Symptoms

The IIR Cleansing Console does not respond to the start command asmcli -b run from InformaticaIR/bin, thus failing the Cleansing Setup Checkpoint.

Possible Root Cause

ASM Key stored in InformaticaIR/ssaas/ad5/ad/db has either expired, is either incorrect or corrupt, or does not exist.

IIR Logs

  • [523163408 ssasrsv  14/ 12] errmsg_put 'as_init: Object init failed: (-1601) Critical Error: The engine usage period has expired'
    [523163408 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     1338 rc   4'
    [523163408 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     1390 rc   1          4*100'
    [523163408 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     3097 rc   2        401*100'
    [523163408 ssasrsv  14/ 12] errmsg_put 'ssasesi_addr_init: Error -40102 initializing Addr Std module'
    [523163408 ssasrsv  14/ 12] errmsg_put 'ssasesi.c   13477 rc   9      40102*100'
    

     

  • [523163604 ssasrsv  14/ 12] errmsg_put 'as_init: Object init failed: (-1600) Critical Error: No valid unlock code was given'
    [523163604 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     1338 rc   4'
    [523163604 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     1390 rc   1          4*100'
    [523163605 ssasrsv  14/ 12] errmsg_put 'ssaas5.c     3097 rc   2        401*100'
    [523163605 ssasrsv  14/ 12] errmsg_put 'ssasesi_addr_init: Error -40102 initializing Addr Std module'
    [523163605 ssasrsv  14/ 12] errmsg_put 'ssasesi.c   13477 rc   9      40102*100'
    

     

Recovery

Get the correct ASM key from Address Doctor and replace the existing key in the file called key in InformaticaIR/ssaas/ad5/ad/db. Subsequently, restart the IIR Server.

FAQs for Define Data Quality

What's the difference between different matching configurations and matching server configurations?

Matching configurations are used for real-time and batch matching of party entities with a view to preventing and identifying duplicate entries in the trading community registry. The matching configuration includes the parameters that can be set at the matching configuration level and can be modified depending on matching strategy, data, and result requirements. Use the matching configuration to view or change the values of the matching configuration level parameters.

Matching server configurations provide the address and port of the third party server to which the match request should be sent for processing. Server configurations show all the parameters that can be set at either the matching configuration level or the server configuration level along with the parameter type (third party data quality engine or Oracle Fusion Trading Community Data Quality) and the cardinality of the parameter. The parameters that are set at the server level are applicable to all the matching configurations. Use the server configuration to view or change the values of the server configuration level parameters.

What's the difference between different cleansing configurations and cleansing server configurations?

Cleansing configurations are used for real-time and batch cleansing of addresses during data entry and on a periodical basis to cleanse, standardize, and validate existing addresses to ensure data accuracy. The cleansing configuration includes the parameters that can be set at the cleansing configuration level and can be modified depending on cleansing strategy, data, and result requirements.

Cleansing server configurations provide the address and port of the third party data quality server to which the cleanse request should be sent for processing. There are no server configurations level parameters for cleansing.

What's the difference between real-time duplicate prevention and duplicate identification of trading community entities?

Real-time duplicate prevention involves identification of all possible duplicate records that may exist in the trading community registry for an entered record. This enables prevention of individual entry of duplicate trading community entities, such as organization, person, or location, through calling touch point applications, such as Oracle Fusion Sales and Oracle Fusion Customer Center in the registry.

Duplicate identification of trading community entities is achieved by batch matching. The objective is to identify potential duplicate entities already existing in the trading community registry, and then resolve the duplicates by merging or linking.

What's the difference between basic duplicate identification and advanced duplicate identification of trading community entities?

The objective of basic duplicate identification is to resolve the duplicate entities in the Oracle Fusion Trading Community Hub registry by merging or linking.

Advanced duplicate identification is mainly done to find duplicates in a group of records before uploading them to the Oracle Fusion Trading Community Hub registry. For example, an acquiring company may do an advanced duplicate identification of the legacy data of the acquired company before uploading the data to the registry.

What's the difference between real-time address cleansing and batch address cleansing?

Real-time address cleansing is an online, interactive service to cleanse, standardize, and validate addresses during the data entry process.

Batch address cleansing enables you to cleanse, standardize, and validate addresses that are either existing in the Oracle Fusion Trading Community Hub registry or are being imported into it.