Skip to content

Commit a3da547

Browse files
committed
final review comments
1 parent b130ce2 commit a3da547

File tree

3 files changed

+31
-19
lines changed

3 files changed

+31
-19
lines changed

src/current/molt/migrate-bulk-load.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Perform a one-time bulk load of source data into CockroachDB.
1111

1212
{% include molt/molt-setup.md %}
1313

14-
## Load data into CockroachDB
14+
## Start Fetch
1515

1616
Perform the bulk load of the source data.
1717

src/current/molt/migrate-load-replicate.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Perform the initial load of the source data.
4444
--table-filter 'employees|payments|orders' \
4545
--bucket-path 's3://migration/data/cockroach' \
4646
--table-handling truncate-if-exists \
47-
~~~
47+
~~~
4848
</section>
4949

5050
<section class="filter-content" markdown="1" data-scope="oracle">
@@ -60,7 +60,7 @@ Perform the initial load of the source data.
6060
--table-filter 'employees|payments|orders' \
6161
--bucket-path 's3://migration/data/cockroach' \
6262
--table-handling truncate-if-exists \
63-
~~~
63+
~~~
6464
</section>
6565

6666
{% include molt/fetch-data-load-output.md %}

src/current/molt/molt-replicator.md

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ The source database must be configured for replication:
4242

4343
The SQL user running MOLT Replicator requires specific privileges on both the source and target databases:
4444

