Skip to content

Commit

Permalink
Merge pull request #6036 from EnterpriseDB/release-2024-09-09a
Browse files Browse the repository at this point in the history
Release 2024 09 09a
  • Loading branch information
djw-m authored Sep 9, 2024
2 parents 2e6bc74 + dc548c3 commit 9f611a7
Show file tree
Hide file tree
Showing 21 changed files with 395 additions and 209 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ On the Set Up Identity Provider page:

For example:

![](../images/nameID.png)
![](images/nameID.png)
3. In the **SAML settings** section, enter the configuration information for your preferred SAML identity provider:

| Field | Description |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The command options that work with Migration Toolkit are grouped by their behavi
<div id="offline_migration" class="registered_link"></div>

!!!note
If you are using several options for a migration, or have to specify a long list of objects for an option, consider using the `-optionsFile` option to specify the values in a separate text file. See [Specifying options using a file](mtk_command_options_in_file) for more information.
If you're using several options for a migration or have to specify a long list of objects for an option, consider using the `-optionsFile` option to specify the values in a separate text file. See [Specifying options using a file](mtk_command_options_in_file) for more information.
!!!

## Offline migration options
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,39 +4,39 @@ navTitle: "Creating the options file"
deepToC: true
---

To specify a text file that contains command line options and values, you must create a `<example.options>` file with the options you want to execute, and then run the `runMTK.sh` command with the `-optionsFile <example.options>` argument.
To specify a text file that contains command line options and values, create an `<options_textfile>` file with the options you want to execute. Then run the `runMTK.sh` command with the `-optionsFile <options_textfile>` argument.

!!!note
You can store the `<example.options>` file in the same folder as the MTK utility, or in a directory of your choice.
You can store the `<options_textfile>` file in the same folder as the Migration Toolkit utility or in a directory of your choice.
!!!

## Creating the text file - guidelines

Create a text file on a location that is accessible by the user performing the migration. Then, add an option per line following these guidelines:
Create a text file in a location that's accessible by the user performing the migration. Then, add one option per line following these guidelines.

### Skip the dash

Use the same option syntax as in the command line options without the dash sign (-). The options file recognizes each line as a new parameter and doesn't require a dash as a delimiter.
Use the same option syntax as in the command line options without the dash (-). The options file recognizes each line as a new parameter and doesn't require a dash as a delimiter.

| Option in CLI | Supported syntax for the option in file |
|----------------|-----------------------------------------|
| `-tables hr` | tables hr |

### Use a line per option

Use a new line for each option. Use a line per key-value pair.
Use a new line for each option. Use one line per key-value pair.

| Option in CLI | Supported syntax for the option in file |
|----------------------------------------------------------------|---------------------------------------------------------------|
| `-tables hr -allViews` <br/> `-excludeViews all_emp,acct_list` | tables hr <br/> allViews <br/> excludeViews all_emp,acct_list |

### Specify values for an option in a single or multiple lines
### Specify values for an option in a single line or multiple lines

You can add a single line with an option and multiple values for that option.

You can add several lines for the same option, each time with a different value.

And you can combine both approaches, because MTK will combine all lines that have the same option.
And you can combine both approaches, because Migration Toolkit combines all lines that specify the same option.

| Option in CLI | Supported syntax for the option in file |
|--------------------------|-------------------------------------------------|
Expand All @@ -45,64 +45,70 @@ And you can combine both approaches, because MTK will combine all lines that hav
| | tables TAB1 <br/> tables TAB2,TAB3 |

!!!note
The duplication of options is only supported for the options file. <br/>
When using `-tables` in the command line more than one time, only the last parameter is executed. For example, `./runMTK.sh -tables TAB2 -tables TAB3` only includes the _TAB3_ table in the migration.
Duplicating options is supported only for the options file. <br/>
When using `-tables` at the command line more than one time, only the last parameter is executed. For example, `./runMTK.sh -tables TAB2 -tables TAB3` includes only the `TAB3` table in the migration.
!!!

### Use a space or equal sign to provide values

For options that require values (key-value pairs), separate the option from the value with a space or an equal sign (=). Both options are supported.
For options that require values (key-value pairs), separate the option from the value with a space or an equal sign (=). Both syntaxes are supported.

| Option in CLI | Supported syntax for the option in file |
|------------------|-----------------------------------------|
| `-views all_emp` | views=all_emp |
| | views all_emp |

