지금 지원 담당자와 채팅
지원 담당자와 채팅

SharePlex 11.4 - Reference Guide

About this guide Conventions used in this guide Revision History SharePlex Commands for Oracle SharePlex parameters SharePlex Commands for PostgreSQL SharePlex Parameters for PostgreSQL General SharePlex utilities Oracle Cloud Infrastructure SharePlex environment variables

Trigger Scripts for PostgreSQL

Trigger Scripts for PostgreSQL

Description

SharePlex provides three interactive scripts, that you can run in SQL*Plus to manage triggers so that they do not interfere with replication.

Review the following points before you run the scripts:

  • To run the trigger scripts, you must have access to both the SYS and DBA objects. If the SharePlex database account was set up properly during installation, that account has this access.

  • After applying a PostgreSQL patch (which sometimes creates or modifies triggers), re-run sp_pg_add_trigger.sql on the target system if triggers are not disabled.
  • The scripts reside in the util sub-directory of the SharePlex product directory.

  • The SharePlex trigger scripts support row-level triggers only. Statement-level triggers must be disabled/enabled for the SharePlex user separately.
  • Triggers that modify data in tables NOT being replicated and do not affect tables in the replication configuration can fire on the target system without special treatment. However, the scripts operate on all objects in the PostgreSQL instance, whether or not they are part of replication.
  • SharePlex provides other interactive scripts for managing triggers.
  • The scripts must be run for target objects. Do not run them on the source objects unless you are using peer-to-peer replication.
  • The scripts should not be used if source and target objects are both on the same machine. In this configuration, the user can disable triggers on target objects.

Limitation: As the PostgreSQL database has a one-to-many relationship between users and schemas, i.e., one user and many schemas, these scripts will take the user as input and enable or disable all triggers under that user's database.

Supported databases

PostgreSQL on supported platforms

sp_pg_add_trigger.sql

Use sp_pg_add_trigger.sql when you cannot disable triggers on target objects, such as for peer-to-peer and high-availability configurations. This script changes the triggers so that they ignore the SharePlex PostgreSQL user associated with the Post process, but fire for all other users. It inserts the following WHEN clause into each trigger in the database.

when user != ‘SharePlex_username’ EXECUTE { FUNCTION | PROCEDURE } function_name ( arguments )

The script prompts for the SharePlex user name, and then it modifies the triggers. It does not modify triggers belonging to SYS, SYSTEM, and SCOTT.

Syntax

\i absolute_pathname/sp_pg_add_trigger.sql

sp_pg_change_trigger.sql

Use sp_pg_change_trigger.sql to replace the name of the SharePlex user in the WHEN clause that was created with sp_pg_create_trigger.sql. It prompts for the current SharePlex user name and for the new user name. Change the SharePlex user in PostgreSQL before you run this script.

Syntax

\i absolute_pathname/sp_pg_change_trigger.sql

sp_pg_remove_trigger.sql

Use sp_pg_remove_trigger.sql to remove the WHEN clause created with sp_pg_create_trigger.sql. It prompts for the SharePlex user name and then automatically removes the WHEN clause from all of the triggers. Use this script if you no longer will be replicating to those tables. If you continue to use SharePlex to replicate to those tables without disabling the triggers, the triggers will fire when SharePlex posts data, and SharePlex will generate out-of-sync errors.

Syntax

\i absolute_pathname/sp_pg_remove_trigger.sql

Database Setup Utilities

Database Setup Utilities

The Database Setup utilities automatically configure a source or target database to allow SharePlex connections and to establish required database components that support replication.

For detailed information on how to set up various database utilities, refer to the Database Setup Utilities section in the SharePlex Installation and Setup Guide.

Oracle Cloud Infrastructure

Contents

 

Database Setup for Oracle Cloud-ExaCS and DBCS

Use the Database Setup utility for Oracle (ora_setup) to establish SharePlex as an Oracle user and create the required SharePlex database objects. This setup utility creates the following:

  • A SharePlex account
  • Tables and other objects for use by SharePlex and owned by the SharePlex account
  • Default connection for the SharePlex user

It is recommended that you review all of the content in this topic before running the setup utility.

Supported databases

Oracle source or target on supported platforms

When to run Oracle setup

Whether or not to run this utility at the time of SharePlex installation depends on whether the database is a source, intermediary, or target database, and on how you intend to synchronize the data. To view the initial synchronization procedures, see the SharePlex Administration Guide.

