Chat now with support
Chat with Support

Welcome, ApexSQL customers to Quest Support Portal click here for for frequently asked questions regarding servicing your supported assets.

SharePlex 9.0 - 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 SharePlex to replicate data Configure replication to and from a container database Configure named queues Configure partitioned replication Configure SharePlex to maintain a change history target Configure a replication strategy Configure SharePlex to replicate Oracle DDL Set up error handling Transform data Configure SharePlex security features Activate replication in your production environment Monitor SharePlex Prevent and solve replication problems Repair out-of-sync Data Procedures to maintain Oracle high availability Make changes to an active replication environment Apply an Oracle application patch or upgrade Back up Oracle data on the source or target Tune the Capture process Tune the Post process Appendix A: Peer-To-Peer Diagram Appendix B: SharePlex environment variables

Monitor Oracle capture with sp_logmon

The sp_logmon monitoring script helps prevent situations where you must resynchronize your data because the Oracle redo logs wrapped before Capture was finished reading them. It monitors the redo log group to which Oracle currently is writing and determines which log SharePlex is reading.

If Capture loses pace by a specified number of logs, sp_logmon generates a warning in the logmon.log file and in an e-mail message, if that option is enabled. This gives you time to correct the cause of the delay and restore the archive logs, if necessary.

Prepare to run sp_logmon

Before running the script, perform the following tasks.

Satisfy requirements

See Requirements for using the monitoring scripts before you use this script. Note: The script must be run in the ksh shell.

Define email addresses

To use the e-mail notification feature, define the e-mail address(es) in the script before running it.

  1. Open the script in the app-modules directory of the SharePlex product directory.
  2. Add any number of address strings after the MailUserName= variable. Use the full e-mail and/or pager address. Separate multiple entries with a comma, as shown in the following example:

    MailUserName=scott@company.com,12345678910@pageservice.com

Important! If the person modifying the script is someone other than a SharePlex user, he or she needs to have these Oracle privileges:

  • CONNECT privileges
  • SELECT privileges for the V$LOG table
  • SELECT privileges for the SharePlex internal tables

Run sp_logmon

Run the script from the util sub-directory of the SharePlex product directory, not from app-modules. When you run it from the util directory, you actually make a soft link that runs a utility which first sets up the correct environment before running the script itself.

Syntax

nohup sp_logmon -p port -t interval -l integer [-m ] [/dev/null] &

Table 4: Required arguments

Argument Description
nohup sp_logmon Directs the script to continue running in the background if the user logs out. This ensures continuous monitoring. The sp_logmon component runs the script.
-p port Sets the port number for the instance of sp_cop that you are monitoring. You can monitor different SharePlex instances by running sp_logmon for each one, using different values for this argument.
-t interval Sets the time interval between scans in seconds. The value can be any positive integer.
-l integer Sets the maximum permissible number of redo logs between where Oracle is writing and where Capture is reading. This value triggers the warning generated by sp_logmon. Valid values are positive integers from 1 to the number of redo logs in the group.
& Runs the script in the background.

Table 5: Optional arguments

Argument Description
/dev/null Redirects the notification output to the /dev/null device on the local system so that the monitoring process continues to run in the background and generate output. To have the output appear on screen, omit this argument.
-m Enables the e-mail/paging option. Without this parameter, sp_logmon only logs errors to the log file.

 

Monitor events with sp_eventmon

The sp_eventmon monitoring script monitors the SharePlex Event Log (event_log) at set intervals for entries relating to key replication events. You can define the scan interval and the error messages you want the script to detect. Each scan starts where the previous one stopped to keep the impact on the system minimal and prevent duplicate warnings.

