Use this procedure to synchronize an Oracle source database with an Open Target database. You will need to use a copy utility that can copy from Oracle to the type of target that you are using. SharePlex replicates the Oracle data changes and maintains them in the Post queue until the target is established with the copy. When the target is ready, you run the SharePlex reconcile feature, which ensures that Post only applies the operations that occurred after the copy and discards operations that were committed to the source before the copy.
To avoid added overhead on the production source database, you can copy the data from a mirrored secondary Oracle instance. In this case, you can use your Oracle RMAN backup system to recover the secondary instance to the point where the copy will start, or you can perform a manual backup to a secondary instance. The instructions include this option.
Important! Even if you use a secondary instance as the source of the data copy, the SharePlex configuration file should replicate directly from the production Oracle instance to the Open Target target. There is no replication to the secondary Oracle instance.
Read these points before you proceed.
Oracle source and any supported target
If using a secondary Oracle instance as the source of the copy, that instance must be a mirror of the production source instance.
All except cascading.
This document does not provide instructions for how to perform the chosen copy method. Someone with expertise in database copy methods should perform this procedure. Use a copy method that supports the target database and can copy data from an Oracle database.
In this procedure, the "source" is one of the following:
In this procedure, the "target" system is the Open Target database or the target system.
In this procedure, the SharePlex commands in the procedure apply to all sp_cop instances in the replication configuration, including all sp_cop processes on a target in consolidated replication.
On source and target systems, verify that the SharePlex processes are running.
On the target system, stop the Post process. This allows replicated data to accumulate in the post queue until the target database is instantiated and reconciled.
sp_ctrl> stop post
Activate the configuration on the source system.
sp_ctrl> activate config filename
On the source system, monitor activation status.
sp_ctrl> show activate
Note: The command retains control of sp_ctrl until activation is finished.
When activation is complete, switch log files on the source system.
svrmgr1> alter system switch logfile;
Do one of the following:
To reconcile to a sequence number on the target, make a note of the log sequence number of the new log file.
If you will be making the copy from the secondary instance, do the following:
Open the database with the RESETLOGS option.
Note: The next steps apply the replicated changes that occurred after the backup point.
[Optional] If you are using named post queues and are unsure of the queue names, issue the qstatus command and make a note of them.
On the target system, run sp_ctrl, then issue one of the following reconcile commands. If you are using named post queues, issue the command for each one.
To recover to a log sequence number, substitute the sequence number of the log that you noted previously.
sp_ctrl> reconcile queue queuename for datasource-datadest seq sequence_number
Example: reconcile queue SysA for o.prod1-r.rep1 seq 1234
To recover to an SCN, substitute the SCN that you noted previously.
sp_ctrl> reconcile queue queuename for datasource-datadest scn scn_number
Example: reconcile queue SysA for o.prod1-r.rep1 scn 0123456789
Note: The command retains control of sp_ctrl until the reconcile process is finished.
On the target system, start the Post process. The two instances are now in synchronization, and SharePlex will continue replicating to maintain synchronization.
sp_ctrl> start post
This chapter contains an overview of the tools that SharePlex provides to detect errors and monitor the replication processes. Like any mission-critical software, SharePlex should be monitored regularly for situations or events that could interfere with processing, especially those that could result in loss of data synchronization.
These instructions show you how to forcefully terminate SharePlex processes in cases where replication must be shut down immediately. In normal circumstances, follow the shutdown instructions in the following topics:
On Unix and Linux systems, you can use the ps -ef | grep sp_ command to view the SharePlex processes that are running.
The following child processes are spawned by sp_cop on a source system:
The following child processes are spawned by sp_cop on a target system:
Command and Control process (sp_cnc)
Each child process has the same -uidentifier as its parent sp_cop process. This makes it easier to identify related processes when multiple session of sp_cop are running.
To terminate a SharePlex process on Unix and Linux
$ kill -9PID
On Windows systems, SharePlex is managed by the NuTCRACKER operating environment, rather than the Windows operating system. However, you can view and terminate SharePlex processes in the normal manner, as you would other Windows programs.
You can view the SharePlex processes on Windows systems in the following ways:
In the Windows Task Manager, SharePlex appears as Sp_Copsrv.exe, representing the SharePlex sp_cop process. The operating system controls the parent Sp_Copsrv.exe service. The parent Sp_Copsrv.exe process spawns child Sp_Copsrv.exe processes — one for each replication process (Capture, Read, Export, Import, Post, sp_ctrl, and so forth.).
For a standard uni-directional configuration replicating through default queues to one target system, there are following processes on a Windows system:
On the source system:
On the target system:
If there are no active replication configurations, the SharePlex processes do not start when you start the service, and just the parent Sp_Copsrv.exe will be running.
To identify the parent Sp_Copsrv.exe process in the Windows Task Manager, look for the one that is using the largest amount of memory. The child Sp_Copsrv.exe processes consume less memory than the parent process.
To identify which replication process is associated with a child Sp_Copsrv.exe process, look in the SharePlex Event Log for the message stating when the replication process started. This entry provides the PID for that process and the PID of the associated Sp_copsvr.exe process.
You can terminate SharePlex processes on Windows systems as follows:
To terminate a process with Task Manager
Run KillSharePlex.bat from the bin sub-directory of the SharePlex product directory.
Note: This tool terminates all SharePlex processes without displaying them. There are no user prompts or confirmation messages.
SharePlex reports errors and other abnormal conditions in the following ways.
SharePlex reports operational errors, notices and warning conditions to the Event Log. This log provides a perpetual step-by-step record of replication activities, errors, and events. The Event Log can help you replay the sequence of events that led up to a problem.
Examples of replication events include:
Execution of a command in sp_ctrl. User-issued commands are recorded for every SharePlex command that is issued.
Note: A user-issued command appears in the Event Log as a notice, as in the following example:
Notice 08-07-02 16:13:24.641582 23696 1 User command: rjones activate config 1route (from mycomp14)
Login or logout of a user
Each entry in the Event Log includes:
To view the Event Log
Use the show log command in sp_ctrl or open the file named event_log in the log sub-directory of the SharePlex variable-data directory.
SharePlex provides a script for unattended monitoring of this log. See Monitor events with sp_eventmon.
The Status Database contains a summary of the conditions reported in the Event Log, including events that did not generate an error message or warning at the sp_ctrl user interface. This information alerts you to potential problems and helps you resolve existing ones. The Status Database may refer you to the Event Log for a more detailed explanation of a warning, notice or event.
To view the Status Database
Use the show statusdb command in sp_ctrl or open the file in the data sub-directory of the SharePlex variable-data directory.
When the Post process detects that source and target tables are out of synchronization, it logs the first 100 SQL statements and data for the out-of-sync transactions to an error file on the target system. You can use this log to determine the extent of the out-of-sync condition, and you can use the SQL statements to repair target tables if the condition is not too severe, after first correcting the cause of the problem.
To view the Error Log
Open the ID_errlog.sql file in the log sub-directory of the SharePlex variable-data directory (where ID is the identifier of the SharePlex target, for example a target database).
When a SharePlex process cannot process a record, the process not only logs the record to the Event Log, but also to its process log file. The process logs are primarily for use in debugging.
The name of a process log consists of the datasource identifier (such as the ORACLE_SID), the short name of the process (such as ocap, ord, opo, rcl), the file number, and the file extension (.log).
The aging of old log files is performed in a circular pattern. The numbering begins with 01 and ends with 03. Up to three logs can exist at any time, including the current one. When all three logs are full (50 MB), the process starts overwriting them, beginning with the oldest one.
To view a process log
Open the file in the log sub-directory of the SharePlex variable-data directory.
When you activate a configuration, it generates a log.
To view the activation log
Open the file named SID_oconf##.log in the log sub-directory of the SharePlex variable data directory.
The compare and repair commands log errors, messages and warnings to a log. For more information about these logs, see the compare commands in the SharePlex Reference Guide.