Multi-Master Replication Conflict Avoidance and Resolution
|
|
|
- Asher Barker
- 9 years ago
- Views:
Transcription
1 Multi-Master Replication Conflict Avoidance and Resolution By John Garmany and Robert Freeman (not pictured) T he following is the final chapter from Oracle Replication, by John Garmany and Robert Freeman, published by Rampant TechPress. Introduction Congratulations if you have gotten this far and your tables are happily replicating data back and forth. But you are not quite finished yet. If you are using advanced replication, you need to take steps to avoid data conflicts and implement conflict resolution. No matter how well you planned your replication environment, there are many ways that conflicts with table keys can show up. Any time data is loaded or changed outside the replication environment, such as offline instantiation or data loading, you run the risk of creating key conflicts. Before placing a replication environment into production, you must implement conflict resolution to protect data integrity. In this chapter, we are going to discuss what conflicts are, how to avoid them, and how to implement an automated way to resolve them. Finally, we will discuss how to determine when your data is out of synchronization between two tables, as well as the methods to resynchronize them. What are Conflicts? The function of a primary key on a single table is easy to understand. The primary key can be used to uniquely identify every row in the table. If you try to insert a row into a table with a primary key and that key already exists in the table, Oracle will reject the new row. In the PUBS database, authors are listed in the author table that contains an author key called auth_key. This key uniquely identifies each author. This is how you differentiate authors with the same name, like Robert Smith. Oracle s replication uses this primary key to identify unique rows at all sites containing that table. What about tables without primary keys? All tables in the replication environment contain a key that replication uses to uniquely identify rows across the separate master sites. Remember, when you created the master group at the master definition site, all tables that did not have a primary key had to have a column or columns identified that uniquely identified rows. Using the SET COLUMNS procedure, you created a key for Oracle to use in replication. Conflicts happen when data is propagated that violates the key. To greatly increase the efficiency of replication, Oracle propagates transactions on a schedule. All sites that allow updates, such as updatable Mviews and master sites, will insure that the keys used for replication are not violated. When a row is inserted into a table, the local key is checked, and if the data violates the key, the insert is refused. If the data does not violate the key, it is inserted into the table and the change passes to the deferred transaction queue. During a push, the data is propagated to other master site deferred transaction queues where the receiver applies them. If the receiver detects that the data violates the key on the local site, it will refuse the transaction and place it in the deferred error queue. This is an example of a conflict. The data is applied at one master site but cannot be applied at another site. At this point, the replicated tables no longer contain the same data. Key conflicts are just one possible type of replication conflict. When a receiver applies a transaction from the deferred transaction queue, it checks the before image to insure that the table data is still the same. What happens when one row of data is updated at two remote sites at the same time? The first update propagates normally and is applied, the second update follows and, because it expects the before image to be the original data, it fails to be applied. The before image is changed by the first update. This is called an update conflict. A delete conflict is similar; one site updates a row while another site deletes the row. If the update propagates first, the delete fails because the before image does not match. If the delete propagates first, the row no longer exists when the update is applied. As you can see, getting your replication environment to function is just the beginning. To keep it operating, you need to plan for conflict avoidance and apply a method of conflict resolution. Conflict Avoidance Conflict avoidance is the first step to insure transactions don t end up in the deferred error queues. In planning the replication environment, you must insure that each master site has the ability to generate unique keys. In the last chapter, we discussed two common methods to generate unique keys: assigning blocks of numbers via sequences and attaching a site prefix to a sequence number. Assigning Blocks of Numbers Via Sequences If a sequence is used to establish a primary key, you can assign each site a block of numbers to be used for generating a primary key. This is accomplished by setting the sequence at each site to start at a different number. continued on page 10 4th Qtr 2004 Page 9
2 Multi-Master Replication Conflict Avoidance and Resolution continued from page 9 connect [email protected] create sequence pubs.seq_pk_author increment by 1 start with 1 maxvalue minvalue 1 nocycle cache 10; connect [email protected] create sequence pubs.seq_pk_author increment by 1 start with maxvalue minvalue 1 nocycle cache 10; connect [email protected] create sequence pubs.seq_pk_author increment by 1 start with maxvalue 1.0E28 minvalue 1 nocycle cache 10; The code above establishes a sequence at three master sites that start at 100,000,000 intervals. With a max value for a sequence equal to 1.0E28, you have a very large pool to divide between the master sites. There are two key points to remember. First, set up an automated check of the sequences to warn you if any site begins to approach maxvalue. Second, don t forget the future possibility of adding additional master sites. If you divide the available number equally between all master sites, adding one master site cuts the available number for one site in half to make room for the new site. This issue alone makes this method of generating unique keys less scalable. Remember Assigning a Prefix Based on Site A more flexible (and scalable) approach is to have all sites start their sequence at 1 and add a site prefix to the sequence number to generate the key. At NAVDB.WORLD, the first three rows created would have the keys navdb1, navdb2, and navdb3. At the master site MYDB.WORLD, the first three would be mydb1, mydb2, and mydb3. As these rows are propagated none of the keys will collide. In real life, keys are not always created on sequences. In cases such as the author_key column in the PUBS schema, you may need keys generated from a central location. All master sites obtain their keys for that table from the central repository. You must either require that only that site creates the records or create a procedure on the remote site that will fetch the next key from the depository. For efficiency, you could create a trigger that prefetches a number of keys and places them in a table and provides them as needed on the local site, fetching additional keys as needed. It to check dbms_reputil.from_remote=false inside the trigger to insure that the trigger does not fire on a transaction from a remote site. is always a much better solution to use the natural key of the table, if one exists, rather than a derived key. A natural key can avoid a great deal of trouble. As you can see, conflict avoidance must be part of your replication planning. Once the replication environment has been created and is operating, it is much harder to avoid conflicts. Also, insure that your conflict avoidance method is flexible enough to handle adding and removing master sites. However, no matter how diligent you are at planning conflict avoidance, you will eventually have a conflict, and unless you implement conflict resolution, your replication environment will grind to a halt until you manually intervene. Conflict Resolution Establishing conflict resolution is a process of defining rules for Oracle to apply when a conflict is detected. If the conflict is resolved, the transaction does not end up in the deferred error column group that the resolution method applies to. You can have multiple column groups on a table and define a priority for each group. A column group can consist of all the columns in the table or any subset of those columns. Once you have created a column group, you can assign one or more conflict resolution methods to it. Oracle has defined a number of standard conflict resolution methods that will usually meet your needs. The following table provides a list of the different conflict resolution methods Oracle makes available: METHOD Latest Timestamp Earliest Timestamp Minimum, Maximum Group Priority Site Priority DESCRIPTION With the latest timestamp value method, you define a column that contains a date data type to use in comparing multiple transactions. When a transaction fails because the before image has changed, the column timestamps of the transactions are compared, and if the second transaction is later than the one changing the before image, the second transaction is applied and overlays the current data (which contains the first transaction). This is the opposite of the above method. The method is available but rarely used. When a column group has a conflict between two transactions, the minimum value method evaluates the current and new values of a defined column and selects the lower (or higher for maximum) values to determine if the new columns are applied. In this case, column groups are assigned a priority and conflicts are adjudicated to the highest priority group. In this instance, sites are assigned a priority. When two transactions conflict, the transaction from the master site with the highest priority will be applied. This is actually a special case of the Group Priority method above. Conflict Resolution never performs a rollback of a transaction. Since all master sites will contain the same resolution methods, each site should apply the same transactions. If transaction A overwrites transaction B, the site that originally creates transaction B will eventually overwrite it with transaction A. Since all transactions are committed at the originating site, rolling back the transaction is not possible. What if Oracle is not able to determine which transaction should be applied after using a conflict resolution method? You can define more than one conflict resolution method. If Oracle is still unable to resolve a conflict after using all defined conflict resolution methods, the transaction ends up in the deferred error queue and someone must manually resolve the conflict. Page 10 SELECT Journal
3 Examples of Defining Conflict Resolutions Let s look at creating some of the more common resolution methods in our PUBS schema. First, we will look at an example of the latest timestamp conflict resolution. Then we will look at using the site priority conflict resolution method. Defining Latest Timestamp Conflict resolution methods are defined using the dbms_repcat.add_update_resolution procedure. In the following example, we will configure Oracle to use the latest timestamp method of resolution to settle conflicts with the pubs.sales table s ORDER_DATE column. In this example we will: 1. Define a column group for use by the resolution method. 2. Define the resolution method. 3. Add additional support as required. Let s look at these steps in more detail then. Define the Column Group The first step is to define a column group on the master definition site that uses this resolution method. execute dbms_repcat.make_column_group( 'PUBS','SALES','SALES_COLGP','*'); In this example, we are defining a column group called SALES_COLGP on the sales table in the PUBS schema. This column group will include every column in the table, since the * is being used. It is not necessary to include all columns in the column group. Since the ORDER_DATE column can act as a primary key, we could have only defined ORDER_DATE in our column group, which would have caused Oracle to resolve only conflicts on that column. By defining all columns in the column group, any conflict within the column group will use the conflict resolution method. Define the Conflict Resolution Method Next, we define the conflict resolution method for that column group. execute dbms_repcat.add_update_resolution( sname column_group => 'SALES_COLGP', sequence => 1, method => 'LATEST TIMESTAMP', parameter_column_name => 'ORDER_DATE'); Now, when a conflict occurs on the column group, the first (and only, for the moment) method of resolution will be the latest date method (defined via the method parameter). The date within the ORDER_DATE column will be used to resolve the conflict. If we wanted to define a second method, we could use the same command, but replace the method parameters and change the sequence to equal two. Oracle will apply the two conflict resolution methods in the sequence order. You might have noticed that the above example has limited usefulness, since the order date is likely to remain the same for all transactions. It would be more useful to compare the transaction execution time, rather than the ORDER_DATE. So let s alter our replicated object using the procedure dbms_repace.alter_master_repobject, which we call from the master definition site. With this procedure, we will add an additional column to the sales table that we ll call SALES_TS of type DATE. BEGIN DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY('REP_GROUP2'); DBMS_REPCAT.ALTER_MASTER_REPOBJECT( sname => '"PUBS"', oname => '"SALES"', type => 'TABLE', ddl_text => - 'alter table PUBS.SALES add (SALES_TS DATE)'); DBMS_REPCAT.RESUME_MASTER_ACTIVITY('REP_GROUP2'); END; Now that we have added our column, we want it populated each time some action takes place on the table. To perform this action we write the following database trigger: create trigger SALES_TS_TG before insert or update on PUBS.SALES for each row begin if dbms_reputil.from_remote = FALSE then :NEW.SALES_TS := SYSDATE; end if; end; Now we need to replicate the trigger to the other master sites using the create_master_repobject procedure. This will ensure the trigger is replicated to all of the master replication sites: BEGIN DBMS_REPCAT.CREATE_MASTER_REPOBJECT ( gname => 'REP_GROUP2', type => 'TRIGGER', sname ddl_text => ' create trigger SALES_TS_TG before insert or update on PUBS.SALES for each row begin if dbms_reputil.from_remote = FALSE then :NEW.SALES_TS := SYSDATE; end if; end;'); END; Then, we need to redefine the column group and add the conflict resolution method as shown here: execute dbms_repcat.add_update_resolution( sname column_group => 'SALES_COLGP', sequence => 1, method => 'LATEST TIMESTAMP', parameter_column_name => 'SALES_TS'); Now our replication will function more like a stand-alone database. If two continued on page 12 4th Qtr 2004 Page 11
4 Multi-Master Replication Conflict Avoidance and Resolution continued from page 11 users modify the same data, the data will be applied in the order of commits. In our replication, the two transactions will be applied in the order of the timestamp. This is the most common conflict resolution method. There is one caveat to consider with this method. All replication database servers must be operating on one time standard. If you have two servers in your replication scheme, one in Virginia and the other in California, the Virginia server time will be four hours ahead of the California server. Normally databases used in a replication environment use a standard time, either GMT or local time at the company headquarters. It doesn t matter as long as they are the same. You can also create the trigger to compensate for the time differences, but you will not be able to replicate the trigger. Instead, you will need to create the trigger at each site, adjusting for the time. Since I live in Colorado I use Mountain Time, to convert to GMT, I would change the trigger to convert the time. :NEW.LAST_UPDATE := NEW_TIME(SYSDATE,'MDT','GMT'); If Oracle was unable to resolve the conflict using the latest timestamp, we could provide an additional resolution method to use. It s called the Site Priority method. Defining Site Priority The site priority conflict resolution method uses a column value to determine replication conflict priority. Before we start, we need to stop replication activities for the group (this is known as a quiesce of the replication group). We define another column in the pubs.sales table that will contain an identifier for the site that created the transaction. Next, we add a trigger to insert a site identifier (usually the database global name). We then need to define the site priorities, using the stored procedure dbms_repcat.define_site_priority. Finally, create the column group and define the conflict resolution method. First, we need to stop replication as seen here: BEGIN DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY('REP_GROUP2'); END; For this example, we added the SALES.SALES_SP column (varchar2(30)) to use for the site data (an example of adding a column to a replicated table was shown earlier in this chapter). Next we need to add the trigger. create trigger SALES_SP_TG before insert or update on PUBS.SALES for each row declare site_name varchar2(30) := - dbms_reputil.global_name; begin if dbms_reputil.from_remote = FALSE then :NEW.SALES_SP := site_name; end if; end; Remember to add the trigger to the replication group so that it is replicated to all master sites (an example of adding triggers to the replication group was provided earlier). Now, every update or insert transaction will contain the site s global name in the SALES_SP column. We need to define a priority to each site in our replication scheme. The define_site_priority is the procedure we will use: execute dbms_repcat.define_site_priority( 'REP_GROUP2','SITE_PRI'); execute dbms_repcat.add_site_priority_site(' REP_GROUP2','SITE_PRI','MYDB.WORLD',10); execute dbms_repcat.add_site_priority_site(' REP_GROUP2','SITE_PRI','NAVDB.WORLD',100); execute dbms_repcat.add_site_priority_site(' REP_GROUP2','SITE_PRI','NEWSITE.WORLD',5); Here, we define the priority for each site in our replication scheme. In this example, the master definition site NAVDB.WORLD has the highest priority (the higher the number, the higher the priority). Notice that we did not have to create them in order, nor do you have to increment the priority number by one (which comes in handy if you add a master site later down the line). At this point, you are actually assigning priorities to a field in a column, not actual master sites thus, you can predefine a priority for a master site that is not yet created. Now that we have defined our master sites priorities, we need to define the conflict resolution method. execute dbms_repcat.add_update_resolution( sname column_group => 'SALES_COLGP', sequence => 2, method => 'SITE PRIORITY', parameter_column_name => 'SALES_SP', priority_group => 'SITE_PRI'); Before resuming replication, we need to regenerate replication support for the sales table. execute dbms_repcat.generate_replication_support( 'PUBS','SALES','TABLE'); And finally, resume replication activity to propagate the changes to all other master sites. execute dbms_repcat.resume_master_activity( 'REP_GROUP2'); There are now two methods of conflict resolution defined on the pubs.sales table. Oracle will first try to resolve any conflict using the latest timestamp method. If that fails, it will try using the site priority method. If the site priority method fails, the transaction will be placed in the deferred error queue. Monitoring Conflict Resolution To monitor conflict resolution, Oracle provides a number of views. First, we need to register the object that Oracle is going to maintain statistics on. Page 12 SELECT Journal
5 execute dbms_repcat.register_statistics( 'PUBS','SALES'); You can then get information on resolved conflicts from the view dba_represolution_statistics. SELECT * FROM dba_represolution_statistics; dba_represolution_statistics contains the following fields. Name Null? Type SNAME NOT NULL VARCHAR2(30) ONAME NOT NULL VARCHAR2(30) CONFLICT_TYPE VARCHAR2(10) REFERENCE_NAME NOT NULL VARCHAR2(30) METHOD_NAME NOT NULL VARCHAR2(80) FUNCTION_NAME VARCHAR2(92) PRIORITY_GROUP VARCHAR2(30) RESOLVED_DATE NOT NULL DATE PRIMARY_KEY_VALUE NOT NULL VARCHAR2(2000) Figure 1. OEM Adding a Column to the store table Select Column Subsetting to define the column group. The only column group defined is the Shadow Group, which is an internal group that contains all columns in the table. Once you define a column group, the shadow group will disappear. Select the Create button to open the Create Column Group window. Name the column group STORE_CG. Select all the columns and move them to the right hand pane with the right arrow button. As conflicts are resolved, rows are added to the view. To remove the statistics, you need to purge them. execute dbms_repcat.purge_statistics( 'PUBS','SALES'); To stop gathering resolution statics on the sales table: execute dbms_repcat.cancel_statistics( 'PUBS','SALES'); Of course, data on conflicts that are not resolved is in the deferred error queue and can be found in the deferror view. select * from deferror; Using OEM to Define Conflict Resolution Methods Oracle Enterprise Manager can not only create column groups and define conflict resolution, but it presents the information in a fairly comprehensive way. While we wholeheartedly recommend OEM for monitoring multi-master replication, we do not recommend it for creating multi-master replication and conflict resolution. Because of the complex nature and multiple layers of conflict resolution, we recommend that you create scripts that document methods, column groups, etc. OEM will create conflict resolution without allowing you to document what and how it was created. That being said, let s look at how OEM creates the latest timestamp conflict resolution method on the pubs.sales table. Log on to OEM as REPADMIN and navigate to the replication group created in the last chapter, REP_GROUP2. Submit a stop request to quiesce replication activity. Expand the REP_GOUP2 folder and select the pubs.store table. First, we need to add a column to the store table called STORE_TS. Select the Alter Object tab and enter the DDL to add the column and select apply. Now, create the trigger and add it to the replication master group. Figure 2. OEM Create Column Group Select OK to create the STORE_CG column group. Once the group is created, highlight it and select the Add button in the Column Group Resolution Methods text box to bring up the Edit Resolutions Methods Window. Select the Latest Timestamp and STORE_TS from the combo boxes and select OK to create the method. continued on page 14 4th Qtr 2004 Page 13
6 Multi-Master Replication Conflict Avoidance and Resolution continued from page 13 data at a remote master site. It loads any discrepancies it finds into a user created table and can then use that data to synchronize the two tables. In this example we will compare the author table at NAVDB.WORLD to the author table at MYDB.WORLD. First, we will create a couple of tables to hold the data found by the differences procedure. connect [email protected] create table PUBS.MISSING_ROWS_AUTHOR ( AUTHOR_KEY VARCHAR2(11), AUTHOR_LAST_NAME VARCHAR2(40), AUTHOR_FIRST_NAME VARCHAR2(20), AUTHOR_PHONE VARCHAR2(12), AUTHOR_STREET VARCHAR2(40), AUTHOR_CITY VARCHAR2(20), AUTHOR_STATE VARCHAR2(2), AUTHOR_ZIP VARCHAR2(5), AUTHOR_CONTRACT_NBR NUMBER(5)); create table PUBS.MISSING_LOCATION_AUTHOR ( present VARCHAR2(128), absent VARCHAR2(128), r_id ROWID); Figure 3. OEM Update Resolution Methods The final task is to again generate replication support for the store table and then resume replication activity. Setting up conflict resolution using OEM is relatively painless, however, there is no documentation trail, such as a script, to allow you to recreate the scheme if needed. As you can see, advanced replication can and does become very complicated, with multiple conflict resolution methods defined on column groups, on tables, and in master groups. Documentation becomes very important when multiple DBAs support the replication environment. As the replication scheme grows in complexity, scripts to recreate and document it become an important asset. So now we have our replication scheme functional with conflict resolution in place. The last area to cover is what happens when tables no longer contain the same data. This is called Data Mis-convergence. Data Mis-convergence Data Mis-convergence happens when the data in the tables does not match. This should never happen, but it will, so there needs to be a plan to resynchronize the data. If the same number of rows exist in the replicated tables, then the data mis-convergence was caused by updates performed while replication was turned off using dbms_reputil.replication_off. There are a number of ways to resynchronize the data in the tables. When the data is out of sync, any update will generate a conflict, because the before image is not what is expected. A last timestamp conflict resolution method will automatically resolve the conflict and re-sync the data with the latest update. If knowledgeable about the replication scheme, a DBA may update all the timestamp fields on a table to force all the rows to propagate the data from the correct table, re-synchronizing the remote tables. Using dbms_rectifier_diff One way to determine if your data is out of synch is to use the dbms_rectifier_diff package that comes with Oracle9i. This package compares the data at a master site (not required to be the master definition site) with the The first table matches the definition of the author table so that it can hold a complete row of data. The second table must be defined as shown. Next, we need to suspend replication activity. dbms_repcat.suspend_master_activity( 'REP_GROUP2'); Now execute the stored procedure dbms_rectifier_diff.differences to determine if rows are not in sync between the two tables. execute dbms_rectifier_diff.differenced( sname1 oname1 reference_site => 'NAVDB.WORLD', sname2 oname2 comparison_site => 'MYDB.WORLD', where_clause => NULL, column_list => NULL, missing_rows_sname missing_rows_oname1 => 'MISSING_ROWS_AUTHOR', missing_rows_oname2 => 'MISSING_LOCATION_AUTHOR', missing_rows_site => 'NAVDB.WORLD', max_missing => 500, comit_rows => 100); Using a NULL in the column_list parameter will cause all columns to be used. The rows that are out of sync between the two tables are contained in the missing_rows_author table. You can use this information to manually fix the data or you can have Oracle re-sync the two tables. To have Oracle resynchronize the two tables you next run the dbms_rectifier_diff.rectify procedure. Oracle will resynchronize the remote table with the local table. The local table s data will not be changed. Oracle will insert the missing rows and delete the rows that are not contained in the local table. Because of rectify s resynchronization methodology, you may not want to use it. It is important that you run these procedures from the location that has the correct data. You must run differences before running rectify. Page 14 SELECT Journal
7 dbms_rectifier_diff.rectify( sname1 oname1 reference_site => 'NAVDB.WORLD', sname2 oname2 comparison_site => 'MYDB.WORLD', column_list => NULL, missing_rows_sname missing_rows_oname1 => 'MISSING_ROWS_AUTHOR', missing_rows_oname2 => 'MISSING_LOCATION_AUTHOR', missing_rows_site => 'NAVDB.WORLD', comit_rows => 100); The last point about the dbms_rectifier_diff package is that both procedures may take an extremely long time to execute. You might want to just re-instantiate the remote table using transportable tablespaces or an export of the local table. Conclusion This chapter contains a lot of complex procedures to insure the integrity of your data in the replication environment. The key discussions were on Conflict Avoidance, Conflict Resolution, and Data Mis-convergence. Conflict Avoidance Plan the replication environment from the start to insure conflicts are rare. Do not rely on only one site updating and inserting data. Insure your plan is flexible enough to allow for adding or remove master sites. Conflict Resolution Here we introduced a few of the most common methods of automatic conflict resolution and the steps required to implement them. Remember that conflict resolution allows the database to determine which transactions are applied when conflicts arise. If Oracle is unable to make that determination, the transaction is placed in the local deferred error queue and replication begins to fail. Data Mis-convergence Re-synchronizing tables in a replication environment can be a daunting task. Oracle9i provides the dbms_rectifier_diff package to help you determine if your tables are no longer synchronized. However, for large data sets, it may be advantageous to reconstruct the replication table due to the time it will take the rectify procedure to run. That s it. We have implemented both basic and advanced replication, monitoring scripts, and conflict resolution. You should now be able to plan and create your replication environment. This article has not been an exhaustive examination of Oracle replication, nor was it meant to be. Our goal was to provide the basics, identify some of the pitfalls, and give working examples that allow you to implement replication in your environment. Remember to start in a test environment. Plan out the types of replication needed and don t implement multi-master replication unless your requirements dictate. Also, document each step. Remember, someone else may have to support or rebuild the replication scheme. About the Authors John Garmany is a Senior Oracle DBA with Burleson Consulting. A graduate of West Point, an Airborne Ranger and a retired Lt. Colonel with 20+ years of IT experience, he also holds a master s degree in information systems, a graduate certificate in software engineering, and a BS degree in electrical engineering from West Point. A respected Oracle expert and author, Garmany writes for Oracle Internals, SearchOracle and DBAZine. He is the author of four bestselling Oracle books published by Rampant TechPress, Oracle Press, and CRC Press and hosts a popular Oracle Application Server Newsletter. Robert Freeman is an Oracle expert and author of five popular Oracle books, including Oracle9i RMAN Backup & Recovery and the bestselling Oracle Replication. A master of martial arts and a black belt in karate, Freeman is certified in Oracle7 and Oracle8 with more than a decade of experience. An exciting and dynamic speaker, Robert Freeman has taught extensively and is a popular speaker at Oracle conferences. 4th Qtr 2004 Page 15
ADDING A NEW SITE IN AN EXISTING ORACLE MULTIMASTER REPLICATION WITHOUT QUIESCING THE REPLICATION
ADDING A NEW SITE IN AN EXISTING ORACLE MULTIMASTER REPLICATION WITHOUT QUIESCING THE REPLICATION Hakik Paci 1, Elinda Kajo 2, Igli Tafa 3 and Aleksander Xhuvani 4 1 Department of Computer Engineering,
Objectif. Participant. Prérequis. Pédagogie. Oracle Database 11g - Implement Streams Release 2. 5 Jours [35 Heures]
Objectif Perform basic troubleshooting of a Streams environment Alter the Streams environment to add, modify and drop new sites or objects Configure conflict handling for data replication Transform the
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
Oracle Database Links Part 2 - Distributed Transactions Written and presented by Joel Goodman October 15th 2009
Oracle Database Links Part 2 - Distributed Transactions Written and presented by Joel Goodman October 15th 2009 About Me Email: [email protected] Blog: dbatrain.wordpress.com Application Development
Chancery SMS 7.5.0 Database Split
TECHNICAL BULLETIN Microsoft SQL Server replication... 1 Transactional replication... 2 Preparing to set up replication... 3 Setting up replication... 4 Quick Reference...11, 2009 Pearson Education, Inc.
Oracle. Brief Course Content This course can be done in modular form as per the detail below. ORA-1 Oracle Database 10g: SQL 4 Weeks 4000/-
Oracle Objective: Oracle has many advantages and features that makes it popular and thereby makes it as the world's largest enterprise software company. Oracle is used for almost all large application
Oracle(PL/SQL) Training
Oracle(PL/SQL) Training 30 Days Course Description: This course is designed for people who have worked with other relational databases and have knowledge of SQL, another course, called Introduction to
Oracle Database 10g Express
Oracle Database 10g Express This tutorial prepares the Oracle Database 10g Express Edition Developer to perform common development and administrative tasks of Oracle Database 10g Express Edition. Objectives
Database Replication with Oracle 11g and MS SQL Server 2008
Database Replication with Oracle 11g and MS SQL Server 2008 Flavio Bolfing Software and Systems University of Applied Sciences Chur, Switzerland www.hsr.ch/mse Abstract Database replication is used widely
Virtuoso Replication and Synchronization Services
Virtuoso Replication and Synchronization Services Abstract Database Replication and Synchronization are often considered arcane subjects, and the sole province of the DBA (database administrator). However,
SQL Server Replication Guide
SQL Server Replication Guide Rev: 2013-08-08 Sitecore CMS 6.3 and Later SQL Server Replication Guide Table of Contents Chapter 1 SQL Server Replication Guide... 3 1.1 SQL Server Replication Overview...
A basic create statement for a simple student table would look like the following.
Creating Tables A basic create statement for a simple student table would look like the following. create table Student (SID varchar(10), FirstName varchar(30), LastName varchar(30), EmailAddress varchar(30));
Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5.
1 2 3 4 Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5. It replaces the previous tools Database Manager GUI and SQL Studio from SAP MaxDB version 7.7 onwards
Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Active database systems. Triggers. Triggers. Active database systems.
Active database systems Database Management Systems Traditional DBMS operation is passive Queries and updates are explicitly requested by users The knowledge of processes operating on data is typically
VPS Hosting User Guide
TM VPS Hosting User Guide VPS Hosting Control Panel Managing VPS... 1 Opening Power Panel...... 1 Starting/Stopping VPS... 2 Changing VPS Hostname... 2 Enabling/Disabling Automatic Updates... 5 Installing
USING FILERELICATIONPRO TO REPLICATE SQL SERVER
USING FILERELICATIONPRO TO REPLICATE SQL SERVER Abstract FileReplicationPro (FRP) can be used to backup your SQL Server databases. The replication procedure is not as straight forward as replicating other
Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102
Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Interneer, Inc. Updated on 2/22/2012 Created by Erika Keresztyen Fahey 2 Workflow - A102 - Basic HelpDesk Ticketing System
Back Up and Restore the Project Center and Info Exchange Servers. Newforma Project Center Server
Back Up and Restore the Project Center and Info Exchange Servers This document outlines backup and restore procedures for Newforma Project Center Server and Newforma Info Exchange Server. This document
Backup Tab. User Guide
Backup Tab User Guide Contents 1. Introduction... 2 Documentation... 2 Licensing... 2 Overview... 2 2. Create a New Backup... 3 3. Manage backup jobs... 4 Using the Edit menu... 5 Overview... 5 Destination...
Basics Of Replication: SQL Server 2000
Basics Of Replication: SQL Server 2000 Table of Contents: Replication: SQL Server 2000 - Part 1 Replication Benefits SQL Server Platform for Replication Entities for the SQL Server Replication Model Entities
Talend for Data Integration guide
Talend for Data Integration guide Table of Contents Introduction...2 About the author...2 Download, install and run...2 The first project...3 Set up a new project...3 Create a new Job...4 Execute the job...7
System Protection for Hyper-V Whitepaper
Whitepaper Contents 1. Introduction... 2 Documentation... 2 Licensing... 2 Hyper-V requirements... 2 Definitions... 3 Considerations... 3 2. About the BackupAssist Hyper-V solution... 4 Advantages... 4
Sync your schedule and work orders with SME & Microsoft Outlook
Sync your schedule and work orders with SME & Microsoft Outlook High 5 Software is proud to announce a new addition to the SME product family to keep your sales staff and technicians in synch with SME
Module 14: Scalability and High Availability
Module 14: Scalability and High Availability Overview Key high availability features available in Oracle and SQL Server Key scalability features available in Oracle and SQL Server High Availability High
Jet Data Manager 2012 User Guide
Jet Data Manager 2012 User Guide Welcome This documentation provides descriptions of the concepts and features of the Jet Data Manager and how to use with them. With the Jet Data Manager you can transform
Understanding. Active Directory Replication
PH010-Simmons14 2/17/00 6:56 AM Page 171 F O U R T E E N Understanding Active Directory Replication In previous chapters, you have been introduced to Active Directory replication. Replication is the process
Hands-On Lab. Embracing Continuous Delivery with Release Management for Visual Studio 2013. Lab version: 12.0.21005.1 Last updated: 12/11/2013
Hands-On Lab Embracing Continuous Delivery with Release Management for Visual Studio 2013 Lab version: 12.0.21005.1 Last updated: 12/11/2013 CONTENTS OVERVIEW... 3 EXERCISE 1: RELEASE MANAGEMENT OVERVIEW...
Collaborating Across Disciplines with Revit Architecture, MEP, and Structure
Collaborating Across Disciplines with Revit Architecture, MEP, and Structure David Cohn AB104-3 Are you ready to take the next step and use building information modeling to share data across the entire
BounceBack User Guide
Table Of Contents 1. Table of Contents... 2 2. 1-0 Introduction... 3 2.1 1-0: Introduction... 4 2.2 1-1: BounceBack Software Overview... 6 3. 2-0 Navigating the BounceBack Control Center... 9 3.1 2-0:
How to set up SQL Source Control. The short guide for evaluators
How to set up SQL Source Control The short guide for evaluators Content Introduction Team Foundation Server & Subversion setup Git setup Setup without a source control system Making your first commit Committing
MarkLogic Server. Database Replication Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.
Database Replication Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Database Replication
Vault Project - Plant Database Replication. Contents. Software Requirements: AutoCAD Plant 3D 2016 and AutoCAD P&ID 2016
Vault Project - Plant Database Replication This document describes how to replicate the plant database for a vault project between WAN connected locations. By replicating both the vault and the plant database
How to Use JCWHosting Reseller Cloud Storage Solution
How to Use JCWHosting Reseller Cloud Storage Solution Go to https://www.internetspace.co.za and log in with your Cloud Reseller account username and password. How to Use create a cloud account for your
Migrate Topaz databases from One Server to Another
Title Migrate Topaz databases from One Server to Another Author: Olivier Lauret Date: November 2004 Modified: Category: Topaz/BAC Version: Topaz 4.5.2, BAC 5.0 and BAC 5.1 Migrate Topaz databases from
Getting Started. Getting Started with Time Warner Cable Business Class. Voice Manager. A Guide for Administrators and Users
Getting Started Getting Started with Time Warner Cable Business Class Voice Manager A Guide for Administrators and Users Table of Contents Table of Contents... 2 How to Use This Guide... 3 Administrators...
Real World Enterprise SQL Server Replication Implementations. Presented by Kun Lee [email protected]
Real World Enterprise SQL Server Replication Implementations Presented by Kun Lee [email protected] About Me DBA Manager @ CoStar Group, Inc. MSSQLTip.com Author (http://www.mssqltips.com/sqlserverauthor/15/kunlee/)
Connectivity. Alliance Access 7.0. Database Recovery. Information Paper
Connectivity Alliance Access 7.0 Database Recovery Information Paper Table of Contents Preface... 3 1 Overview... 4 2 Resiliency Concepts... 6 2.1 Database Loss Business Impact... 6 2.2 Database Recovery
Synthetic Monitoring Scripting Framework. User Guide
Synthetic Monitoring Scripting Framework User Guide Please direct questions about {Compuware Product} or comments on this document to: APM Customer Support FrontLine Support Login Page: http://go.compuware.com
Xopero Centrally managed backup solution. User Manual
Centrally managed backup solution User Manual Contents Desktop application...2 Requirements...2 The installation process...3 Logging in to the application...6 First logging in to the application...7 First
Connectivity. Alliance Access 7.0. Database Recovery. Information Paper
Connectivity Alliance 7.0 Recovery Information Paper Table of Contents Preface... 3 1 Overview... 4 2 Resiliency Concepts... 6 2.1 Loss Business Impact... 6 2.2 Recovery Tools... 8 3 Manual Recovery Method...
How to Implement Multi-way Active/Active Replication SIMPLY
How to Implement Multi-way Active/Active Replication SIMPLY The easiest way to ensure data is always up to date in a 24x7 environment is to use a single global database. This approach works well if your
VMware Mirage Web Manager Guide
Mirage 5.1 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of this document,
Table of Contents ShareCenter Sync Overview...3
Table of Contents ShareCenter Sync Overview...3 Introduction...3 Main Window...4 Logs... 5 Settings... 6 Creating a Backup Task...7 Deleting a Backup Task...20 Starting a Backup Task...21 Accessing Backups...23
SQL Object Level Recovery Native 1.1
SQL Object Level Recovery Native 1.1 September 2009 Note: these pages apply to a version of this product that is not the current released version. For the latest support documentation, please see http://documentation.red-gate.com
Coveo Platform 7.0. Microsoft Dynamics CRM Connector Guide
Coveo Platform 7.0 Microsoft Dynamics CRM Connector Guide Notice The content in this document represents the current view of Coveo as of the date of publication. Because Coveo continually responds to changing
CRM Global Search: Installation & Configuration
Installation ***Important: It is highly recommended that you first take a backup of your current CRM Application Ribbons prior to importing this solution. Please do so by navigating to Settings > Solutions
Oracle 11g Database Administration
Oracle 11g Database Administration Part 1: Oracle 11g Administration Workshop I A. Exploring the Oracle Database Architecture 1. Oracle Database Architecture Overview 2. Interacting with an Oracle Database
Oracle Backup and Recover 101. Osborne Press ISBN 0-07-219461-8
Oracle Backup and Recover 101 Osborne Press ISBN 0-07-219461-8 First Printing Personal Note from the Authors Thanks for your purchase of our book Oracle Backup & Recovery 101. In our attempt to provide
Developing SQL and PL/SQL with JDeveloper
Seite 1 von 23 Developing SQL and PL/SQL with JDeveloper Oracle JDeveloper 10g Preview Technologies used: SQL, PL/SQL An Oracle JDeveloper Tutorial September 2003 Content This tutorial walks through the
SQL Server Developer Training Program. Topics Covered
SQL Server Developer Training Program Duration: 50 Hrs Training Mode: Class Room/On-line Training Methodology: Real-time Project oriented Training Features: 1) Trainers from Corporate 2) Unlimited Lab
Adding Outlook to a Blackberry, Downloading, Installing and Configuring Blackberry Desktop Manager
Adding Outlook to a Blackberry, Downloading, Installing and Configuring Blackberry Desktop Manager The following instructions work for the District provided Blackberrys from Sprint, but I think it should
System Administration of Windchill 10.2
System Administration of Windchill 10.2 Overview Course Code Course Length TRN-4340-T 3 Days In this course, you will gain an understanding of how to perform routine Windchill system administration tasks,
EMC Documentum Webtop
EMC Documentum Webtop Version 6.5 User Guide P/N 300 007 239 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 1994 2008 EMC Corporation. All rights
Customer evaluation guide Toad for Oracle v12 Database administration
Thank you for choosing to download a Toad for Oracle trial. This guide will enable you to evaluate Toad s key technical features and business value. It can be used to evaluate the database administration
Exploring SQL Server Data Tools in Visual Studio 2013
Exploring SQL Server Data Tools in Visual Studio 2013 Contents Azure account required for last exercise... 3 Optimized productivity One set of tools for everything... 3 Using SSIS project to export a table
Tracking Network Changes Using Change Audit
CHAPTER 14 Change Audit tracks and reports changes made in the network. Change Audit allows other RME applications to log change information to a central repository. Device Configuration, Inventory, and
Oracle Enterprise Manager
Oracle Enterprise Manager Getting Started with Oracle Change Management Pack Release 9.2.0 March 2002 Part No. A96679-01 Oracle Enterprise Manager Getting Started with Oracle Change Management Pack, Release
Creating and Using Forms in SharePoint
Creating and Using Forms in SharePoint Getting started with custom lists... 1 Creating a custom list... 1 Creating a user-friendly list name... 1 Other options for creating custom lists... 2 Building a
Backup Tab. User Guide
Backup Tab User Guide Contents 1. Introduction... 2 Documentation... 2 Licensing... 2 Overview... 2 2. Create a New Backup... 3 3. Manage backup jobs... 4 Using the Edit menu... 5 Overview... 5 Destination...
MICROSOFT OUTLOOK 2011 SYNC ACCOUNTS AND BACKUP
MICROSOFT OUTLOOK 2011 SYNC ACCOUNTS AND BACKUP Last Edited: 2012-07-10 1 Sync Exchange and IMAP accounts... 3 Sync basics... 3 Sync Outlook with ical and Apple Mail on Mac... 3 Set schedule to synchronize
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: 001-855-844-3881 & 001-800-514-06-97 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals
Hosting Users Guide 2011
Hosting Users Guide 2011 eofficemgr technology support for small business Celebrating a decade of providing innovative cloud computing services to small business. Table of Contents Overview... 3 Configure
Backup Assistant. User Guide. NEC NEC Unified Solutions, Inc. March 2008 NDA-30282, Revision 6
Backup Assistant User Guide NEC NEC Unified Solutions, Inc. March 2008 NDA-30282, Revision 6 Liability Disclaimer NEC Unified Solutions, Inc. reserves the right to change the specifications, functions,
SQL Database Administration. Overview
SQL Database Administration SQL Database Administration...1 Backing Up Your Data...2 Controlling Database Growth...7 Maintaining Optimum Performance...10 Automatic Updates for Windows...12 Overview This
How To Backup In Cisco Uk Central And Cisco Cusd (Cisco) Cusm (Custodian) (Cusd) (Uk) (Usd).Com) (Ucs) (Cyse
This chapter includes the following sections: Backup and Import in Cisco UCS Central, page 1 Backing up and Restoring Cisco UCS Central, page 4 Backing up and Restoring Cisco UCS Domains, page 8 Import
EVENT LOG MANAGEMENT...
Event Log Management EVENT LOG MANAGEMENT... 1 Overview... 1 Application Event Logs... 3 Security Event Logs... 3 System Event Logs... 3 Other Event Logs... 4 Windows Update Event Logs... 6 Syslog... 6
DocAve 6 Job Monitor. Reference Guide. Service Pack 6
DocAve 6 Job Monitor Reference Guide Service Pack 6 Issued October 2015 Table of Contents What s New in this Guide... 5 About Job Monitor... 6 Submitting Documentation Feedback to AvePoint... 7 Before
Author: Ryan J Adams. Overview. Policy Based Management. Terminology
Author: Ryan J Adams Overview We will cover what Policy Based Management is and how you can leverage its power to better manage your environment. With PBM we'll see what it can and cannot do to help you
Oracle Database Backup & Recovery, Flashback* Whatever, & Data Guard
18 th Annual International zseries Oracle SIG Conference Present: Oracle Database Backup & Recovery, Flashback* Whatever, & Data Guard Tammy Bednar [email protected] Manager, HA Solutions & Backup
Microsoft SQL Replication
Microsoft SQL Replication v1 28-January-2016 Revision: Release Publication Information 2016 Imagine Communications Corp. Proprietary and Confidential. Imagine Communications considers this document and
WebSphere Business Monitor
WebSphere Business Monitor Administration This presentation will show you the functions in the administrative console for WebSphere Business Monitor. WBPM_Monitor_Administration.ppt Page 1 of 21 Goals
CHANGES IN GECS 3.50 PACKAGES
CHANGES IN GECS 3.50 PACKAGES GECS version 3.50 started shipping January 20 th, 2005. You can find the date of the last GECS package installed by looking in the file named PKGDATE.TXT located in your GECS
Continuous integration for databases using Red Gate tools
Whitepaper Continuous integration for databases using Red Gate tools A technical overview Continuous Integration source control develop Dev Dev Dev build test Automated Deployment Deployment package Testing
Objectives. Oracle SQL and SQL*PLus. Database Objects. What is a Sequence?
Oracle SQL and SQL*PLus Lesson 12: Other Database Objects Objectives After completing this lesson, you should be able to do the following: Describe some database objects and their uses Create, maintain,
Backup Exec Private Cloud Services. Planning and Deployment Guide
Backup Exec Private Cloud Services Planning and Deployment Guide Chapter 1 Introducing Backup Exec Private Cloud Services This chapter includes the following topics: About Backup Exec Private Cloud Services
Many DBA s are being required to support multiple DBMS s on multiple platforms. Many IT shops today are running a combination of Oracle and DB2 which
Many DBA s are being required to support multiple DBMS s on multiple platforms. Many IT shops today are running a combination of Oracle and DB2 which is resulting in either having to cross train DBA s
ibolt V3.2 Release Notes
ibolt V3.2 Release Notes Welcome to ibolt V3.2, which has been designed to deliver an easy-touse, flexible, and cost-effective business integration solution. This document highlights the new and enhanced
Salesforce Administrator s Installation Guide
Salesforce Administrator s Installation Guide Welcome to sales emails done better. This guide will walk you through setting up ToutApp and Salesforce. Read on to learn how to connect the two, and what
Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress*
Oracle Database 11 g Performance Tuning Recipes Sam R. Alapati Darl Kuhn Bill Padfield Apress* Contents About the Authors About the Technical Reviewer Acknowledgments xvi xvii xviii Chapter 1: Optimizing
Elixir Schedule Designer User Manual
Elixir Schedule Designer User Manual Release 7.3 Elixir Technology Pte Ltd Elixir Schedule Designer User Manual: Release 7.3 Elixir Technology Pte Ltd Published 2008 Copyright 2008 Elixir Technology Pte
Introduction... 4. Purpose... 4 Scope... 4 Manitoba ehealth Change Management... 4 Icons... 4. RFC Procedures... 5
Remedy Change Management Version 3.0 Modified: 10/27/2015 Table of Contents Introduction... 4 Purpose... 4 Scope... 4 Manitoba ehealth Change Management... 4 Icons... 4 RFC Procedures... 5 Process Flow
Moving the Web Security Log Database
Moving the Web Security Log Database Topic 50530 Web Security Solutions Version 7.7.x, 7.8.x Updated 22-Oct-2013 Version 7.8 introduces support for the Web Security Log Database on Microsoft SQL Server
How to Replicate BillQuick 2003 database on SQL Server 2000.
How to Replicate BillQuick 2003 database on SQL Server 2000. This article provides a step-by-step procedure for replicating the BillQuick 2003 database using Microsoft SQL server 2000 and allowing it to
Server & Workstation Installation of Client Profiles for Windows
C ase Manag e m e n t by C l i e n t P rofiles Server & Workstation Installation of Client Profiles for Windows T E C H N O L O G Y F O R T H E B U S I N E S S O F L A W General Notes to Prepare for Installing
Database Backup Datacolor Match Pigment and Datacolor Tools
Database Backup Datacolor Match Pigment and Datacolor Tools Both Datacolor Match Pigment and Datacolor Tools use the Sybase Adaptive Server database management system. The document will explain the different
E2E Complete 3.6.1. Known Limitations
E2E Complete 3.6.1 Known Limitations September 2015 Table of Contents Known Limitations 3.6.1... 3 Admin Portal... 3 Admin Portal\Blackout... 3 Admin Portal\Mailboxes... 3 Admin Portal\Mailboxes\Add to
Colligo Contributor File Manager 4.6. User Guide
Colligo Contributor File Manager 4.6 User Guide Contents Colligo Contributor File Manager Introduction... 2 Benefits... 2 Features... 2 Platforms Supported... 2 Installing and Activating Contributor File
Backup and Recovery. What Backup, Recovery, and Disaster Recovery Mean to Your SQL Anywhere Databases
Backup and Recovery What Backup, Recovery, and Disaster Recovery Mean to Your SQL Anywhere Databases CONTENTS Introduction 3 Terminology and concepts 3 Database files that make up a database 3 Client-side
Getting to Know the SQL Server Management Studio
HOUR 3 Getting to Know the SQL Server Management Studio The Microsoft SQL Server Management Studio Express is the new interface that Microsoft has provided for management of your SQL Server database. It
Informatica MRS Backup
Informatica MRS Backup The purpose of this document is to provide methods to back up the Model Repository Service (MRS) from the Administration Console as well as automating this process using a batch
SnapLogic Salesforce Snap Reference
SnapLogic Salesforce Snap Reference Document Release: October 2012 SnapLogic, Inc. 71 East Third Avenue San Mateo, California 94401 U.S.A. www.snaplogic.com Copyright Information 2012 SnapLogic, Inc. All
Database Replication with MySQL and PostgreSQL
Database Replication with MySQL and PostgreSQL Fabian Mauchle Software and Systems University of Applied Sciences Rapperswil, Switzerland www.hsr.ch/mse Abstract Databases are used very often in business
TIGERPAW EXCHANGE INTEGRATOR SETUP GUIDE V3.6.0 August 26, 2015
TIGERPAW EXCHANGE INTEGRATOR SETUP GUIDE V3.6.0 August 26, 2015 2201 Thurston Circle Bellevue, NE 68005 www.tigerpawsoftware.com Contents Tigerpaw Exchange Integrator Setup Guide v3.6.0... 1 Contents...
SQL Server Training Course Content
SQL Server Training Course Content SQL Server Training Objectives Installing Microsoft SQL Server Upgrading to SQL Server Management Studio Monitoring the Database Server Database and Index Maintenance
Selecting the Right Change Management Solution Key Factors to Consider When Evaluating Change Management Tools for Your Databases and Teams
Tech Notes Selecting the Right Change Management Solution Key Factors to Consider When Evaluating Change Management Tools for Your Databases and Teams Embarcadero Technologies July 2007 Corporate Headquarters
How To Manage Inventory In Commerce Server
4 The Inventory System Inventory management is a vital part of any retail business, whether it s a traditional brick-and-mortar shop or an online Web site. Inventory management provides you with critical
