Chat now with support
Chat with Support

SharePlex 9.2.4 - Administration Guide

About this Guide Conventions used in this guide Overview of SharePlex Run SharePlex Run multiple instances of SharePlex Execute commands in sp_ctrl Set SharePlex parameters Configure data replication Configure replication to and from a container database Configure named queues Configure partitioned replication Configure replication to a change history target Configure a replication strategy Configure DDL replication Configure error handling Configure data transformation Configure security features Start replication on your production systems Monitor SharePlex Prevent and solve replication problems Repair out-of-sync data Tune the Capture process Tune the Post process Recover replication after Oracle failover Make changes to an active replication environment Apply an Oracle application patch or upgrade Back up Oracle data on the source or target Troubleshooting Tips Appendix A: Peer-To-Peer Diagram Appendix B: SharePlex environment variables

Find the problem in the SharePlex Knowledge Base

If the issue you are experiencing is not listed in this documentation, search the SharePlex Knowledge Base at:

https://support.quest.com.

The Knowledge Base provides filtering options and links to other resources that can help you use and troubleshoot SharePlex.

Solve database setup problems

This section helps you diagnose problems that are associated with the SharePlex database account and connection information that was created with the Database Setup utility when SharePlex was installed on the system.

Note: For more information about Database Setup, see Database Setup Utilities in the SharePlex Reference Guide.

If the issue you are experiencing is not listed in this documentation, search the SharePlex Knowledge Base at:

https://support.quest.com.

The Knowledge Base provides filtering options and links to other resources that can help you use and troubleshoot SharePlex.

Oracle setup issues

Problem Description Solution
Incorrect ORACLE_SID and/or ORACLE_HOME If SharePlex cannot interact with Oracle, it might be using the wrong ORACLE_SID and/or ORACLE_HOME.
  1. See How to find the ORACLE_SID and ORACLE_HOME to determine the Oracle values.

  2. Rerun the Database Setup utility. For more information, see Database Setup Utilities in the SharePlex Reference Guide.
Insufficient database privileges If the Database Setup utility fails, the person who runs it may not have the correct privileges

For more information, see Database Setup Utilities.

Asterisk as the ORACLE_SID entry Sometimes, the oratab file has an * (asterisk) symbol instead of a value for the ORACLE_SID. Ensure that a valid ORACLE_SID is in the oratab file, and then try running the database setup again.
More than one oratab file (Sun Solaris)

On Solaris systems, the oratab file is typically located in the /var/opt/oracle directory, but because other platforms store the oratab file in the /etc directory, there could be a second oratab in the /etc directory.

Either move, rename or delete the secondary oratab file, and then try running the database setup again.
Oracle not running

Oracle must be running and the instance must be open while you run the Database Setup utility. The utility accesses Oracle to establish SharePlex as a user and install its internal tables.

Start Oracle and open the instance.
sp_cop is running The SharePlex sp_cop process cannot be running while you are running the Database Setup utility. If it is running, shut it down using the shutdown command in sp_ctrl. Run sp_ctrl from the bin sub-directory in the SharePlex product directory.
Oracle library location not correct

On Unix and Linux systems, SharePlex expects the Oracle library to be in the $ORACLE_HOME/lib or $ORACLE_HOME/lib32 directory. In some environments, the Oracle library has a different name than what SharePlex expects it to be, or it is installed in a different location than expected (or both). In that case, you will see an error message when you attempt to run the Database Setup utility.

Install the appropriate library from Oracle and then re-start SharePlex (if it is stopped). SharePlex will link to the correct library from that point forward.

ld.so.1: sqlplus: fatal: libsunmath.so.1: can't open file: errno=2” error On Unix and Linux systems, this error indicates that SharePlex cannot find the libsunmath and libshareplex libraries, even though the link exists in the proper place.

You can use either of these solutions:

  • Create a softlink for $ORACLE_HOME/lib/libsunmath.so.1 in the /usr/lib directory. or...
  • In the ECXpert/config/bdg.ini file in the [DB_ENV] section add the following line:

    LD_LIBRARYPATH=full oracle home path/lib

