You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/current/_includes/molt/migration-prepare-database.md
+36-6Lines changed: 36 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
#### Create migration user on source database
2
2
3
-
Create a dedicated migration user (e.g., `MIGRATION_USER`) on the source database. This user is responsible for reading data from source tables during the migration. You will pass this username in the [source connection string](#source-connection-string).
3
+
Create a dedicated migration user (for example, `MIGRATION_USER`) on the source database. This user is responsible for reading data from source tables during the migration. You will pass this username in the [source connection string](#source-connection-string).
@@ -12,11 +12,31 @@ Grant the user privileges to connect, view schema objects, and select the tables
12
12
13
13
{% include_cached copy-clipboard.html %}
14
14
~~~sql
15
-
GRANT CONNECT ON DATABASE source_database TO MIGRATION_USER;
16
-
GRANT USAGE ON SCHEMA migration_schema TO MIGRATION_USER;
17
-
GRANTSELECTON ALL TABLES IN SCHEMA migration_schema TO MIGRATION_USER;
18
-
ALTER DEFAULT PRIVILEGES IN SCHEMA migration_schema GRANTSELECTON TABLES TO MIGRATION_USER;
15
+
GRANT CONNECT ON DATABASE source_database TO migration_user;
16
+
GRANT USAGE ON SCHEMA migration_schema TO migration_user;
17
+
GRANTSELECTON ALL TABLES IN SCHEMA migration_schema TO migration_user;
18
+
ALTER DEFAULT PRIVILEGES IN SCHEMA migration_schema GRANTSELECTON TABLES TO migration_user;
19
19
~~~
20
+
21
+
{% if page.name != "migrate-bulk-load.md" %}
22
+
Grant the `SUPERUSER` role to the user (recommended for replication configuration):
23
+
24
+
{% include_cached copy-clipboard.html %}
25
+
~~~sql
26
+
ALTERUSER migration_user WITH SUPERUSER;
27
+
~~~
28
+
29
+
Alternatively, grant the following permissions to create replication slots, access replication data, create publications, and add tables to publications:
30
+
31
+
{% include_cached copy-clipboard.html %}
32
+
~~~sql
33
+
ALTERUSER migration_user WITH LOGIN REPLICATION;
34
+
GRANT CREATE ON DATABASE source_database TO migration_user;
35
+
ALTERTABLEmigration_schema.table_name OWNER TO migration_user;
36
+
~~~
37
+
38
+
Run the `ALTER TABLE` command for each table to replicate.
Copy file name to clipboardExpand all lines: src/current/_includes/molt/molt-docker.md
+5-7Lines changed: 5 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,9 @@
1
-
For details on pulling Docker images, refer to [Docker images](#docker-images).
2
-
3
-
### Performance
1
+
#### Performance
4
2
5
3
MOLT Fetch, Verify, and Replicator are likely to run more slowly in a Docker container than on a local machine. To improve performance, increase the memory or compute resources, or both, on your Docker container.
6
4
7
5
{% if page.name == "molt-fetch.md" %}
8
-
### Authentication
6
+
####Authentication
9
7
10
8
When using MOLT Fetch with [cloud storage](#bucket-path), it is necessary to specify volumes and environment variables, as described in the following sections for [Google Cloud Storage](#google-cloud-storage) and [Amazon S3](#amazon-s3).
11
9
@@ -17,7 +15,7 @@ docker run -it cockroachdb/molt fetch ...
17
15
18
16
For more information on `docker run`, see the [Docker documentation](https://docs.docker.com/reference/cli/docker/container/run/).
19
17
20
-
#### Google Cloud Storage
18
+
#####Google Cloud Storage
21
19
22
20
If you are using [Google Cloud Storage](https://cloud.google.com/storage/docs/access-control) for [cloud storage](#bucket-path):
23
21
@@ -44,7 +42,7 @@ docker run \
44
42
45
43
For details on Google Cloud Storage authentication, see [Application Default Credentials](https://cloud.google.com/docs/authentication/application-default-credentials).
46
44
47
-
#### Amazon S3
45
+
#####Amazon S3
48
46
49
47
If you are using [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-iam.html) for [cloud storage](#bucket-path):
50
48
@@ -61,7 +59,7 @@ docker run \
61
59
~~~
62
60
{% endif %}
63
61
64
-
### Local connection strings
62
+
####Local connection strings
65
63
66
64
When testing locally, specify the host as follows:
Copy file name to clipboardExpand all lines: src/current/_includes/molt/oracle-migration-prerequisites.md
+2-49Lines changed: 2 additions & 49 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,52 +23,5 @@ Install Oracle Instant Client on the machine that will run `molt` and `replicato
23
23
~~~
24
24
25
25
{{site.data.alerts.callout_success}}
26
-
You can also download Oracle Instant Client directly from the Oracle site for [Linux ARM64](https://www.oracle.com/database/technologies/instant-client/linux-amd64-downloads.html) or [Linux x86-64](https://www.oracle.com/ca-en/database/technologies/instant-client/linux-x86-64-downloads.html).
27
-
{{site.data.alerts.end}}
28
-
29
-
{% if page.name != "migrate-bulk-load.md" %}
30
-
#### Enable `ARCHIVELOG`
31
-
32
-
Enable `ARCHIVELOG` mode on the Oracle database. This is required for Oracle LogMiner, Oracle's built-in changefeed tool that captures DML events for replication.
33
-
34
-
{% include_cached copy-clipboard.html %}
35
-
~~~sql
36
-
SELECT log_mode FROM v$database;
37
-
SHUTDOWN IMMEDIATE;
38
-
STARTUP MOUNT;
39
-
ALTERDATABASE ARCHIVELOG;
40
-
ALTERDATABASE OPEN;
41
-
SELECT log_mode FROM v$database;
42
-
~~~
43
-
44
-
~~~
45
-
LOG_MODE
46
-
--------
47
-
ARCHIVELOG
48
-
49
-
1 row selected.
50
-
~~~
51
-
52
-
Enable supplemental primary key logging for logical replication:
53
-
54
-
{% include_cached copy-clipboard.html %}
55
-
~~~sql
56
-
ALTERDATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
57
-
SELECT supplemental_log_data_min, supplemental_log_data_pk FROM v$database;
Enable `FORCE_LOGGING` to ensure that all data changes are captured for the tables to migrate:
69
-
70
-
{% include_cached copy-clipboard.html %}
71
-
~~~sql
72
-
ALTERDATABASE FORCE LOGGING;
73
-
~~~
74
-
{% endif %}
26
+
You can also download Oracle Instant Client directly from the Oracle site for [Linux ARM64](https://www.oracle.com/database/technologies/instant-client/linux-amd64-downloads.html) or [Linux x86-64](https://www.oracle.com/ca-en/database/technologies/instant-client/linux-x86-64-downloads.html).
Copy file name to clipboardExpand all lines: src/current/_includes/molt/replicator-flags-usage.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,7 +63,7 @@ When using `--table-filter`, you must also include `--userscript`. Refer to [Tab
63
63
|`--tlsPrivateKey`| Path to the server TLS private key for the webhook sink. Refer to [TLS certificate and key](#tls-certificate-and-key). |
64
64
|`--metricsAddr`| Enable Prometheus metrics at a specified `{host}:{port}`. Metrics are served at `http://{host}:{port}/_/varz`. |
65
65
66
-
- Failback requires `--stagingSchema`, which specifies the staging database name used for replication checkpoints and metadata. The staging schema is first created with [`--stagingCreateSchema`]({% link molt/migrate-load-replicate.md %}). For details on the staging schema, refer to [Staging schema]({% link molt/molt-replicator.md %}#staging-schema).
66
+
- Failback requires `--stagingSchema`, which specifies the staging database name used for replication checkpoints and metadata. The staging schema is first created with [`--stagingCreateSchema`]({% link molt/migrate-load-replicate.md %}). For details on the staging schema, refer to [Staging database]({% link molt/molt-replicator.md %}#staging-database).
67
67
68
68
- When configuring a [secure changefeed](#tls-certificate-and-key) for failback, you **must** include `--tlsCertificate` and `--tlsPrivateKey`, which specify the paths to the server certificate and private key for the webhook sink connection.
0 commit comments