Use this procedure to synchronize an Oracle source database with an Open Target database. 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.
Preliminary considerations
Read these points before you proceed.
Supported databases
Oracle source and any supported target
Supported replication strategies
All
Requirements
Procedure
- On the source and target systems, start sp_cop and sp_ctrl from the bin sub-directory of the SharePlex product directory.
-
On source and target systems, verify that the SharePlex processes are running.
sp_ctrl> status
-
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.
Note: The command retains control of sp_ctrl until activation is finished.
- When activation is complete, start the hot backup to the staging instance.
-
When the hot backup is finished, switch log files on the primary source system twice.
On-premises database:
svrmgr1> alter system switch logfile;
svrmgr1> alter system switch logfile;
Amazon RDS database:
Run the Amazon RDS procedure rdsadmin.rdsadmin_util.switch_logfile twice.
- Copy the archive logs that were generated by the log switch from the primary instance to the staging instance.
-
Do one of the following:
- If the source is RAC, recover the database on the staging server to the latest SCN of the last archive log that was copied to the staging server.
-
If the source is not RAC, recover to the sequence number of the last archive log that was copied to the staging server.
Note: The next steps apply the replicated changes that occurred after the backup point.
-
Do one of the following:
- Using the copy method of your choice, make a copy of the Oracle data from the staging server to the Open Target database. Wait until the copy is finished before proceeding to the next step.
-
[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.
sp_ctrl> qstatus
- On the target system, disable triggers on the target tables.
- On the target system, disable check constraints and scheduled jobs that perform DML.
-
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.
-
If the source is non-RAC, reconcile to the log 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
-
If the source is RAC, reconcile to 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.
Contents
View and Terminate SharePlex Processes
These instructions show you how to forcefully terminate SharePlex processes in cases where replication must be shut down immediately.
View and Terminate Processes on Unix and Linux
On Unix and Linux systems, you can use the ps -ef | grep sp_ command to view the SharePlex processes that are running.
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:
Or...
View and terminate SharePlex processes on Windows
On Windows systems, SharePlex is managed by the CYGWIN 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.
View SharePlex processes on Windows
You can view the SharePlex processes on Windows systems in the following ways:
- From the Command Prompt console using the tlist program provided with the SharePlex software.
- From the Windows Task Manager.
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.
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:
- One parent Sp_Copsrv.exe process.
- One Sp_Ocap or Sp_capture (Capture) process.
- One Sp_Ordr (Read) process.
- One Sp_Xport (Export) process.
On the target system:
- One parent Sp_Copsrv.exe process.
- One Sp_Mport (Import) process.
- One Sp_Opst_Mt (Oracle Post) or Sp_Xpst (Open Target Post) process.
Terminate SharePlex processes on Windows
You can terminate SharePlex processes on Windows systems as follows:
- Windows Task Manager: Terminate one SharePlex process at a time
- KillSharePlex.bat: Terminate all SharePlex processes at once with a batch file.
To terminate a process with Task Manager
- Press Control | Alt | Delete.
- Select Start Task Manager or Task Manager, depending on your Windows version.
- Select the Processes tab.
- (Optional) Sort the processes by name.
- Select the process that you want to kill.
- Click End Process.
To terminate all processes with KillSharePlex.bat
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.
Event Log
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:
Each entry in the Event Log includes:
- The date and time of the event.
- A description of the event and any related messages (error or non-error).
- The event’s process ID number, if it is associated with a SharePlex process.
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. For more information, see Monitor events with sp_eventmon.
Note: To control the number of out-of-sync messages that Post logs when a target table is very out-of-sync, use the SP_OPO_SYNC_LOG_FREQUENCY parameter. For more information, see the SharePlex Reference Guide.
Status Database
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.
Error Log
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).
Process logs
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).
Examples:
Capture: ora10_ocap02.log
Read: ora10_ord01.log
Post: ora10_opo03.log
Reconcile: ora10_rcl01.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.
Activation log
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.
Compare/repair log
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.