Wrong user-id

To run Database Setup on Unix and Linux systems, the set-user-id for the Oracle software need to be -rwsr-s--x. Those permissions allow non-Oracle users to log into SQL*Plus.

Set the correct values for set-user-id.

SQL Server setup issues

Problem Description Solution

The Database Setup utility fails with cursor or connection error

If the Database Setup utility cannot interact with the SQL Server database, you might have specified the wrong name for the database.

When prompted for the database name in the setup interface, you must specify the actual name of the database, not the SQL Server instance name or the Data Source Name(DSN). Find out the name of the database, then use it when you run the setup again.

Insufficient database privileges If the Database Setup utility fails, the person who runs it may not have the correct privileges

For more information, see Database Setup Utilities.

No replication components

SharePlex Capture makes use of the underlying components of the native SQL Server replication components. SQL Server Replication must be installed before you install and set up SharePlex, and then the SharePlex Database Setup utility must be run to configure a local Distribution Agent. This utility is typically run as part of the SharePlex installation procedure.

Install SQL Server replication, then run the Database Setup utility again.

For more information, see Database Setup Utilities in the SharePlex Reference Guide.

Login already existed

Issue: The Database Setup utility fails with a "login already existed" error.

Background: If a SQL Server login is created and then deleted, the login will be in an orphaned state on SQL Server. If the Database Setup utility attempts to recreate a user with the same login name as an orphaned login, this error is encountered.

If you delete a user and login from the database level in SQL Server, delete the user from the master database security/users also. Then run the Database Setup utility again.

Solve configuration file problems

This section reviews problems and solutions associated with the management of configuration files. See also Solve activation problems.

If the issue you are experiencing is not listed in this documentation, search the SharePlex Knowledge Base at:

https://support.quest.com.

The Knowledge Base provides filtering options and links to other resources that can help you use and troubleshoot SharePlex.

A configuration file was accidentally deleted

You might be able to recover an accidentally deleted configuration file if that configuration was previously active and you did not run db_cleansp since it was activated.

Solution: View the Event Log to determine the activation ID for that configuration file, then look in the save sub-directory of the SharePlex variable-data directory for a .conf.actid file, where actid is the activation ID you got from the Event Log.

Solve configuration file errors

Error message Description Solution
The parameter for ‘create config’ must be a new file name. or... Destination file exists - file must not exist prior to operation. The name you gave this configuration already exists for another configuration file. Use a different name. To see a list of configurations on a system, use the list config command.
Couldn’t fork editor. or… Editor execution failed. SharePlex failed to open the default text editor. Make sure the editor still exists on the system. The default editors are vi on Unix and Linux and WordPad on Windows. To change the default text editor, see Set a default editor for sp_ctrl.
Destination file exists - file must not exist prior to operation. The name you specified when copying the configuration file already exists in this SharePlex instance. Use a different name. To see a list of configurations on a system, use the list config command.
Problems in reading or writing file used in edit -- command aborted. The edit config command could not open the specified file. Confirm the name of the file you are trying to edit, including the case, and check to see if the file is corrupted.
Destination file exists - file must not exist prior to operation. The new name you are giving this configuration already exists for another file. Use a different name. To see a list of configurations on a system, use the list config command.
Invalid file name passed to command. or… File does not exist. You could have misspelled the configuration name or used the wrong case. Verify the name and spelling, including the case, then enter it again. To see a list of configurations on a system, use the list config command.
File access denied - check file permissions. You are not authorized to issue the command. View your authorization level with the authlevel command in sp_ctrl, then determine its minimum authorization level. The SharePlex Administrator assigns authorization levels. For more information, see About the SharePlex security groups.

Solve activation problems

This section reviews problems and solutions that may be associated with the activation of a configuration file.

If the issue you are experiencing is not listed in this documentation, search the SharePlex Knowledge Base at:

https://support.quest.com.

The Knowledge Base provides filtering options and links to other resources that can help you use and troubleshoot SharePlex.