System Type When to run Oracle Setup

Source system

During installation of SharePlex

Intermediary system An intermediary system is used in a cascading configuration, where SharePlex replicates data to a remote system (or systems) and then sends that data from the intermediary system to the final target. If you intend to configure SharePlex to post data to a database on an intermediary system, and you intend to use a hot backup to establish the data on that system and the target, do not run the Database Setup utility on the intermediary or target systems. You will run it when you perform the initial synchronization procedure.

Target system

Depends on the method that you will use to synchronize the source and target data when you are ready to activate replication:

  • If you intend to use transportable tablespaces or a cold copy (such as export/import, store/restore from tape, FTP), run the Database Setup utility during SharePlex installation.
  • If you intend to use a hot backup to establish the target data, do not run the Database Setup utility. You will run it when you perform the initial synchronization procedure.

    Note: If you run the Database Setup utility before the backup and recovery, the setup gets overwritten, and you will need to re-run it again after the backup and recovery.

Supported Oracle connections

The setup utility can configure any of the following connections for the SharePlex user to use when connecting to the database.

Database type Connection
PDB with ASM

TNS alias for the PDB and either TNS or bequeath for the ASM instance.

Required run privileges

The user who runs the Database Setup utility must have the following privileges:

Amazon RDS source or target

The user who runs the setup utility must be the primary user that was created when the Oracle RDS instance was created. You are prompted for this user during the setup.

Non-multitenant (standard) database:

The user who runs the setup utility must have DBA privileges.

Multitenant database:

The user who runs the setup utility should have SYSDBA privileges (recommended), but at minimum the user should be a DBA user with privileges for sys.users$ and sys.enc$.

The minimum following grants are required for the SharePlex user:

create user c##sp_admin identified by sp_admin;

grant dba to c##sp_admin container=ALL;

grant select on sys.user$ to c##sp_admin with grant option container=ALL;

