Description
Use the snowflake_cleansp utility to remove the current replication state on a system where SharePlex is replicating to a Snowflake target.
Caution: The effects of snowflake_cleansp are not reversible.
Usage guidelines
- To use this utility, the Korn (ksh) shell must be installed on the system. The utility calls this shell during processing.
- snowflake_cleansp must be run on all Snowflake target systems in the replication configuration.
- To fully remove the replication environment, run the snowflake_cleansp utility on all Snowflake target systems in the replication configuration. To verify if and when snowflake_cleansp was run on a system, view the SharePlex event log on that system.
What this utility does
snowflake_cleansp does the following on the target system:
- Truncates all the SharePlex Client internal tables in the SharePlex schema and any other SharePlex-installed tables as applicable.
- Removes the following from the variable-data directory: the queue files, the process log files, the statusdb file, the contents of the dump and state directories, and all but one entry in the event log (the status entry for snowflake_cleansp)
snowflake_cleansp preserves the following:
- The SharePlex database, account, and password, and only cleans the data in the SharePlex internal tables.
- User-created files such as the paramdb and the target configuration settings
To run the snowflake_cleansp utility on Snowflake target:
- Stop all SharePlex processes on the system.
- Shut down sp_cop.
-
Run the snowflake_cleansp utility from the bin sub-directory of the SharePlex product directory with the following syntax:
<installationDirectiory\ProductDirectory>/binsnowflake_cleansp [portnumber ] database_name/ schema name / user_name
where:
-
Enter the password at the prompt.
Enter the password for the SharePlex User :
Note: This option will not be displayed for the RSA based user.
-
Type Y to confirm that you want to run cleanup for this SharePlex instance.
Are you sure you want to perform the clean for '/splex/vardir/var2' and port 2200? [N] :Y
A successful setup terminates with a message similar to the following:
Clean port 5626
Cleaning /splex/aparopka/sf_datatypes/var subdirectories
DEMO_SCHEMA_20.SHAREPLEX_OPEN_TRANS table truncated.
SharePlex License Utilities
Description
Use the SharePlex license utilities to view, add, and remove license keys to hosts in the SharePlex replication environment. Each installation of SharePlex requires a valid license key.
There are three types of SharePlex license keys for each supported platforms:
-
Trial license keys
- Perpetual License keys (Permanent)
- Term license keys
Following is the list of supported platforms for which licenses are available:
-
Oracle
-
File
-
JMS
-
Kafka
-
SQL Server
-
PostgreSQL
-
MySQL
-
Snowflake
-
MariaDB
-
Event Hubs
-
All Platforms
Note: To install a trial version of SharePlex, users need to select the All Platforms option when prompted during installation of SharePlex or while running the splex_add_key utility.
SharePlex licensing information can be found in the Quest Software Product Guide. Please contact your account manager if you have questions.
If you do not have a valid license key, you may obtain one from Quest Technical Support or your Quest sales representative for the required platform from the above list of supported platforms. Use the appropriate procedure in this documentation to obtain the necessary information to support your license request.
splex utility
This utility can be used on the Linux, Unix, and Windows platforms to:
Add a license key
Use the splex_add_key utility to add a license key to a machine during the installation of SharePlex or afterward to convert from one type of license to another.
You can use the splex_add_key utility as follows:
- You can use splex_add_key on the primary node of a cluster to install licenses for all secondary nodes in the cluster, because they all share one variable-data directory.
- You cannot use splex_add_key to add licenses for non-clustered machines from one machine. It must be run on each non-clustered replication system so that the license information is stored in the variable-data directory on each system.
To run splex_add_key:
- Log on to the system as the SharePlex Administrator.
- Run sp_ctrl on the machine where you want to install a license key.
-
If SharePlex is running, shut it down.
sp_ctrl> shutdown
-
Run splex_add_key from the install sub-directory of the SharePlex product directory.
$ /proddir/install/splex_add_key
-
Choose a platform to add/update license key:
SharePlex License Utility
1) Oracle
2) File
3) JMS
4) Kafka
5) SQL Server
6) Postgres
7) MySQL
8) Snowflake
9) MariaDB
10) Event Hubs
11) All Platforms
q) Quit License Utility
Enter option:
Note: To install a trial version of SharePlex, users need to select the All Platforms option.
-
Enter the appropriate number from the above list to choose the platform.
-
Enter the key manually as received from Quest. Press Enter when finished entering the key.
- Enter q to exit the utility.
- Start SharePlex when you are ready for replication to resume.
View a license key
Use the splex_get_key utility to view the SharePlex license key related details. Run this utility from the install sub-directory of the SharePlex product directory.
$ /proddir/install/splex_get_key
The information is similar to the following example:
$ /splex/proddir/install/splex_get_key
Platform = All
Product Name = SharePlex
Product Version = 11
License Number = 123-456-789
License Key Type = Trial
License Expiry = Midnight of Jan 01, 2050
License Key = lxxjLny9CqMCqdPZKZGRXIjnz7vpbTPQANliJi7PXJ7+Q8=
Remove a license key
Use the splex_remove_key utility to remove already installed SharePlex license key for a particular platform. If no license key is installed on the machine, it will display the "No license installed" message.
To run splex_remove_key:
- Log on to the system as the SharePlex Administrator.
-
Run splex_remove_key from the install sub-directory of the SharePlex product directory to remove a license key. Remove key will display a list of previously added licence keys.
$ /proddir/install/splex_remove_key
-
Choose the appropriate platform to remove a license key:
SharePlex License Utility
1) Oracle
2) Postgres
q) Quit License Utility
Enter option: 1
A successful removal of the license terminates with a message similar to the following:
The SharePlex for Oracle license has been successfully removed.
spUtil utility
This utility can be used only on the Windows platform to:
Add a license key
Users can add a license key using the following steps.
To add a key:
- Log on to the system as the SharePlex Administrator.
-
Right-click the spUtils shortcut from the desktop and select Run as administrator.
The SharePlex Utilities window appears.
-
Navigate to the License Key tab.
-
Choose a platform from the Platform dropdown to add a license key.
-
Click Add License.
-
Enter the key provided by the licensing team in the Enter Oracle <platform name> key field and click OK.
A successful addition of the license key terminates with a message similar to the following:
The SharePlex license has been successfully added.
View the license details
Users can view the license details using the following steps.
To view a license details:
- Log on to the system as the SharePlex Administrator.
-
Right-click the spUtils shortcut from the desktop and select Run as administrator.
The SharePlex Utilities window appears.
-
Navigate to the License Key tab.
-
Choose a platform from the Platform dropdown to add a license key.
-
If the license for the chosen platform is not installed, the License Status section displays the message No license installed.
-
If a license is already installed, the License Status section will show the license details as follows. For example:
Platform = All
Product Name = SharePlex
Product Version = 11
License Number = 123-456-789
License Key Type = Trial
License Expiry = Midnight of Jan 01, 2050
Remove a license key
Users can add a license key using the following steps. If no license key is installed on the machine, it will display the "No license installed" message.
To run splex_remove_key:
-
Log on to the system as the SharePlex Administrator.
-
Right-click the spUtils shortcut from the desktop and select Run as administrator.
The SharePlex Utilities window appears.
-
Navigate to the License Key tab.
-
To remove a license for any platform, click Remove License.
-
In the Select Platform to remove license window, select the relevant platform from the drop-down and click OK.
A successful removal of the license key terminates with a message similar to the following:
The SharePlex for Oracle <platform name> license has been successfully removed.
Description
Use the provision utility to change a host name or IP address in the SharePlex configuration.
The SharePlex processes rely on the host names or IP addresses of the source and target machines to route data properly. The provision utility enables you to change host names or IP addresses within an active SharePlex instance, without reactivating a new configuration.
Note: The provision utility does not change anything in the database. It only affects SharePlex internal objects.
Supported databases
All databases supported by SharePlex on all supported platforms
Guidelines for using provision
-
If running SharePlex on an AIX machine, set EXTSHM before running provision.
export EXTSHM=ON
-
Run provision on all of the machines in the SharePlex configuration. Each machine can reference the IP addresses of all the other machines.
Run provision
- Stop sp_cop. If sp_cop is running, provision will fail.
Note: provision prevents sp_cop from being started while it is running.
-
Using the command line of the operating system, run provision from the SharePlex util sub-directory of productdir with the following syntax:
provision -f old_name[:old_ipaddress] -t new_name[:new_ipaddress] [-p port] [-n]
provision -h <new hostid> [-p <port>] -n
provision -i [-p <port>]
-f old_hostname[:old_ipaddress] |
- -f is required and represents "from."
- old_hostname is the old (current) host name.
- old_IPaddress is the old IP address. Use if the IP address cannot be obtained from the network.
|
-t new_hostname[:new_ipaddress] |
- -t is required and represents "to."
- new_hostname is the new host name.
- new_IPaddress is the new IP address. Use if the IP address cannot be obtained from the network.
|
-p port |
For Windows systems, specifies the port of the SharePlex instance for which provision is being run.
(You can run the "-p"port provision only on the Windows system.) |
-n |
Runs provision without actually making any changes. Generates a report on the changes that provision will make.
Important! The best practice is to run provision with -n first, to make certain you agree with the potential changes, then run it without -n to make the changes. |
-hnew_hostID |
- -h is required and represents changing host ID or replacing host ID
- new_hostid is the new IP address
|
-i |
-i is required and represents host information |
Example:
provision -h newid -n
provision -i
provision -f oldname -t newname -n
- View the event log to view every change that was made. If the provision run fails or you do not agree with the changes that were made, you can undo them by running the undo_provision script. See Undo changes made by provision .
Undo changes made by provision
The provision utility creates an undo_provision script that can be used to restore the host names and IP addresses to their previous state. Run the undo_provision script from the util subdirectory of the SharePlex product directory. There are no input arguments to this script.
Known issues
The following may occur but do not affect the integrity of the replication environment:
- The provision utility does not change the active configuration file. This means that the configuration file no longer represents the current state of replication after provision is run. If you need to run the compare config command, or if you decide to reactivate the configuration, update the host name or IP address in the configuration file first.
- If an Export or Import error occurred when SharePlex connected to a machine before the name or address was changed, the error status persists and cannot be cleared.
- If the new or changed machine is a source machine, provision generates new routing information, but the Read process may still have the old routing in its cache. When you start sp_cop, Read might generate a warning that the stored IP address does not match the one for the machine. You can ignore this error.
- After provision is run for a source host, it might not update the "hostname" column in SHAREPLEX_ACTID table with the new host name details. If that column is not correctly updated, you must update the SHAREPLEX_ACTID table manually to specify the new host name. This is only required if the name change affected a source machine.
Description
Through the qview utility, you can view queue names and remove old queue files. The qview tools described here do not deactivate the configuration.
IMPORTANT!Do not use qview for the first time without the assistance of Quest Technical Support. If this utility is not used properly, it can damage the replication environment and require resynchronization and reactivation.
Supported databases
All SharePlex-supported databases on all supported platforms
Run qview
Log on to the system as a SharePlex Administrator, and use the command line of the operating system to run qview from the bin sub-directory of the SharePlex product directory. The utility is an interactive command session.
To run qview on the Windows platform, log onto the system as a member of the Administrators group. Run qview from a command prompt or powershell which was run by right clicking on its icon and selecting run as administrator.
On Windows, run qview with the -p option to specify the port number of the SharePlex instance for which you want to view queues.
qview-pportlist
Overview of qview commands
The qview utility provides the following commands:
list |
Lists all queues for all active configurations on a system. |
trim |
Clean up obsolete subqueue files. |
fullrb |
Create a full rollback message. |
otrans |
Scans for a specified number of messages in the Capture queue. |
List queues
Use the list command to list all queues for all active configurations on a system.
Description
The qview list command lists each queue, the replication process that writes to it, and the replication process that reads it. For example, for the capture queue, it lists the Capture process and the Read process. The queues are designated as follows:
- A capture queue is designated with a +C.
- An export queue is designated with a +X.
- A post queue is designated with a +P.
Example output:
In this example, the writer to the capture queue o.ora11+C is the Capture process, as indicated by the sp_ocap in its name string. The reader is the Read process, as indicated by the sp_ord in its name string. The same naming logic applies to the other queues shown in the output (export queue expdsg+X and post queue expdsg+P).
The following queues exist:
o.ora11+C
WRITER +PA+o.ora11+sp_ocap+o.ora11
READER +PR+o.ora11+sp_ordr+o.ora11
elliot+X
WRITER +PR+o.ora11+sp_ordr+o.ora11
READER +PX+elliot+sp_xport+0x0a01014e (11.1.1.78)
elliot+P+o.ora11-o.ora11
subqueues range from 2 to 6
WRITER +PI+elliot+sp_mport+0x0a01014e (11.1.1.78)
READER +PP+elliot+sp_opst_mt+o.ora11-o.ora11
Syntax
list
Trim obsolete subqueues
Use the trim command to clean up obsolete subqueue files on the source system.
Description
The SharePlex post queue actually consists of a number of subqueues, each approximately corresponding to a user session on the source system. The Post process uses the subqueues to establish Oracle sessions for the target instance. The number of subqueues that exist at a given time on a target system reflects the peak activity on the source system since replication started.
SharePlex routinely writes replicated data from the subqueues to associated datafiles on disk as part of its checkpoint recovery system. Each subqueue can have one or more datafiles associated with it, each with a default size of 8 MB. If the entire 8 MB file size is not consumed, a datafile remains on the system even though the data was posted and read/released. Consequently, the higher the activity level on the source system, the more datafiles on disk. The size in megabytes (MB) for the post queue in a qstatus display is the actual disk space that the datafiles occupy.
For example, suppose there were 100 concurrent sessions on the source system, creating 100 subqueues in the post queue on the target system. And, suppose the datafiles were only partially full when the activity level dropped—half full, for example, or 4 MB of 8 MB used—and thus were not deleted. The post queue on that system would consist of 100 datafiles at 4 MB each, totalling 400 MB of disk space.
Using the trim command in qview, you can routinely eliminate obsolete subqueue files that were read-released, while preserving the ones containing data not yet committed to the target database. The trim command does not eliminate queue files for subqueues 0 or 1, because those are the most heavily used subqueues.
How to run this command
Run this command on the target system only.
Stop Import and Post before running qview to issue this command. You can leave sp_cop running.
Note: If one or both of those processes is not stopped, qview returns this error message: que_INUSE: Que is already open.
You can only trim one queue at a time. If there are more than one post queue, you are prompted to select the one you want the command to affect:
Queue zac+P+o.ora920-o.ora920 (y/n) <n>? n
Queue elliot+P+o.ora920-o.ora920 (y/n) <n>? y
Note: If you do not select a queue, qview returns this error message: que_NOEXIST: Queue does not exist.
Syntax
trim
Execute a full rollback
Use the otrans and fullrb commands to create a full rollback message.
Description
Use the otrans command to scan a specified number of messages in the Capture queue, starting at the read release point. The qview utility then prints the transaction id, the number of operations (records), the DML type operation (if there is only one) and the object id modified (if there is only one).
Use the transaction id obtained from otrans to execute fullrb. The qview utility opens the Capture queue, writes an out-of-band full rollback message to the Capture queue, and then writes a commit.
How to run this command
Perform the follwing steps to to run Qview:
- Stop Capture.
- Run qview.
-
Issue the otrans command.
vqiew> otrans 500000
The output is similar to the following:
Full rollback 8(7).752562-3(139) --- 99999 Update operations on object id 466857
Open transaction 8(23).752700-2(14162) --- 2001 Update operations (1000 backward operations)
on object id 466857
-
Issue the fullrb command using the transaction ID from the otrans output.
vqiew> fullrb 8(7).752562-3(139)
The output is similar to the following:
Current queue o.ora920+C user +PA+o.ora920+sp_ocap+o.ora920
Full rollback record written to capture queue at 378744, id 1102
odr_magic 0x4f445235
odr_op ODR_FULL_ROLLBACK (50)
odr_trans 8(7).752562-3(139)
odr_time 01/01/88 00:00:00 (0)
-
Start Capture.
sp_ctrl> start capture
Syntax
otrans number
where: number is the number of messages to scan in the queue.
fullrb transaction_ID
where: transaction_ID is the transaction ID that was returned from otrans.