Skip to content

Commit

Permalink
Merge pull request #6259 from EnterpriseDB/mp/note_DDL_extraction
Browse files Browse the repository at this point in the history
Mig Portal: DDL Extractor note and reorg of extraction section
  • Loading branch information
gvasquezvargas authored Nov 22, 2024
2 parents 6ecf6f1 + c6891b4 commit 68b215b
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 114 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Extracting schemas using Oracle Data Pump utilities"

navTitle: Using Oracle Data Pump
---

Migration Portal requires only the metadata in the SQL dump file to assess the extracted schemas.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
title: "Extracting schemas using the EDB DDL Extractor"
navTitle: Using EDB DDL Extractor
---


Download the latest EDB DDL Extractor script from the Migration Portal Projects page.

!!! Note
Migration Portal might become unresponsive for very large SQL files, depending on your system and browser resource availability. To resolve this, try extracting fewer schemas at a time to reduce the SQL file size.

## Prerequisites

You can run the EDB DDL Extractor script in SQL Developer or SQL\*Plus. It uses Oracle’s `DBMS_METADATA` built-in package to extract DDLs for different objects under schemas (specified while running the script). The EDB DDL Extractor creates the DDL file uploaded to the portal and analyzed for EDB Postgres Advanced Server compatibility.

!!! Note
You must have `CONNECT` and `SELECT_CATALOG_ROLE` roles and `CREATE TABLE` privilege.

### For SQL\*Plus

1. Connect to SQL\*Plus and run this command:

```sql
@edb_ddl_extractor.sql
```

1. When prompted, if the Oracle user that is running the script has the required privileges, press **Enter** to continue running the script.

1. When prompted, provide the schema name. When extracting multiple schemas, use a comma (`‘,’`) as a delimiter.

!!! Note
If you want to extract all the user schemas from the current database, don't mention any schema names while extracting. However, we recommend mentioning the schema names that you want to extract.

1. When prompted, enter the path or directory for the extractor to store the extracted DDL. If you don't specify a path, the extracted DDL is output to the directory where you ran the SQL\*Plus command.

1. When prompted, enter `yes`or `no` depending on whether you want to extract dependent objects from other schemas.

1. When prompted, enter `yes`or `no` depending on whether you want to extract grant statements from other schemas.

## Example

1. Run the extractor script:

```text
@edb_ddl_extractor.sql
```

1. Press **Enter**.

1. Specify three schemas by separating them with commas:

```text
Enter a comma separated list of schemas to be extracted (Default all schemas): HR, SCOTT, FINANCE
```

1. Enter a path for the output file:

On Linux, you might use:

```text
Location for output file (Default current location) : /home/oracle/extracted_ddls/
```

Similarly on Windows:

```text
Location for output file (Default current location) : c:\Users\Example\Desktop\
```

1. Enter `yes` to extract dependent objects in other schemas:

```text
WARNING:
Given schema(s) list may contain objects which are dependent on objects
from other schema(s), not mentioned in the list.` `Assessment may fail
for such objects. It is suggested to extract all dependent objects
together.
Extract dependent object from other schemas?(yes/no) (Default no / Ignored for all schemas option): yes
```

1. Enter `yes` to extract grant statements:

```text
Extract GRANT statements?(yes/no) (Default no): yes
```

### For SQL Developer

After loading the `edb_ddl_extractor.sql` script into SQL Developer and connecting to the source Oracle database, run the script. As the script executes, respond to the prompts.

1. If the user for the database connection has the required privileges as listed in the **Script Output** tab, select **Yes** to continue running the script.

2. Enter a comma-separated list of schemas, and select **OK**.

3. Enter the path for the output file, and select **OK**. The default is the location of the DDL Extractor script.

4. Enter `yes` or `no` to extract dependent objects, and select **OK**. The default is to not extract dependent objects.

5. Enter `yes` or `no` to extract grant statements, and select **OK**. The default setting is not to extract grant statements.

Output of the DDL Extractor run appears in the Script Output tab. The name of the output file appears after the `Extraction Completed` message in the script output.

!!! Note
You can also enter single schema name in both SQL\*Plus and SQL Developer.

