Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

TNS Entry in tnsnames.ora

 

Code Block
languagetext
AWSDBRDSTGT =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = awsdb.cu1f3524nvj.us-east-1.rds.amazonaws.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = awsdbRDSTGT)
    )
  )

 

Testing Connection

 

...

Code Block
languagetext
sqlplus /nolog


SQL*Plus: Release 10.2.0.4.0 - Production on Mon Sep 30 12:11:14 2013


Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.


SQL> connect dbvadmin@awsdbdbvadmin@RDSTGT
Enter password:
Connected.



...

In this example we created an AWS EC2   “dbvrds02” will  that  will be configured to perform the APPLY related tasks inside the AWS environment.  In an ideal configuration this instance should be in the same region and availability zone as the RDS database environment.  Also ensure there is sufficient resources on this system.

...

Code Block
languagetext
root@akl:[/root] # rpm -ivh dbvisit_replicate-2.56.08-1.x86_64.rpm
Preparing...                ########################################### [100%]
   1:dbvisit_replicate      ########################################### [100%]

...

Code Block
languagetext
[oracle@dbvrds01 ~]$ dbvrep
Initializing......done
Dbvisit Replicate version 2.56.08.3341
Copyright (C) Dbvisit Software Limited.  All rights reserved.
No DDC file loaded.
Run "setup wizard" to start the configuration wizard or try "help" to see all commands available.

...

Code Block
languagetext
dbvrep> setup wizard
This wizard configures Dbvisit Replicate to start a replication process.


The setup wizard creates configuration
scripts, which need to be run after the wizard ends. No changes to the
databases are made before that.


The progress is saved every time a list of databases, replications, etc. is shown. It will be re-read if
wizard is restarted and the same DDC name and script path is selected.

Run the wizard now? [yes]

Accept end-user license agreement? (view/yes/no) [view] yes


Before starting the actual configuration, some basic information is needed. The DDC name and script path
determines where all files created by the wizard go (and where to reread them
if wizard is rerun) and the license key determines which options are available for this configuration.

(DDC_NAME) - Please enter a name for this replication (suggestion: use the name of the source database): [] RDSPOCTEST_RDS

(LICENSE_KEY) - Please enter your license key (or just enter "(trial)"): [(trial)]

Which Replicate edition do you want to trial (LTD/XTD/MAX): [MAX]

(SETUP_SCRIPT_PATH) - Please enter a directory for location of configuration scripts on this machine: [/home/oracle/RDSPOCTEST_RDS]


Network configuration files were detected on this system in these locations:
/u01/app/oracle/product/11.2.0/xedb_1/network/admin
/u01/app/oracle/product/10.2.0/db_1/network/admin
/u01/app/oracle/product/11.2.0/db_1/network/admin
(TNS_ADMIN) - Please enter TNS configuration directory for this machine:
[/u01/app/oracle/product/11.2.0/xedb_1/network/admin]


Step 1 - Describe databases
========================================

The first step is to describe databases used in the replication. There are usually two of them (source and target);.
however,
there can be just one (when
source and target is the same) or more than two (one-to-many or other complex configurations.)
Store Store SYSDBA and DBA passwords? Passwords only required during setup and initialization? (yes/no) [yes]

Let's configure the database, describing it's type, connectivity, user names etc.

What type of database is this?
(Oracle/MySQL/SQL Server/Oracle AWS RDS/CSV/Hadoop): [Oracle]

Please enter database TNS alias: [] SOURCEDB
XE
Please enter SYSDBA user name: [SYS]

Please enter password for this user: [change_on_install] <<- Test system is using default passwords
******

Please enter user with DBA role: [SYSTEM]

Please enter password for this user: [manager] ******

Connecting to database
XESOURCEDB as SYSTEM to query list of tablespaces and to detect ASM (by looking
whether any redo logs or archived logs are stored in ASM).

Enter the Dbvisit Replicate owner and apply user (this user will be created by this script): [dbvrep]

Please enter password for this user: [dbvpasswd]


Permanent tablespaces detected on the database: DATA, USERS.

Please enter default permanent tablespace for this user: [DATAUSERS] USERS


Temporary tablespaces detected on the database: TEMP.