Privileges granted to SharePlex

  • The Database Setup utility grants to the SharePlex database user the following privileges.

    Privilege granted

    Description

    DBA role

    The Database Setup utility grants DBA role and unlimited resource privileges, tablespace privileges, and read privileges to the redo logs.

    Default Oracle profile

    By default this profile has the unlimited resource privileges originally assigned by Oracle.

    Grants

    The following grants are issued to SharePlex:

    • To access the data dictionary (outside the DBA roles) if O7_DICTIONARY_ACCESSIBILITY is set to FALSE:

      grant select any dictionary toSharePlexUser;

    • To replicate DDL:

      grant select any table toSharePlexUserwith admin option;

      grant create any view toSharePlexUserwith admin option;

    Requirements

    • Install the database client on the system where you are running Oracle Setup. Consult the Oracle documentation for the appropriate client version to use with the database.
    • Run the Database Setup utility for all source and target Oracle instances in the SharePlex replication configuration.
    • For a consolidated replication topography, or other topology with multiple variable-data directories, run the Database Setup utility for each variable-data directory.
    • SharePlex supports local BEQUEATH connections or remote connections using a TNS alias. Be prepared to supply Oracle Setup the needed connection values for whichever connection you want to use. If using TNS, the tnsnames.ora file must be configured prior to running setup.

    • If the Oracle database is a multitenant container database, run the Database Setup utility for each pluggable database involved in a replication scenario. A SharePlex user and schema objects must exist in each PDB.
    • If you run the Database Setup utility when there is an active configuration, the DDL that the setup performs to install or update the SharePlex internal tables will be replicated to the target. To work around this issue, set the SP_OCT_REPLICATE_ALL_DDL parameter to 0 before running the utility, then return the parameter to its previous setting after the setup is complete. This parameter takes effect immediately.

    SharePlex schema storage requirements

    The Database Setup utility for Oracle installs some database objects for use by SharePlex. The storage requirements for these objects should be satisfied before running Oracle Setup. See the following table.

    Storage Description
    SharePlex objects tablespace

    The Database Setup utility installs some tables into a tablespace of your choosing. All but the SHAREPLEX_LOBMAP table use the default storage settings of the tablespace.

    The SHAREPLEX_LOBMAP table contains entries for LOBs stored out-of-row. It is created with a 1 MB INITIAL extent, 1 MB NEXT extent, and PCTINCREASE of 10. The MAXEXTENTS is 120, allowing the table to grow to 120 MB.

    Preferred action: If you enable supplemental logging for primary and unique keys, you can set the SP_OCT_ENABLE_LOBMAP parameter to 0, and nothing will be stored in the SHAREPLEX_LOBMAP table. In this case, you do not have to consider its size growth. It is recommended that you enable supplemental logging for primary and unique keys to maximize the performance of the Read process.

    Alternate action: The default storage usually is sufficient for SHAREPLEX_LOBMAP, permitting more than 4 million LOB entries. If the Oracle tables to be replicated have numerous LOB columns that are inserted or updated frequently, consider increasing the size the SharePlex tablespace accordingly. Take into account that this table shares the tablespace with other SharePlex tables.

    If the database uses the cost-based optimizer (CBO) and the tables that SharePlex processes include numerous LOBs, incorporate the SHAREPLEX_LOBMAP table into the analysis schedule.

    Note: A new installation of SharePlex does not change storage parameters from a previous installation.

    SharePlex temporary tablespace

    The Database Setup utility prompts for a temporary tablespace for SharePlex to use for sorts and other operations, including sorts performed by the compare commands. The default temporary tablespace is the one where the SharePlex objects are installed. If you plan to use the compare commands to compare large tables, especially those without a primary or unique key, specify a dedicated temporary tablespace for SharePlex.

    SharePlex index tablespace

    The Database Setup utility prompts for a tablespace to store the indexes for the SharePlex tables. The default index tablespace is the one where the SharePlex objects are installed. To minimize I/O contention, specify a different index tablespace from the one where the tables are installed.

    Note: If indexes from a previous version of SharePlex are installed in the SharePlex objects tablespace, you can move them to a different tablespace and then specify that tablespace when you run the setup utility.

    Run database setup for Oracle cloud-ExaCS and DBCS

    Perform the follwing steps to run database setup for Oracle cloud-ExaCS and DBCS:

    Important! The Oracle instance must be open before this procedure is performed.

    1. (Unix and Linux only) If you are using multiple variable-data directories, export the environment variable that points to the variable-data directory for the SharePlex instance for which you are running Database Setup.

      ksh shell:

      export SP_SYS_VARDIR=/full_path_of_variable-data_directory

      csh shell:

      setenv SP_SYS_VARDIR=/full_path_of_variable-data_directory

    2. Shut down any SharePlex processes that are running, including sp_cop.
    3. Run the Database Setup program from the command prompt of the operating system, using the full path from the SharePlex bin subdirectory.

    4. Specify whether the system is a source system, a target system, or both a source and target system in the SharePlex configuration.

      Note: This prompt only appears the first time that you run setup for this database.

    5. For connection type, select Oracle.
    6. Refer to the following table for the prompts and responses to configure SharePlex correctly for the desired connection type.

    Table 3: Setup prompts and response

    Prompt Response
    Will SharePlex install be using a BEQUEATH connection? (Entering 'n' implies a SQL*net connection):

    Press Y to use a local BEQUEATH connection, or press N to use a TNS alias connection.

    Note: Press N to use a TNS alias if:
    • the database is a multitenant database
    • SharePlex is capturing from, or posting to, a remote database, such as one on Amazon RDS.
    • the database is in a cluster (such as Oracle RAC)

    Are you configuring SharePlex for an AWS RDS database?

    Press N if you are not configuring SharePlex for an Oracle database on RDS.

    Press Y if you are configuring SharePlex for an Amazon AWS RDS database.

    One of the following prompts is shown:

    • If you selected BEQUEATH= Y:

      Enter the Oracle SID for which SharePlex should be installed:

    • If you selected BEQUEATH = N:

      Enter the TNS alias for which SharePlex should be installed:

    Non-multitenant database: Accept the default or type the correct SID or TNS alias.

    On RAC, the TNS alias must be a global alias.

    Multitenant database: Type the TNS alias of the PDB.

    Amazon RDS: Type the TNS alias of the RDS database.

    One of the following prompts is shown:

    • If the database is not on RDS:

      Enter a DBA user for SID:

    • If the database is on RDS:

      In order to create the SharePlex tables and user account, we must connect to the RDS database using the RDS primary user.

    Non-multitenant database: Type the name of a database user that has DBA privileges.

    Multitenant database: Type the name of a common user who has the required privileges to install the account and objects.

    Amazon RDS database: Type the name of the RDS primary user.

    One of the following prompts is shown:

    • If the database is not on RDS:

      Enter password for the DBA account, which will not echo:

    • If the database is on RDS:

      Enter the password for the RDS primary user, which will not echo.

    Non-multitenant database: Type the password of the DBA user.

    Multitenant database: Type the password of the common user. Omit the @ and the rest of the connect string. SharePlex constructs the connect string in the proper format.

    Amazon RDS database: Type the password of the RDS primary user.

     

    Current SharePlex user is user.

    Would you like to create a new SharePlex user?

    Press N to update an existing SharePlex account or Y to create a new SharePlex account. Type the credentials when prompted.

    You are allowed five attempts to type a valid password for an existing SharePlex user. Passwords are obfuscated.

    Important!If there is an active configuration and you changed the SharePlex schema, copy the SharePlex objects from the old schema to the new one to preserve the replication environment.

    Do you want to enable replication of tables with TDE?

    Press N since TDE is not supported for RDS.

    Enter the default tablespace for use by SharePlex:

    Press Enter to accept the default or type the name of a different tablespace.

    Enter the temporary tablespace for use by SharePlex:

    Press Enter to accept the default or type the name of a different tablespace.

    Enter the index tablespace for use by SharePlex:

    Press Enter to accept the default or type the name of a different tablespace.

    Will the current setup for sid: SID be used as a source (including cases as source for failover or primary-primary setups)?

     

    Press Y if this is a source system or press N if this is a target system.

    Important: All systems in a primary-primary configuration (peer-to-peer) and in a high-availability configuration are considered to be source systems due to the bidirectional nature of the replication.

    Notes:
    • The following prompts are only shown if the database is a source on ASM.
    • If this is an Oracle target, the setup is now complete.

     

    ASM detected. Do you wish to connect to ASM using BEQUEATH connection?

     

    Press Y for SharePlex to use a BEQUEATH connection to connect to the ASM instance, or press N to use a TNS alias.

    Important! If the database uses ASM and the database TNS alias is configured with a SCAN IP, then you must specify connection through an ASM TNS alias in order for SharePlex to connect to the ASM instance.

    The following prompt is displayed if you did not select a BEQUEATH connection:

    Do you wish to keep connecting using the same user/password?

     

    Press Y to use the same user and password as the login user, or press N to be prompted for a different user and password.

    Normally the user running SharePlex must be a member of the OSASM group. This does not apply if SP_OCT_OLOG_USE_OCI is set to the non-default value of 1.

    Also if you are using a BEQUEATH connection, the user running SharePlex must be a member of the OSDBA group.

    Notes:
    • If you selected to use a BEQUEATH connection to connect to ASM, the database setup is complete. Continue to Database Setup for Oracle Cloud-ExaCS and DBCS.

    • If you selected N, you need to supply a TNS alias, and the prompts continue.

    Enter the ASM tns alias to be used by SharePlex:

    Type the name of the TNS alias.

    Enter an ASM admin (has both sysdba and sysasm privilege) username for alias:

    Type the name of a user with sysasm and sysdba privileges to the ASM instance.

    Enter user password for user:

    Type the password of the user.

    SharePlex installs internal objects that include a package to support the SDO_GEOMETRY data type of the Oracle Spatial and Graph option. If this option is not installed in the database, the following prompt is shown:

    The SharePlex object that supports replication of SDO_GEOMETRY cannot be installed because the Oracle Spatial and Graph feature is not installed. Do you want to continue with the setup without support for SDO_GEOMETRY? [n]:

    Press Y to continue the database setup without support for SDO_GEOMETRY, or press N to terminate ora_setup.

     

    1. After completion of the Oracle setup, the ora_setup.config file will be generated inside <Installation_directory>/var/data.
    Note about the tnsnames file

    When you set up SharePlex for database connection through a TNS alias and ASM connection locally through a BEQUEATH connection (through OS authentication), it is important to set up the tnsnames.ora file correctly on each node. Assuming a SharePlex database account exists on the primary node, SharePlex will always connect to the primary ASM_SID automatically because it was provided when SharePlex was installed. However, upon failover, SharePlex must query the local v$asm_client view to get the correct ASM_SID of the failover instance. Therefore, ensure that the IP address of a given node is always listed first in the local tnsnames.ora file on that node.

  • 관련 문서

    The document was helpful.

    평가 결과 선택

    I easily found the information I needed.

    평가 결과 선택