The sp_eventmon script takes the following actions after each scan of the Event Log:

  • When sp_eventmon detects an error that you defined, it prints a notification to the error.splex log file and an e-mail message, if that option is enabled.
  • It logs each error, the error Event Log line number of the error, the sp_cop instance name (typically the port number), and the time and date of the error.
  • The script relies on the iwgrep program, the error_list file (described later), and a marker file named username.mrk (where username is derived from the string that you enter with the -s argument when you run sp_eventmon). These three components must be kept in the same directory as the script, or it will not function.
  • Note: The username.mrk file prevents duplicate warning messages from being sent to the log and to your e-mail or pager. Without this file, the script starts scanning the Event Log from the beginning every time it starts. Warnings that were previously generated are sent again.

    Prepare to run sp_eventmon

    Before running the script, perform the following tasks.

    Satisfy requirements

    See Requirements for using the monitoring scripts before using this script. Note: The script must be run in the ksh shell.

    Define error messages

    The sp_eventmon script scans for events listed in the error_list file, located in the util sub-directory of the SharePlex product directory. View that file for more information about the supported errors. You can add custom error strings to the error_list file by editing it in any ASCII text editor. Open the file and place each error string on a separate line.

    Set IW_HOME

    The IW_HOME variable in the script must be set to the correct value on each machine. This variable must point to the directory in which the monitoring scripts and iwgrep reside.

    If the path is not correct:

    1. Open the script in the app-modules directory of the SharePlex product directory.
    2. Set the path as shown in the following example:

      IW_HOME=/export/home/splex/monscripts

    Define e-mail addresses

    To use the e-mail notification feature, define the e-mail address(es) in the script before running it.

    1. Open the script in the app-modules directory of the SharePlex product directory.
    2. Add any number of address strings after the MailUserName= variable. Use the full e-mail and/or pager address. Separate multiple entries with a comma, as shown in the following example:

      MailUserName=scott@company.com,12345678910@pageservice.com

    Run sp_eventmon

    NoteS:

    • If you are running multiple instances of sp_eventmon, each instance must be run under the name of a different operating system user. Each username.mrk file will have a different username.
    • Use the truncate log command in sp_ctrl to truncate the Event Log frequently when you are running the sp_eventmon script. If the log grows too large, the iwgrep program cannot grep from it properly. When you issue the truncate log command, remove the username.mrk file. The next time you run sp_eventmon it will create a new file. See the SharePlex Reference Guide for more information about the truncate log command.

    • When there is an existing Event Log with errors in it and the script is running, issue the truncate log command and then delete the sp_cop_name.mrk file, where sp_cop_name is the value used in the -s argument when the script was run. This file is in the util sub-directory of the SharePlex product directory.

    To run sp_eventmon

    Run the script from the util sub-directory of the SharePlex product directory, not from app-modules. When you run it from the util directory, you actually make a soft link that runs a utility which first sets up the correct environment before running the script itself.

    Syntax

    nohup sp_eventmon -s 'sp_copname' -t interval -p path [-n name ] [-m] /dev/null &

    Table 6: Required arguments

    Component Description
    nohup sp_eventmon Directs the script to continue running in the background if the user logs out. This ensures continuous monitoring. The sp_eventmon component runs the script.
    -s 'sp_copname' Sets the name of sp_cop that was used when sp_cop was started with the -u option. The name of sp_cop must be enclosed within single quote marks. You can use this parameter more than once to monitor multiple sp_cop instances on a system. Without this parameter, sp_eventmon will not start.
    & Runs the script in the background.
    -t interval Sets the time interval between scans in seconds. The value can be any positive integer.

    Table 7: Optional Components

    Component Description
    -p path Sets the path to the SharePlex variable-data directory. Without this variable, sp_eventmon assumes the default path.
    /dev/null Redirects the notification output to the /dev/null device on the local system so that the monitoring process continues to run in the background and generate output. To have the output appear on screen, omit this argument.
    -n name Sets the name of the Event Log if it is something other than the default name “event_log.”
    -m Enables the e-mail/paging option. Without this option, sp_eventmon only logs errors to the log file.
  • Monitor processes with sp_ps

    The sp_ps monitoring utility monitors all SharePlex processes, including child processes, associated with a specified sp_cop instance. It scans the processes at regular intervals and reports abnormal conditions to one or more log files. It can monitor multiple installations of SharePlex on one or more systems, and it supports uni-directional and bi-directional (peer-to-peer) configurations.

    Prepare to run sp_ps

    Before running the script, perform the following tasks.

    Satisfy requirements

    See Requirements for using the monitoring scripts before using this script. Note: The script must be run in the ksh shell.

    Set the scan interval

    The scan interval specifies how long the sp_ps program waits between checks. The default is 2,000 seconds. To specify a different scan interval, follow these steps.

    1. Open the sp_ps file in the app-modules directory of the SharePlex product directory.
    2. Set the interval= parameter to the required scan interval. Use any positive integer, for example:

      interval=1500

    Define email addresses

    To use the e-mail notification feature, define the e-mail address(es) in the script before running it.

    1. Open the script in the util directory of the SharePlex product directory.
    2. Add any number of address strings after the MailUserName= variable. Use the full e-mail and/or pager address. Separate multiple entries with a comma, as shown in the following example:

      MailUserName=scott@company.com,12345678910@pageservice.com

    Note: The e-mail/paging option is enabled by default for sp_ps, but confirm that it was not changed. In the script, MAILOPTION=TRUE enables e-mail notifications and MAILOPTION=FALSE disables them.

    Run sp_ps

    Run the script from the util sub-directory of the SharePlex product directory.

    Syntax

    nohup sp_ps ['sp_cop -u name'] CONFIGURATION [> /dev/null] [ &]

     

    Table 8: Required arguments

    Argument Description
    nohup sp_ps Directs the script to continue running in the background if the user logs out. This ensures continuous monitoring. The sp_ps component runs the script.
    'sp_cop -u name' Use this parameter if you are running more than one sp_cop process. Use it to specify each one of those processes that you want to monitor. This argument must reflect exactly the same name that was used when sp_cop was started with the -u option. It must be enclosed within single quote marks.Without the -uname option, sp_ps assumes you want to monitor the sp_cop that uses the default SharePlex port of 2100.
    CONFIGURATION

    Specifies the type of configuration of the SharePlex instance being monitored. This value must be entered in CAPITAL letters. Valid values:

    SOURCE — Use for uni-directional replication to monitor the Capture, Read and Export processes on the source system.

    TARGET — Use for uni-directional replication to monitor the Import and Post processes on the target system.

    MULTI-SOURCE — Use for peer-to-peer replication. It directs the script to monitor the Capture, Read, Export, Import and Post processes on each system.

    Note: If replicating between source and target tables on the same system, there are no Export or Import processes.

    > /dev/null Redirects the notification output to the /dev/null device on the local system so that the monitoring process can continue to run in the background and generate output. To have the output appear on screen, omit this argument
    & (Ampersand) Runs the script in the background.

    Monitor queues with sp_qstatmon

    The sp_qstatmon script monitors the status of the capture and post queues for message backlogs. You can configure the script to alert you if the number of messages in a queue exceeds a defined threshold (limit), indicating that there is a potential data, system or network problem. This gives you time to correct the problem before the queues exceed their allocated space on the filesystem.

    After each analysis of the queues, the sp_qstatmon script prints a notice in the capstat.log file for the capture queue or the poststat.log file for the post queue, as well as an e-mail message if that option is enabled.

    Prepare to run sp_qstatmon

    Before running the script, perform the following tasks.

    Satisfy requirements

    See Requirements for using the monitoring scripts before using this script. Note: The script must be run in the ksh shell.

    Assign permission to create temporary files

    The script creates some temporary files in the util sub-directory of the SharePlex product directory. Assign write permission to that directory to the sp_qstatmon module.

    Define email addresses

    To execute sp_qstatmon with e-mail notification, you must first must define the e-mail address(es) in the script. Notification messages are sent to all addresses coded in the script. Unless email notification is enabled, sp_qstatmon only logs errors to the log file.

    You can specify as many addresses as you want.

    1. Open the sp_qstatmon script in any ASCII text editor. The script is in the .app-modules directory in the SharePlex installation directory.
    2. Add the address strings after the MailUserName= variable. Use the full e-mail and/or pager address. Separate multiple entries with a comma, as shown in the following example.

      scott@company.com, 12345678910@pageservice.com

    3. Save and close the file.

    Run sp_qstatmon

    Run the script from the util sub-directory of the SharePlex product directory, not from app-modules. When you run it from the util directory, you actually make a soft link that runs a utility which first sets up the correct environment before running the script itself.

    Syntax

    nohup sp_qstatmon -v path -t n -p port_number [-c integer ] [-d integer ] [-m] > /dev/null &

    Table 9: Required arguments

    Argument Description
    nohup sp_qstatmon Directs the script to continue running in the background if the user logs out. This ensures continuous monitoring. The sp_qstatmon component runs the script.
    -v path Sets the path to the SharePlex variable data directory for the instance of sp_cop that you want to monitor. Without this variable, sp_qstatmon fails and prints an error message requesting a valid path.
    -t n Sets the time interval between scans in seconds. This value can be any positive integer.
    -p port Sets the port number for the instance of sp_cop that you are monitoring. You can monitor different SharePlex instances by running sp_qstatmon for each one, using different values for this argument.
    & Runs the script in the background.

    Table 10: Optional arguments

    Argument Description
    /dev/null Redirects the notification output to the /dev/null device on the local system so that the monitoring process continues to run in the background and generate output. To have the output appear on screen, omit this argument.
    -c integer Sets the number of messages in the capture queue at which the script issues a warning message. This value can be any positive integer. Without this parameter, sp_qstatmon defaults to 100 messages.
    -d integer Sets the number of messages in the post queue at which the script issues a warning message. This value can be any positive integer. Without this parameter, sp_qstatmon defaults to 100 messages.
    -m Enables the e-mail/paging option. Without this parameter, sp_qstatmon only logs errors to the log file.
    Related Documents