Please enter default temporary tablespace for this user: [TEMP]


Following databases are now configured:
1: Oracle XESOURCEDB, SYS/***, SYSTEM/***, dbvrep/***, USERS/TEMP, dbvrep/, ASM:NO, TZ: +00:00

Enter the number of the database to modify it, or "add", or "done": [add]

Let's configure the database, describing it's type, connectivity, user names etc.

What type of database is this? (Oracle/MySQL/SQL Server/Oracle AWS RDS/CSV/Hadoop): [Oracle] Oracle AWS RDS
Please enter database TNS alias: [] AWSDBRDSTGT
Please
enter SYSDBA user name: [SYS] dbvadmin  <<- Specify AWS RDS instance DBA user Account [] rds_admin

Please enter password for this user: [change_on_install] ***********
Please
enterConnecting userto withdatabase DBARDSTGT role: [SYSTEM] dbvadmin <<- Specify AWS RDS instance DBA user Account
Please enter password for this user: [manager] ********


Connecting to database AWSDB as dbvadmin to query list of tablespaces and to detect ASM (by looking whether any redo logs or archived as rds_admin to query list of tablespaces and to detect ASM (by looking whether
any redo logs or archived logs are stored in ASM).

Enter the Dbvisit Replicate owner and apply user (this user will be created by this script): [dbvrep]
Please enter password for this user: [dbvpasswd]


Permanent tablespaces detected on the database: DATA, RDSADMIN, USERS.
Please enter default permanent tablespace for this user: [DATARDSADMIN] USERS


Temporary tablespaces detected on the database: TEMP.
Please enter default temporary tablespace for this user: [TEMP]


Following databases are now configured:

1: Oracle XESOURCEDB, SYS/***,
SYSTEM/***, dbvrep/***, USERS/TEMP, dbvrep/, ASM:NO, TZ: +00:00
2: Oracle AWS RDS AWSDBRDSTGT, dbvadminrds_admin/***, dbvadminrds_admin/***, dbvrep/***, USERS/TEMP, dbvrep/, ASM:NO, TZ: +00:00

Enter the number of the database to modify it, or "add", or "done": [done]


Step 2 - Replication pairs
========================================
The second step is to set source and targets for each replication pair.
This
is usually just choosing Let's configure the firstreplication databasepair, asselecting source and the second one as
target, but many more configurations are possible.
Let's configure the replication pair, selecting source and target.
target.
Following databases are described:
1: XESOURCEDB (Oracle)
2: AWSDBRDSTGT (Oracle AWS RDS)
Select source database: [1]
Select target database: [2]

Will be DDL replication enabled? (If YES, the script will grant more privileges to the Dbvisit Replicate users and enable database-wide supplemental        logging): [yes]

Use fetcher to offload the mining to a different server? (yes/no) [no]
NO
(NETWORK_QUALITY) - Please specify your network type (LAN or WAN). Autoconfigures timeouts, use of compression etc. [LAN] WAN
Lock and copy the data initially one-by-one or at a single SCN? (one-by-one/single-scn/ddl-only/resetlogs) [single-scn] single-scn
What data copy script to create?Would you like to encrypt the data across the network (yes or no) [no]

Would you like to compress the data across the network (yes or no) [no]

How long do you want to set the network timeouts. Recommended range between 60-300 seconds [60]

Lock and copy the data initially one-by-one or at a single SCN?
one-by-one : Lock tables one by one and capture SCN
single-scn : One SCN for all tables
ddl-only   : Only DDL script for target objects
resetlogs  : Use SCN from last resetlogs operation
(standby activation, rman incomplete recovery)                                                        
(one-by-one/single-scn/ddl-only/resetlogs) [single-scn]

What data instantiation script to create?

dp_networklink : Data Pump with network link. No export datafile is created (APPLY.sh)
dp_exp         : Data Pump with export datafile. Creates an export datafile (APPLY.sh)
exp            : Pre-datapump exp/imp with export datafile (APPLY.sh)
ddl_file       : DDL file created (APPLY.sql)
ddl_run        : DDL is automatically executed on target
load           : All replicated data is created and loaded automatically
none                                                                                                                                                                                      
(dp_networklink/dp_exp/exp/ddl_file/ddl_run/load/none) [dp_networklink]
dp_networklink


Following replication pairs are now configured:
1: XESOURCEDB (Oracle) ==> AWSDBRDSTGT (Oracle AWS RDS), DDL: yes, fetcher: NOno, process suffix: (no suffix),
compression: no, encryption: no, network timeout: WAN60, prepare type: single-scn, data loaddataload: dp_networklink

Enter number of replication pair to modify it, or "add", or "done": [done]
Following replication pairs are now configured:


Step 3 - Replicated tables
========================================
The third step is to choose the schemas and tables to be replicated. If the databases are reachable, the tables are checked for existence, datatype
support, etc., schemas are queried for tables. Note that all messages are merely hints/warnings and may be ignored if issues are rectified before the
scripts are actually executed.


Note the following assumptions are made in this wizard – which can be modified by editing the resulting script:
1. All replicated tables have a primary key defined.
2. All columns of the tables and all tables of the specified schemas are replicated, and if DDL support is enabled, whenever a new column/table is added,
this should be replicate as well.
3. If an apply conflict arises, the default option is to try again repeatedly, until a different option is given or the underlying issue is resolved.
4. If an apply conflict arises, no more data will be replicated until the issue is resolved or ignored.


You can also specify some advanced options:
1. Rename schemas or tables.
2. Specify filtering conditions.
3. (Tables only) Configure Change Data Capture; this does not maintain a copy of the source table, but logs all operations as separate entries. This is
useful for ETL or as an audit trail. This usually requires adding of new columns (timestamps, old/new values etc.) to the target table. Dbvisit Replicate
can create the target table with the additional columns during setup by selecting "ddl_run" in the data copy section of Step 2.


Following tables are defined for replication pairs:
1: XE (Oracle) ==> AWSDB (Oracle), DDL: yes, suffix: (no suffix), prepare: single-scn
  No tables defined.
Enter number of replication pair to modify it, or "done": [1]


Please enter list of all individual tables to be replicated. Enter schema name(s) only to replicate all tables in that schema. Use comma or space to
delimit the entries.
Enter the tables and schemas: [] OE
Selected schemas: OE
Add more tables or schemas? (YES/NO) [NO] NO


To replicate changes of PL/SQL objects in schema(s), please enter the schemas to be replicated. Note that specifying any entry will cause additional
privileges to be granted to dbvrep. Enter through a comma or space-delimited list.
Enter the list of schemas (PL/SQL): []
Specify rename name or filter condition for any of the specified schemas (YES/NO): [no]


Following tables are defined for replication pairs:
1: XE (Oracle) ==> AWSDB (Oracle), DDL: yes, suffix: (no suffix), prepare: single-scn
  OE(tables)
Enter number of replication pair to modify it, or "done": [done]


Step 4 - Process configuration
========================================
The fourth step is to configure the replication processes for each replication. Although most options have reasonable defaults, manual input is required.


Following processes are defined:
1: MINE on XE
  Not configured.
2: APPLY on AWSDB
  Not configured.
Enter number of process to modify it, or "done": [1]
Fully qualified name of the server for the process (usually co-located with the database, unless mine is offloaded using fetcher): [dbvrds01]
Server type (Windows/Linux/Unix): [Linux]
Enable email notifications about problems (yes/no)? [YES] NO
Enable SNMP traps/notifications about problems (yes/no)? [NO] NO
Directory with DDC file and default where to create log files etc. (recommended: same as global setting, if possible)? [/home/oracle/RDSPOC]


Following settings were pre-filled with defaults or your reloaded settings:
----------------------------------------
[MINE_REMOTE_INTERFACE]: Network remote interface: dbvrds01:7901
[MINE_DATABASE]: Database TNS: XE
[TNS_ADMIN]: tnsnames.ora path: /u01/app/oracle/product/11.2.0/xe/network/admin
[MINE_USER]: Dbvisit Replicate database username: dbvrep
[MINE_PASSWORD]: Dbvisit Replicate database password: *********
[MINE_PLOG]: Filemask for generated plogs: /home/oracle/RDSPOC/mine/%S.%E (%S is sequence, %T thread, %F original filename (stripped extension), %P process
type, %N process name, %E default extension)
[LOG_FILE]: General log file: /home/oracle/RDSPOC/log/dbvrep_%N_%D.%E
[LOG_FILE_TRACE]: Error traces: /home/oracle/RDSPOC/log/trace/dbvrep_%N_%D_%I_%U.%E


Checking that these settings are valid...
Do you want change any of the settings? [no]


Following processes are defined:
1: MINE on XE
  Host: dbvrds01, SMTP: NO, SNMP: NO
2: APPLY on AWSDB
  Not configured.
Enter number of process to modify it, or "done": [2]
<usually co-located with the database, unless mine is offloaded using fetcher): [ip-10-143-181-189] dbvrds02
Server type (Windows/Linux/Unix): [Linux]
Enable email notifications about problems (yes/no)? [YES] NO
Enable SNMP traps/notifications about problems (yes/no)? [NO] NO
Directory with DDC file and default where to create log files etc. (recommended: same as global setting, if possible)? [/home/oracle/RDSPOC]


Following settings were pre-filled with defaults or your reloaded settings:
----------------------------------------
[APPLY_REMOTE_INTERFACE]: Network remote interface: dbvrds02:7902
[APPLY_DATABASE]: Database TNS: AWSDB
[TNS_ADMIN]: tnsnames.ora path: /u01/app/oracle/product/11.2.0/xe/network/admin
[APPLY_USER]: Dbvisit Replicate database username: dbvrep
[APPLY_PASSWORD]: Dbvisit Replicate database password: *********
[APPLY_STAGING_DIR]: Directory for received plogs: /home/oracle/RDSPOC/apply
[LOG_FILE]: General log file: /home/oracle/RDSPOC/log/dbvrep_%N_%D.%E
[LOG_FILE_TRACE]: Error traces: /home/oracle/RDSPOC/log/trace/dbvrep_%N_%D_%I_%U.%E


Checking that these settings are valid...
Do you want change any of the settings? [no]


Following processes are defined:
1: MINE on XE
  Host: dbvrds01, SMTP: NO, SNMP: NO
2: APPLY on AWSDB
  Host: dbvrds02, SMTP: NO, SNMP: NO
Enter number of process to modify it, or "done": [done]
Created file /home/oracle/RDSPOC/RDSPOC-APPLY.ddc.
Created file /home/oracle/RDSPOC/RDSPOC-MINE.ddc.
Created file /home/oracle/RDSPOC/config/RDSPOC-setup.dbvrep.
Created file /home/oracle/RDSPOC/config/RDSPOC-dbsetup_XE.sql.
Created file /home/oracle/RDSPOC/config/RDSPOC-dbsetup_AWSDB.sql.
Created file /home/oracle/RDSPOC/config/RDSPOC-grants_XE.sql.
Created file /home/oracle/RDSPOC/config/RDSPOC-grants_AWSDB.sql.
Created file /home/oracle/RDSPOC/config/RDSPOC-onetime.ddc.
Created file /home/oracle/RDSPOC/start-console.sh.
Created file /home/oracle/RDSPOC/RDSPOC-run-dbvrds01.sh.
Created file /home/oracle/RDSPOC/RDSPOC-run-dbvrds02.sh.
Created file /home/oracle/RDSPOC/Nextsteps.txt.
Created file /home/oracle/RDSPOC/RDSPOC-all.sh.
==========================================================================================================================================================


Dbvisit Replicate wizard completed


Script /home/oracle/RDSPOC/RDSPOC-all.sh created. This runs all the above created scripts. Please exit out of dbvrep, review and run script as current user
to setup and start Dbvisit Replicate.
==========================================================================================================================================================
Optionally, the script can be invoked now by this wizard.
Run this script now? (yes/no) [NO] NO
dbvrep> exit


...

The next step is to generate some load on the XE database using swingbench.  This can be done using the generate_load script.  To see the status of the replicate you can open a second terminal and open the replicate console with “start-console.sh”.    Example:Image Removed

While the above is running you can open the Dbvisit Replicate console and you can see the progress of the replication:

...