Note: Many configuration problems can be prevented by using the verify config command in sp_ctrl before you activate a configuration or reactivate one containing new or changed objects. The verify config command reviews the configuration to help ensure that basic requirements for activation and replication have been satisfied. See the SharePlex Reference Guide for more information.

SharePlex cannot locate the configuration file

If SharePlex cannot locate the configuration file that you want to activate, verify its location. Configuration files must reside in the config sub-directory of the SharePlex variable-data directory for activation to succeed. The create config command in sp_ctrl automatically puts configuration files in that directory. It is possible someone moved it.

Problems also occur if the configuration file was created without using the create config command. This can happen if the file was created directly through the operating system or if the config.sql or build_config.sql script was used to create it. If the working directory at the time was not the config sub-directory, or if the file was saved to a different directory, the activation will not find it.

Solution: Move the configuration file to the config sub-directory of the SharePlex variable-data directory.

Some objects failed to activate

If SharePlex cannot activate one or more objects listed in the configuration file, it will continue to activate the other ones and display the names of the ones that failed in the ID_oconf##.log file.

The following are reasons why individual objects fail to activate.

Problem Description Solution
Invalid objects

You may be trying to replicate objects that are not supported by SharePlex.

To understand the objects and operations that SharePlex supports, see the SharePlex Release Notes that accompany this release.

Invalid target systems

SharePlex could not get routing information.

Verify the names of the targets, and fix any syntax errors in the routing map. For some databases you specify an instance name, while for others you specify the actual database name.

For routing instructions, see:

After your fix the routing syntax, activate the affected configuration again.

Syntax errors and misspelled words

Misspelled names, object names specified without an owner name, and other improper syntax in the configuration specification can cause activation of an object to fail.

Run the verify config command to view the errors. For help with configuration syntax, see Configure data replication.
(Oracle) SharePlex cannot lock tables

If activation cannot lock the tables in the configuration file, activation of that table will fail.

Assign the SharePlex database user the privilege to lock tables.

(SQL Server)

Failure due to lack of primary key

Tables cannot be activated if they do not have a primary key. You may see an error such as "Specification will be skipped --> SPP-10001 table does not have a primary key". The activation skips those tables because all tables configured for capture from SQL Server must have a defined primary key.

Activation will also fail if a user-defined key is specified for a SQL Server table in the configuration file.

If possible add a primary key to the skipped tables, then reactivate the configuration file.

(SQL Server)

Failure due to case sensitivity

The database is case-sensitive but the names in the configuration file are not specified properly. To enforce case in the SharePlex configuration, enclose the owner name and object name within double quotes, for example "Fin"."Sales".

Make the corrections in the configuration file, then activate the configuration again.

Activation failed completely

There are several things can cause the entire activation of a configuration to fail. Common error messages for configuration activation problems are:

Bad configuration file

The Oracle sid SID specified in the config file is invalid.

The following are causes and solutions for activation failures.

Problem Description Solution
Password problems

If SharePlex is having trouble connecting to the source database and you know the SharePlex account exists, find out if someone changed the password.

Update the connection information. For more information, see Change the SharePlex database account.
Deactivation followed too closely by activation

In rare cases, if you activate a configuration too soon after a deactivation, the activation fails.

Before you activate a new configuration after deactivating one, wait until you see the following message in the Event Log: Notice: sp_ordr (for o.ora10 queue o.ora10) Deactivated.

No datasource specification

The datasource specification is wrong or incomplete. An error similar to the following is returned:

The datasource specified in the config file is invalid.

Specify as:

Datasource:o.SID

or...

Datasource:r.database_name

(Oracle) Incorrect ORACLE_SID The wrong ORACLE_SID is specified on the Datasource:o.SID line.

Edit the configuration file to specify the correct ORACLE_SID.

How to find the ORACLE_SID and ORACLE_HOME.

(Oracle)Insufficient PROCESSES setting

If Oracle Error 20 (ORA-00020 maximum number of processes (string) exceeded) is the cause of an activation failure, it is because Oracle ran out of resources on the source system to allow one or more threads to log on.