The script then iterates through the object types in the source database. Once the task is completed, the `.SQL` output is stored at the location you entered (e.g., `c:\Users\Example\Desktop\`).

See [file encoding](/migration_portal/latest/known_issues_notes/#file-encoding) for information about the file encoding format expected by Migration Portal.


Original file line number Diff line number Diff line change
Expand Up @@ -7,126 +7,27 @@ legacyRedirectsGenerated:

redirects:
- ../01_whats_new/

deepToC: true
navigation:
- "01_data_pump_utility"

- edb_ddl_extractor
- 01_data_pump_utility
---

<div id="mp_schema_extraction" class="registered_link"></div>

You can perform a schema extraction using either of the following methods. EDB recommends using the EDB DDL extractor to extract your schemas.
- [EDB DDL Extractor](#extracting-schemas-using-the-edb-ddl-extractor) (recommended method)
- [Oracle Data Pump utilities](01_data_pump_utility/)

For more information, see [Known issues, limitations, and notes](/migration_portal/latest/known_issues_notes/).

## Extracting schemas using the EDB DDL Extractor

Download the latest EDB DDL Extractor script from the Migration Portal Projects page.

!!! Note
Migration Portal might become unresponsive for very large SQL files, depending on your system and browser resource availability. To resolve this, try extracting fewer schemas at a time to reduce the SQL file size.

### Prerequisites

You can run the EDB DDL Extractor script in SQL Developer or SQL\*Plus. It uses Oracle’s `DBMS_METADATA` built-in package to extract DDLs for different objects under schemas (specified while running the script). The EDB DDL Extractor creates the DDL file uploaded to the portal and analyzed for EDB Postgres Advanced Server compatibility.

!!! Note
You must have `CONNECT` and `SELECT_CATALOG_ROLE` roles and `CREATE TABLE` privilege.

#### For SQL\*Plus

1. Connect to SQL\*Plus and run this command:

```sql
@edb_ddl_extractor.sql
```

2. When prompted, if the Oracle user that is running the script has the required privileges, press **Enter** to continue running the script.

3. When prompted, provide the schema name. When extracting multiple schemas, use a comma (`‘,’`) as a delimiter.

!!! Note
If you want to extract all the user schemas from the current database, don't mention any schema names while extracting. However, we recommend mentioning the schema names that you want to extract.

4. When prompted, enter the path or directory for the extractor to store the extracted DDL. If you don't specify a path, the extracted DDL is output to the directory where you ran the SQL\*Plus command.

5. When prompted, enter `yes`or `no` depending on whether you want to extract dependent objects from other schemas.

6. When prompted, enter `yes`or `no` depending on whether you want to extract grant statements from other schemas.

For example:

1. Run the extractor script:
## Schema extraction methods

```text
@edb_ddl_extractor.sql
```
You can perform a schema extraction using the EDB or Oracle extraction tools.Select one of the following for instructions and examples:

2. Press **Enter**

3. Specify three schemas by separating them with commas:

```text
Enter a comma separated list of schemas to be extracted (Default all schemas): HR, SCOTT, FINANCE
```

4. Enter a path for the output file:

On Linux, you might use:

```text
Location for output file (Default current location) : /home/oracle/extracted_ddls/
```

Similarly on Windows:

```text
Location for output file (Default current location) : c:\Users\Example\Desktop\
```

5. Enter `yes` to extract dependent objects in other schemas:

```text
WARNING:
Given schema(s) list may contain objects which are dependent on objects
from other schema(s), not mentioned in the list.` `Assessment may fail
for such objects. It is suggested to extract all dependent objects
together.
Extract dependent object from other schemas?(yes/no) (Default no / Ignored for all schemas option): yes
```

6. Enter `yes` to extract grant statements:

```text
Extract GRANT statements?(yes/no) (Default no): yes
```

#### For SQL Developer

After loading the `edb_ddl_extractor.sql` script into SQL Developer and connecting to the source Oracle database, run the script. As the script executes, respond to the prompts.

1. If the user for the database connection has the required privileges as listed in the **Script Output** tab, select **Yes** to continue running the script.

2. Enter a comma-separated list of schemas, and select **OK**.

3. Enter the path for the output file, and select **OK**. The default is the location of the DDL Extractor script.

4. Enter `yes` or `no` to extract dependent objects, and select **OK**. The default is to not extract dependent objects.

5. Enter `yes` or `no` to extract grant statements, and select **OK**. The default setting is not to extract grant statements.

Output of the DDL Extractor run appears in the Script Output tab. The name of the output file appears after the `Extraction Completed` message in the script output.

!!! Note
You can also enter single schema name in both SQL\*Plus and SQL Developer.
- [EDB DDL Extractor](edb_ddl_extractor) (recommended method)
- [Oracle Data Pump utilities](01_data_pump_utility/)

The script then iterates through the object types in the source database. Once the task is completed, the `.SQL` output is stored at the location you entered (e.g., `c:\Users\Example\Desktop\`).
EDB recommends using the EDB DDL extractor to extract your schemas.
Alternatively, you can use Oracle’s Data Pump (IMPDP/EXPDP) tool to export schemas from an Oracle database.

See [file encoding](/migration_portal/latest/known_issues_notes/#file-encoding) for information about the file encoding format expected by Migration Portal.
!!!warning
If you choose to extract schemas using a different method and then upload the DDL file to Migration Portal, the portal may not be able to assess the file correctly.
!!!

For more information, see [Known issues, limitations, and notes](/migration_portal/latest/known_issues_notes/).

## Schemas and objects support

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ legacyRedirectsGenerated:

To migrate a database, you must complete the following steps:

1. Perform a [schema extraction](01_mp_schema_extraction/#mp_schema_extraction).
1. Perform a [schema extraction](01_mp_schema_extraction).
2. Perform a [schema assessment](02_mp_schema_assessment/#mp_schema_assessment).
3. Perform a [schema migration](03_mp_schema_migration/#mp_schema_migration).
4. Perform a [data migration](04_mp_data_migration/#mp_data_migration).
Expand Down

0 comments on commit 68b215b

Please sign in to comment.