Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method, comprising: in response to at least one command, creating a first replicate specifying: a) a target replication server and a source replication server, wherein said target replication server has a first table with a table name and said source replication server has a second table with said table name, b) that changes to data in a first column of said second table are to be replicated, c) a first common dictionary format comprising a first column transport name corresponding to said first column of said second table and a first column transport data type corresponding to said first column of said second table, and d) a first local dictionary format specifying a first column name for a first column of said first table and a first data type for said first column of said first table, said first data type being different from said first column transport data type; verifying, by said target replication server, that said first column transport name is identical to said first column name of said first local dictionary format, and that said first data type is compatible with said first column transport data type; after said verifying, receiving, by said target replication server, replication data from said source replication server in said first common dictionary format, said replication data comprising at least one change to data in said first column of said second table; transforming, by said target replication server, said replication data from said first common dictionary format to said first local dictionary format; and applying, by said target replication server, said transformed replication data to said first table.
2. The method of claim 1 wherein a second local dictionary format specifies said first column name for said first column of said second table and specifies a second data type for said first column of said first column of said second table, the method further comprising: verifying, by said source replication server, that said first column transport name is identical to said first column name of said second local dictionary format, and that said second data type is compatible with said first column transport data type; after said verifying, receiving, by said replication server, additional replication data from said target replication server in said first common dictionary format, said additional replication data comprising at least one change to data in said first column of said first table; transforming, by said source replication server, said additional replication data from said first common dictionary format to said second local dictionary format; and applying, by said source replication server, said transformed additional replication data to said second table.
3. The method of claim 1 wherein said target replication server comprises a first database server and a replication application, the method further comprising: receiving an alter command to alter said first local dictionary format of said first table; in response to said alter command, first notifying by said first database server, said replication application that said first local dictionary format of said first table is to be altered; after said first notifying, altering said first table in accordance with said command, wherein said first local dictionary format of said first table is altered in accordance with said alter command; and after said altering said first table, second notifying said replication application that said first table was altered.
4. The method of claim 3 wherein in response to said first notifying that said first local dictionary format of said first table is to be altered, suspending application of at least a subset of said replication data from said source replication server to said first table.
5. The method of claim 4 further comprising: in response to said second notifying that said first table was altered, reactivating application of said at least a subset of said replication data from said source replication server to said first table.
6. The method of claim 3 further comprising: identifying other replication data from a log on said target replication server; and prior to said altering, advancing a replay position, wherein said replay position indicates a position at which to begin reading said log after a failure of said database server of said target replication server.
7. The method of claim 3 further comprising: prior to said altering said first table, suspending application of at least a subset of said replication data from said source replication server to said first table; determining a current position of writing change-data to a log; and advancing a replay position to said current position.
8. The method of claim 7 further comprising: after said altering, reactivating application of said at least a subset of said replication data from said source replication server to said first table.
9. The method of claim 3 wherein said alter command specifies to add a new column to said first table, said new column having a new column name and a new data type.
10. The method of claim 3 wherein said alter command specifies to change said first data type of said first column of said table to another data type.
11. The method of claim 1 wherein said first replicate is a primary replicate, the method further comprising: in response to at least one additional command, creating a second replicate specifying: a) said target replication server and said source replication server, b) that said second replicate is associated with said first replicate, c) that said changes to data in said first column of said second table are to be replicated, and d) a second common dictionary format, wherein said second common dictionary format is different from said first common dictionary format; swapping said first replicate and said second replicate such that said second replicate is a primary replicate and said first replicate is not a primary replicate; after said swapping, sending, by said source replication server, additional replication data to said target replication server in said second common dictionary format, wherein a send queue in said source replication server comprises pending replication data in said first common dictionary format concurrently with said additional replication data in said second common dictionary format; and after said swapping, receiving, by said target replication server, said pending replication data from said source replication server in said first common dictionary format and said additional replication data from said source replication server in said second common dictionary format; wherein said transforming and said applying treat said first replicate and said second replicate as equivalents.
12. The method of claim 11 wherein said first replicate is a mastered replicate, and said second replicate is a mastered replicate.
13. The method of claim 11 further comprising: altering said first table to add a second column, wherein said first local dictionary format of said first table specifies a second column name for said second column of said first table and a second data type for said second column of said first table; altering said second table to add a second column, wherein a second local dictionary format of said second table specifies said second column name for said second column of said second table and said second data type for said second column of said second table; wherein said second common dictionary format specifies a second column transport name corresponding to said second column of said second table and a second column transport data type corresponding to said second column of said second table.
14. The method of claim 1 wherein said first replicate is a mastered replicate.
15. The method of claim 1 wherein said first common dictionary format comprises a plurality of column transport names corresponding to a plurality of columns, respectively, and wherein said first common dictionary format specifies a separate column transport data type for each column of said plurality of columns.
16. The method of claim 1 wherein said transforming comprises casting a value from said first column transport data type to said first data type.
17. The method of claim 1 wherein said target replication server comprises a first database server and a replication application, the method further comprising: receiving an alter command to alter said first table by said first database server, wherein said first local dictionary format is to be altered; in response to said alter command, issuing, by said first database server, an alter mode set operation to said replication application; in response to said alter mode set operation, setting, by said replication application, said first table to alter mode, wherein said target replication server receives additional replication data from said second participant replication server, wherein said additional replication data comprises at least one data manipulation language operation, wherein said at least one data manipulation language operation is not applied to said first table while said first table is in said alter mode; after said setting said first table to said alter mode, changing said first local dictionary format to a second local dictionary format in accordance with said alter command; and altering said table in accordance with said alter command; after said altering said first table, issuing, by said first database server, an alter mode unset operation; in response to said alter mode unset operation, unsetting said alter mode on said first table; and resuming application of said at least one data manipulation language operation in said additional replication data from said source replication server to said first table; wherein said transforming transforms said additional replication data from said first common dictionary format to said second local dictionary format on said target replication server.
18. The method of claim 17 wherein said setting said first table to alter mode comprises setting a table-alter-mode flag in a header of said first table.
19. The method of claim 18 further comprising: in response to said alter mode set operation, setting, by said replication application, a replicate-alter-mode flag for said first replicate; exclusively locking, by said replication application, said first table; wherein said table-alter-mode flag is set after said exclusively locking; and unlocking, by said replication application, said first table.
20. The method of claim 19 further comprising: in response to receiving, by said replication application, said alter mode unset operation, reactivating said first replicate, said reactivating comprising: unsetting said table-alter-mode flag; and unsetting said replicate-alter-mode flag.
21. The method of claim 1 further comprising: in response to determining that said first local dictionary format and said common dictionary format do not match, setting a data-conversion flag; and performing said transforming upon determining that said data-conversion flag is set.
22. The method of claim 1 wherein said received replication data comprises a row image in said first common dictionary format, and wherein said transforming transforms said row image to said first local dictionary format.
23. The method of claim 1 wherein said second table comprises a second local dictionary format specifying said first column name for said first column of said second table and a second data type for said first column of said second table, the method further comprising: verifying that said first column transport name and said first column name of said second local dictionary format are identical and that said second data type is compatible with said first column transport data type.
24. A computer program product for replicating data, said computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, said computer readable program code comprising: computer readable program code configured to, in response to at least one command, create a first replicate specifying: a) a target replication server and a source replication server, wherein said target replication server has a first table with a table name and said source replication server has a second table with said table name, b) that changes to data in a first column of said second table are to be replicated, c) a first common dictionary format comprising a first column transport name corresponding to said first column of said second table and a first column transport data type corresponding to said first column of said second table, and d) a first local dictionary format specifying a first column name for a first column of said first table and a first data type for said first column of said first table, said first data type being different from said first column transport data type; computer readable program code configured to verify, by said target replication server, that said first column transport name is identical to said first column name of said first local dictionary format, and that said first data type is compatible with said first column transport data type; computer readable program code configured to, after said verify, receive, by said target replication server, replication data from said source replication server in said first common dictionary format, said replication data comprising at least one change to data in said first column of said second table; computer readable program code configured to transform, by said target replication server, said replication data from said first common dictionary format to said first local dictionary format; and computer readable program code configured to apply, by said target replication server, said transformed replication data to said first table.
25. The computer program product of claim 24 , wherein a second local dictionary format specifies said first column name for said first column of said second table and specifies a second data type for said first column of said second table, and wherein said computer readable program code configured to verify further verifies, by said source replication server, that said first column transport name is identical to said first column name of said second local dictionary format, and that said second data type is compatible with said first column transport data type.
26. A system, comprising: at least one processor and at least one memory; said at least one memory storing instructions, which when executed by said at least one processor, configures a target replication server to perform operations comprising: in response to at least one command, creating a replicate specifying: a) a target replication server and a source replication server, said target replication server having a first table with a table name and said source replication server having a second table with said table name; b) that changes to data in a first column of said second table are to be replicated, c) a first common dictionary format comprising a first column transport name corresponding to said first column of said second table and a first column transport data type corresponding to said first column of said second table, and d) a first local dictionary format specifying a first column name for a first column of said first table and a first data type for said first column of said first table, said first data type being different from said first column transport data type; verifying that said first column transport name is identical to said first column name of said first local directory format, and that said first data type is compatible with said first column transport data type; after said verifying, receiving replication data from said source replication server in said first common dictionary format, said replication data comprising at least one change to data in said first column of said second table; transforming said replication data from said first common dictionary format to said first local dictionary format; and applying said transformed replication data to said first table.
27. The system of claim 26 , wherein a second local dictionary format specifies said first column name and a second data type for said first column of said second table, and wherein said operations further comprise verifying that said first column transport name is identical to said first column name of said second local dictionary format, and that said second data type is compatatible with said first column transport data type.
Unknown
July 3, 2012
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.