45-
| Database/Target | Required Privileges | Details |
46-
|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
47-
| PostgreSQL source | <ul><li>`SUPERUSER` role (recommended), or the following granular permissions:</li><li>`CREATE` and `SELECT` on database and tables to replicate.</li><li>Table ownership for adding tables to publications.</li><li>`LOGIN` and `REPLICATION` privileges to create replication slots and access replication data.</li></ul> | [Create PostgreSQL migration user]({% link molt/migrate-load-replicate.md %}#create-migration-user-on-source-database) |
48-
| MySQL source | <ul><li>`SELECT` on tables to replicate.</li><li>`REPLICATION SLAVE` and `REPLICATION CLIENT` privileges for binlog access.</li><li>For `--fetchMetadata`, either `SELECT` on the source database or `PROCESS` globally.</li></ul> | [Create MySQL migration user]({% link molt/migrate-load-replicate.md %}?filters=mysql#create-migration-user-on-source-database) |
49-
| Oracle source | <ul><li>`SELECT`, `INSERT`, `UPDATE` on `_replicator_sentinel` table.</li><li>`SELECT` on `V$` views (`V$LOG`, `V$LOGFILE`, `V$LOGMNR_CONTENTS`, `V$ARCHIVED_LOG`, `V$LOG_HISTORY`).</li><li>`SELECT` on `SYS.V$LOGMNR_*` views (`SYS.V$LOGMNR_DICTIONARY`, `SYS.V$LOGMNR_LOGS`, `SYS.V$LOGMNR_PARAMETERS`, `SYS.V$LOGMNR_SESSION`).</li><li>`LOGMINING` privilege.</li><li>`EXECUTE` on `DBMS_LOGMNR`.</li><li>For Oracle Multitenant, the user must be a common user (prefixed with `C##`) with privileges granted on both CDB and PDB.</li></ul> | [Create Oracle migration user]({% link molt/migrate-load-replicate.md %}?filters=oracle#create-migration-user-on-source-database)<br>[Create sentinel table]({% link molt/migrate-load-replicate.md %}#create-source-sentinel-table)<br>[Grant LogMiner privileges]({% link molt/migrate-load-replicate.md %}#grant-logminer-privileges) |
50-
| CockroachDB target (forward replication) | <ul><li>`ALL` on target database.</li><li>`CREATE` on schema.</li><li>`SELECT`, `INSERT`, `UPDATE`, `DELETE` on target tables.</li><li>`CREATEDB` privilege for creating staging schema.</li></ul> | [Create CockroachDB user]({% link molt/migrate-load-replicate.md %}#create-the-sql-user) |
51-
| Source target (failback) | <ul><li>`SELECT`, `INSERT`, `UPDATE` on tables to fail back to.</li><li>For Oracle, `FLASHBACK` is also required.</li></ul> | [Grant target database permissions]({% link molt/migrate-failback.md %}#grant-target-database-user-permissions) |
45+
| Database | Required Privileges | Details |
46+
|------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
47+
| PostgreSQL source | <ul><li>`SUPERUSER` role (recommended), or the following granular permissions:</li><li>`CREATE` and `SELECT` on database and tables to replicate.</li><li>Table ownership for adding tables to publications.</li><li>`LOGIN` and `REPLICATION` privileges to create replication slots and access replication data.</li></ul> | [Create PostgreSQL migration user]({% link molt/migrate-load-replicate.md %}#create-migration-user-on-source-database) |
48+
| MySQL source | <ul><li>`SELECT` on tables to replicate.</li><li>`REPLICATION SLAVE` and `REPLICATION CLIENT` privileges for binlog access.</li><li>For `--fetchMetadata`, either `SELECT` on the source database or `PROCESS` globally.</li></ul> | [Create MySQL migration user]({% link molt/migrate-load-replicate.md %}?filters=mysql#create-migration-user-on-source-database) |
49+
| Oracle source | <ul><li>`SELECT`, `INSERT`, `UPDATE` on `_replicator_sentinel` table.</li><li>`SELECT` on `V$` views (`V$LOG`, `V$LOGFILE`, `V$LOGMNR_CONTENTS`, `V$ARCHIVED_LOG`, `V$LOG_HISTORY`).</li><li>`SELECT` on `SYS.V$LOGMNR_*` views (`SYS.V$LOGMNR_DICTIONARY`, `SYS.V$LOGMNR_LOGS`, `SYS.V$LOGMNR_PARAMETERS`, `SYS.V$LOGMNR_SESSION`).</li><li>`LOGMINING` privilege.</li><li>`EXECUTE` on `DBMS_LOGMNR`.</li><li>For Oracle Multitenant, the user must be a common user (prefixed with `C##`) with privileges granted on both CDB and PDB.</li></ul> | [Create Oracle migration user]({% link molt/migrate-load-replicate.md %}?filters=oracle#create-migration-user-on-source-database)<br>[Create sentinel table]({% link molt/migrate-load-replicate.md %}#create-source-sentinel-table)<br>[Grant LogMiner privileges]({% link molt/migrate-load-replicate.md %}#grant-logminer-privileges) |
50+
| CockroachDB target (forward replication) | <ul><li>`ALL` on target database.</li><li>`CREATE` on schema.</li><li>`SELECT`, `INSERT`, `UPDATE`, `DELETE` on target tables.</li><li>`CREATEDB` privilege for creating staging schema.</li></ul> | [Create CockroachDB user]({% link molt/migrate-load-replicate.md %}#create-the-sql-user) |
51+
| PostgreSQL, MySQL, or Oracle target (failback) | <ul><li>`SELECT`, `INSERT`, `UPDATE` on tables to fail back to.</li><li>For Oracle, `FLASHBACK` is also required.</li></ul> | [Grant PostgreSQL user permissions]({% link molt/migrate-failback.md %}#grant-target-database-user-permissions)<br>[Grant MySQL user permissions]({% link molt/migrate-failback.md %}?filter=mysql#grant-target-database-user-permissions)<br>[Grant Oracle user permissions]({% link molt/migrate-failback.md %}?filter=oracle#grant-target-database-user-permissions) |
5252

5353
## Installation
5454

@@ -209,14 +209,14 @@ For PostgreSQL, use `--slotName` to specify the [replication slot created during
209209
--slotName molt_slot
210210
~~~
211211

212-
For MySQL, use `--defaultGTIDSet` with the GTID set from the [MOLT Fetch output]({% link molt/migrate-load-replicate.md %}#start-fetch):
212+
For MySQL, use `--defaultGTIDSet` with the GTID set from the [MOLT Fetch output]({% link molt/migrate-load-replicate.md %}?filters=mysql#start-fetch):
213213

214214
{% include_cached copy-clipboard.html %}
215215
~~~
216216
--defaultGTIDSet '4c658ae6-e8ad-11ef-8449-0242ac140006:1-29'
217217
~~~
218218

219-
For Oracle, use `--scn` and `--backfillFromSCN` with the SCN values from the [MOLT Fetch output]({% link molt/migrate-load-replicate.md %}#start-fetch):
219+
For Oracle, use `--scn` and `--backfillFromSCN` with the SCN values from the [MOLT Fetch output]({% link molt/migrate-load-replicate.md %}?filters=oracle#start-fetch):
220220

221221
{% include_cached copy-clipboard.html %}
222222
~~~
@@ -379,24 +379,28 @@ Use this information to determine if your build may be subject to vulnerabilitie
379379
<button class="filter-button" data-scope="oracle">Oracle</button>
380380
</div>
381381

382-
To start replication after an [initial data load with MOLT Fetch]({% link molt/migrate-load-replicate.md %}#start-fetch), use the appropriate `replicator` command for your source database:
383-
384382
<section class="filter-content" markdown="1" data-scope="postgres">
383+
To start replication after an [initial data load with MOLT Fetch]({% link molt/migrate-load-replicate.md %}#start-fetch), use the `pglogical` command:
384+
385385
{% include_cached copy-clipboard.html %}
386386
~~~ shell
387387
replicator pglogical
388388
~~~
389389
</section>
390390

391391
<section class="filter-content" markdown="1" data-scope="mysql">
392+
To start replication after an [initial data load with MOLT Fetch]({% link molt/migrate-load-replicate.md %}?filters=mysql#start-fetch), use the `mylogical` command:
393+
392394
{% include_cached copy-clipboard.html %}
393395
~~~ shell
394396
replicator mylogical
395397
~~~
396398
</section>
397399

398400
<section class="filter-content" markdown="1" data-scope="oracle">
399-
{% include_cached copy-clipboard.html %}
401+
{To start replication after an [initial data load with MOLT Fetch]({% link molt/migrate-load-replicate.md %}?filters=oracle#start-fetch), use the `oraclelogminer` command:
402+
403+
% include_cached copy-clipboard.html %}
400404
~~~ shell
401405
replicator oraclelogminer
402406
~~~
@@ -476,6 +480,8 @@ replicator pglogical \
476480
--stagingSchema _replicator \
477481
--stagingCreateSchema
478482
~~~
483+
484+
For detailed steps, refer to [Load and replicate]({% link molt/migrate-load-replicate.md %}#start-replicator).
479485
</section>
480486

481487
<section class="filter-content" markdown="1" data-scope="mysql">
@@ -488,6 +494,8 @@ replicator mylogical \
488494
--stagingSchema _replicator \
489495
--stagingCreateSchema
490496
~~~
497+
498+
For detailed steps, refer to [Load and replicate]({% link molt/migrate-load-replicate.md %}?filters=mysql#start-replicator).
491499
</section>
492500

493501
<section class="filter-content" markdown="1" data-scope="oracle">
@@ -503,9 +511,9 @@ replicator oraclelogminer \
503511
--stagingSchema _replicator \
504512
--stagingCreateSchema
505513
~~~
506-
</section>
507514

508-
For detailed steps, refer to [Load and replicate]({% link molt/migrate-load-replicate.md %}#start-replicator).
515+
For detailed steps, refer to [Load and replicate]({% link molt/migrate-load-replicate.md %}?filters=oracle#start-replicator).
516+
</section>
509517

510518
### Resume after interruption
511519

@@ -528,6 +536,8 @@ replicator pglogical \
528536
--slotName molt_slot \
529537
--stagingSchema _replicator
530538
~~~
539+
540+
For detailed steps, refer to [Resume replication]({% link molt/migrate-resume-replication.md %}).
531541
</section>
532542

533543
<section class="filter-content" markdown="1" data-scope="mysql">
@@ -538,6 +548,8 @@ replicator mylogical \
538548
--targetConn $TARGET \
539549
--stagingSchema _replicator
540550
~~~
551+
552+
For detailed steps, refer to [Resume replication]({% link molt/migrate-resume-replication.md %}?filters=mysql).
541553
</section>
542554

543555
<section class="filter-content" markdown="1" data-scope="oracle">
@@ -550,9 +562,9 @@ replicator oraclelogminer \
550562
--targetConn $TARGET \
551563
--stagingSchema _replicator
552564
~~~
553-
</section>
554565

555-
For detailed steps, refer to [Resume replication]({% link molt/migrate-resume-replication.md %}).
566+
For detailed steps, refer to [Resume replication]({% link molt/migrate-resume-replication.md %}?filters=oracle).
567+
</section>
556568

557569
### Failback to source database
558570

0 commit comments

Comments
 (0)