### Don't specify an option in the file and command line
### Don't specify an option in the file and at the command line

Don't include an option in the options file if you're specifying it as a flag in the command line.
Don't include an option in the options file if you're specifying it as a flag at the command line.

Specifying an option in both the command line and in the text file will cause the migration to fail.
Specifying an option both at the command line and in the text file causes the migration to fail.

## Order of processing

Migration Toolkit reads command line options and option files in the order you provide them when running the command.
Migration Toolkit reads command line options and option files in the order you provide them when running the command. Ensure you add the [schema scope](executing_migration_with_txt/#provide-the-scope-for-the-schema-migration) (`schema_name` or `-allSchemas`) as the last parameter at the command line.

For example, if you run the following command, MTK first recognizes the `-sourcedbtype oracle` option, then reads the contents of `example.options` in order from top to bottom. Last parameter is always `schema_name`.
For example, if you run the following command, Migration Toolkit first recognizes the `-sourcedbtype oracle` option, and then reads the contents of `options_textfile` in order from top to bottom. The last parameter is the schema scope (`<schema_name>` or `-allSchemas`).

```shell
runMTK.sh -sourcedbtype oracle -optionsFile example.options schema_name
runMTK.sh -sourcedbtype oracle -optionsFile options_textfile schema_name
```

If you want an option to be executed last, you can either put it at the end of the `example.options` file and add no further options after `-optionsFile` in the command line.
Using an options file means that you can employ different syntaxes to perform a migration where parameters are executed in the same way. The following alternatives perform the same migration.

Schema definition (`schema_name` or `-allSchemas`) must always be the last parameter on the command line.
**Alternative 1**

```shell
runMTK.sh -sourcedbtype oracle -optionsFile example.options schema_name
runMTK.sh -sourcedbtype oracle -optionsFile <options_textfile> <schema_name>
```

Where the content of the `example.options` file is:
Where the content of the `<options_textfile>` file is:

```
tables=TAB1
dataOnly
```

Or you can place the options flag (-dataOnly in this case) in the command line after specifying the `-optionsFile`:
**Alternative 2**

```shell
runMTK.sh -sourcedbtype oracle -optionsFile example.options -dataOnly schema_name
runMTK.sh -sourcedbtype oracle -optionsFile <options_textfile> -dataOnly <schema_name>
```

Where the content of the `<options_textfile>` file is:

```
tables=TAB1
```

## Other considerations

- **Commenting out**: Use a pound sign (#) to comment out a line. MTK won’t execute that line.
- **Commenting out** &mdash; Use a pound sign (#) to comment out a line. Migration Toolkit doesn't execute lines that are commented out.

- **Limitations**: Do not use quote marks.
- **Limitations** &mdash; Don't use quote marks.

- **Space processing**: MTK removes spaces between an option and its value. When you separate an option from its value with a space, only one space is treated as a delimiter.
- **Space processing** &mdash; Migration Toolkit removes spaces between an option and its value. When you separate an option from its value with a space, only one space is treated as a delimiter.

For example, to run the `-views all_emp, mgmt_list, acct_list` command line option, you can add _views all_emp,mgmt_list,acct_list_ OR _views = all_emp,mgmt_list,acct_list_ in the options file.
For example, to run the `-views all_emp, mgmt_list, acct_list` command line option, you can add `views all_emp,mgmt_list,acct_list` or `views = all_emp,mgmt_list,acct_list` in the options file.

After you have created the options file, [execute the migration with the options file](executing_migration_with_txt).
After you create the options file, [execute the migration with it](executing_migration_with_txt).
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,31 @@ navTitle: "Executing a migration with the options file"
deepToC: true
---

After you have created the options file, execute the migration command by referencing the options file:
After you create the options file, reference it when executing the migration command:

```shell
./runMTK.sh -optionsFile <example.options>
./runMTK.sh -optionsFile <options_textfile> <schema_name>
```

!!!note
Provide the full path for `<example.options>` if you are running the MTK command from a different folder than where you have stored the file.
Provide the full path for `<options_textfile>` if you're running the Migration Toolkit command from a different folder from where you stored the file.
!!!

You can specify all options in the file, or use a mix of command line and options file to specify the migration parameters.
You can specify all options in the file or use a mix of the command line and the options file to specify the migration parameters.

## Provide the scope for the schema migration

You must specify the scope of the schemas to be migrated.
Specify the scope of the schemas to migrate:

- If you want to migrate all schemas: Add the `-allSchemas` option in the command line or add `allSchemas` in your options file. Regardless of which method you use, this option must be the last parameter.
- If you want to migrate all schemas, add the `-allSchemas` option at the command line or add `allSchemas` in your options file. For both methods, this option must be the last parameter.

- If you want to specify one or several schemas: Specify the schemas you want to migrate in the command line with no preceding option. They have to be the last parameter in the command line.
- If you want to specify a subset of schemas, specify the schemas you want to migrate at the command line with no preceding option and as a comma-separated list. Schema specifications must be the last parameter at the command line.

Here are some examples for specifying all options in the file:
Here are some examples for specifying all options in the file.

## Migrate a schema with specific tables

Content of the `<example.options>` text file:
Content of the `options_textfile` text file:

```
tables comp_schema.emp,comp_schema.dept,finance_schema.acctg
Expand All @@ -37,7 +37,7 @@ tables comp_schema.emp,comp_schema.dept,finance_schema.acctg
Syntax of the migration command:

```shell
./runMTK.sh -optionsFile example.options schema_name
./runMTK.sh -optionsFile options_textfile schema_name
```

Command line equivalent:
Expand All @@ -46,15 +46,15 @@ Command line equivalent:
./runMTK.sh -tables comp_schema.emp,comp_schema.dept,finance_schema.acctg schema_name
```

## Use Options File to exclude tables and include functions
## Use options file to exclude tables and include functions

The options file can be used to separate table names from configuration options.
It may also contain comments to clarify why parameters are used.
You can use the options file to separate table names from configuration options.
You can also use comments to clarify why parameters are used.

In this example we are excluding tables and including functions.
It shows some extra comments, to explain why tables are excluded.
This example excludes tables and includes functions.
It shows some comments to explain why tables are excluded.

Content of the `<excludeInclude.options>` text file:
Content of the `excludeInclude.options` text file:

```
# finances
Expand Down Expand Up @@ -84,7 +84,7 @@ Command line equivalent:

Run an offline migration with all schemas.

Content of the `<example.options>` text file:
Content of the `options_textfile` text file:

```
offlineMigration file_dest
Expand All @@ -95,7 +95,7 @@ schemaOnly
Syntax of the migration command:

```shell
./runMTK.sh -optionsFile example.options -allSchemas
./runMTK.sh -optionsFile options_textfile -allSchemas
```

Command line equivalent:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,13 @@ navTitle: "Specifying options using a file"
deepToC: true
---

EDB supports using a text file to specify several [database migration options](../08_mtk_command_options.mdx) instead of manually entering them in the command line. This is particularly helpful when:
EDB supports using a text file to specify several [database migration options](../08_mtk_command_options.mdx) instead of manually entering them at the command line. This is particularly helpful when:

- You have to specify a large number of command line options for complex migration scenarios. Entering all options in the command line becomes troublesome, or you might have even reached command line length limits.
- You have to specify a large number of command line options or a large number of values for complex migration scenarios. Entering all options or values at the command line becomes cumbersome, or you might reach command line length limits.

- You have to specify a large number of values for a command line option for complex migration scenarios. Entering all values in the command line becomes troublesome, or you might have even reached command line length limits.
- You want to apply the same migration options and values to several different databases, or you might want to automate database migration. Running `runMTK.sh` with several options and values repeatedly at the command line becomes prone to errors.

- You want to apply the same migration options and values to several different databases, or you might even consider automating the migration of databases. Running `runMTK.sh` with several options and values repeatedly in the command line becomes prone to errors.

The `-optionsFile <example.options>` argument allows you to reference a text file with all options and values, making the migration process easier.
The `-optionsFile <options_textfile>` argument allows you to reference a text file with options and values, making the migration process easier.

## Execute a migration using an options file

Expand All @@ -21,4 +19,3 @@ To perform a migration with a file that specifies the command options:
1. [Create a text file with the command options](creating_txt_file).

1. [Perform a migration by invoking the file with the command options](executing_migration_with_txt).

Loading

2 comments on commit 9f611a7

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸŽ‰ Published on https://edb-docs.netlify.app as production
πŸš€ Deployed on https://66df39d1f4514f5a64783921--edb-docs.netlify.app

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.