Increase the PROCESSES parameter in Oracle or decrease the number of activation threads that you are using. The number of threads is controlled by the threads option of the activate config command.

(Oracle) ORA-00942: table or view does not exist.

SharePlex cannot access the Data Dictionary.

Make certain that the O7_DICTIONARY_ACCESSIBILITY parameter in the init.ora file is set to TRUE. (This is the default.) The database must be restarted if the parameter is changed.
(SQL Server) Activation of SQL Server tables fails Invalid specifications for a SQL Server source or target in the configuration file can cause activation to fail.

Verify that:

  • You specified an r. followed by the actual name of the SQL Server source database in the datasource specification. This must be the database name, not the SQL Server instance name or the Data Source Name (DSN). If it is case-sensitive, it must be enclosed within quotes.
  • You specified an r.followed by the actual name of the SQL Server target database in the routing map.

Examples:

Datasource: r."MyMSSDB" (source database specification on first line of configuration file)

myhost@r."TargMSSDB" (target database in routing map)

(SQL Server)

Activation fails due to target SharePlex version

Activation fails if the SP_SYS_TARGET_COMPATIBILITY is set to anything less than 9.0, meaning the SharePlex version on the target is earlier than 9.0. Upgrade SharePlex on the target to at least Version 9.0.

(SQL Server)

Tables are locked

Activation of SQL Server tables fails if any tables in the configuration are locked. Activation just hangs and waits for the lock to be released. Stop access to the tables in the configuration file, remove the locks, and then activate the configuration.

(SQL Server)

The DSN is a User DSN.

An error like the following might indicate that the DSN is a User DSN.

oconf 2016-09-19 17:11:25.101000 5188 5536 SPP-80001 SQL Server login failed oconf 2016-09-19 17:11:25.101000 5188 5536 SPP-00007 Database Error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified [SQL Server Error Code 0] [SQLState 'IM002']

SharePlex runs as a service as system user and does not detect User DSNs. The SQL Server DSN (data source name) must be a System DSN.

Check the setup of the DSN to determine whether it is a System or User DSN. If it is a User DSN, delete that one and create a System DSN.

The reconcile command is slow to complete

This applies to activation and reconcile of an Oracle source. If you issue the reconcile command when source database activity is low, the command process can, in some circumstances, seem to stall. This happens because the reconcile command is dependent on data continuing to arrive from the source system. If there is no replicated activity on the source system after the point of the hot backup or copy, the reconcile process waits until source activity resumes. This is normal.

Common activation errors

The following are common error messages that you might encounter when activating a configuration.

ACTIVATE CONFIG error messages Cause Solution
line n, source object name (T_HFL_1) not of form OWNER.TABLE The owner name may be missing from one or more objects listed in the configuration file. Specify object names as ownername.objectname.
syntax error in line n. There is a syntax error on the specified line of the configuration file. Fix the incorrect syntax. For more information, see Configure data replication.
line n, bad routing spec (o.ora10) There is a syntax error in the routing map. Make sure the routing map is written correctly. For more information, see Routing specifications in a configuration file.
File does not exist. SharePlex cannot find the configuration file. Issue the list config command. If the file you want to activate is not listed, it may not be in the config sub-directory of the variable-data directory. Find the file and move it to that directory, then issue the activate config command again.
Attempt to run sp_conf when sp_conf is already active The configuration is already in the process of being activated. None required.
Login parameters not set... A SharePlex account and internal tables do not exist in the source database. Run the Database Setup utility. For more information, see Database Setup Utilities in the SharePlex Reference Guide.
WARNING, not all objects activated successfully. Check activation log. One or more tables failed to activate. For more information, see Some objects failed to activate.
Deactivate/flush a nonactive datasource You are attempting to deactivate a configuration that is not active. No action is necessary if this is the configuration that you wanted to deactivate. To see a list of configurations, use the list config command.
(Oracle) Currently involved in transaction. Objects in the configuration file are locked. SharePlex cannot lock Oracle tables to analyze them if another process has them locked. If the locks are from source transaction activity, try activating at a time when the database is less busy.
Related Documents