Skip to content
Skillpedia
General coding40k · #5379

ssma-console

Performs SSMA Console operations, like migrating from Oracle to SQL Server. It helps convert and migrate databases efficiently.

What it does

This tool helps migrate databases from Oracle to SQL Server. It creates a project, generates reports on compatibility, converts the schema (database structure), and migrates the data.

When to use it

  • ✓When you need to move an Oracle database to a SQL Server environment.
  • ✓To assess how easy the migration of an Oracle database will be.
  • ✓To convert the structure (schema) and data from an Oracle database to SQL Server.

Example of what to ask your AI

“I want to migrate my Oracle database to SQL Server. The Oracle host is 'myoracle.com', instance is 'ORCL', user is 'admin', and password is 'password123'. The SQL Server is 'myserver', database is 'NewDB', user is 'sqluser', and password is 'sqlpass'.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/github/awesome-copilot/blob/main/skills/ssma-console/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/ssma-console/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool generates configuration files (XML) with the information you provide about the source and target databases. It then uses a specific Microsoft program (SSMA Console) to perform the migration steps.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add github/awesome-copilot --skill ssma-console

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/ssma-console/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

SSMA Console — Oracle to SQL Server Migration

Generate XML configs and invoke SSMAforOracleConsole.exe directly — no external scripts or wrappers.

Operations (run in order for "full migration"):

  1. create-project — connect source & target, map schema
  2. generate-report — assessment report
  3. migrate-schema — convert & deploy schema
  4. migrate-data — convert, deploy, migrate data end-to-end

Collect Inputs

Ask for missing parameters. Defaults in parentheses.

Oracle: Host (localhost), Port (1521), Instance (required, service name), User, Password, Schema SQL Server: Server, Database, User, Password, Encrypt (true), Trust Server Certificate (true), Target Schema (dbo) Project: Name (ssma-migration), Folder (.), Type (sql-server-2022 — also 2016/2017/2019/2025/sql-azure), SSMA Path (C:\Program Files\Microsoft SQL Server Migration Assistant for Oracle\bin\SSMAforOracleConsole.exe)

Generate XML Files

Resolve ALL {PLACEHOLDER} tokens before writing. Generate 3 files:

ssma-variables.xml

<?xml version="1.0" encoding="utf-8"?>
<variables>
  <variable name="$WorkingFolder$" value="{PROJECT_FOLDER}" />
  <variable name="$ProjectType$" value="{PROJECT_TYPE}" />
  <variable name="$ProjectName$" value="{PROJECT_NAME}" />
  <variable-group name="OracleConnection">
    <variable name="$OracleHostName$" value="{ORACLE_HOST}" />
    <variable name="$OracleInstance$" value="{ORACLE_INSTANCE}" />
    <variable name="$OraclePort$" value="{ORACLE_PORT}" />
    <variable name="$OracleUserName$" value="{ORACLE_USER}" />
    <variable name="$OraclePassword$" value="{ORACLE_PASSWORD}" />
    <variable name="$OracleSchemaName$" value="{ORACLE_SCHEMA}" />
  </variable-group>
  <variable-group name="SQLServerConnection">
    <variable name="$SQLServerName$" value="{SQL_SERVER}" />
    <variable name="$SQLServerDb$" value="{SQL_DATABASE}" />
    <variable name="$SQLServerUsrID$" value="{SQL_USER}" />
    <variable name="$SQLServerPwd$" value="{SQL_PASSWORD}" />
  </variable-group>
  <variable-group name="ReportSettings">
    <variable name="$SummaryReportFile$" value="Reports\Assessment\AssessmentReport.xml" />
    <variable name="$ConversionReportFile$" value="Reports\Conversion\ConversionReport.xml" />
    <variable name="$ConversionReportFolder$" value="Reports\Conversion" />
    <variable name="$DataMigrationReportFile$" value="Reports\Migration\DataMigrationReport.xml" />
    <variable name="$SynchronizationReportFolder$" value="Reports\Synchronization" />
  </variable-group>
</variables>

ssma-servers.xml

CRITICAL: Use tns-name-mode — standard-mode treats instance as SID and fails with ORA-12505.

<?xml version="1.0" encoding="utf-8"?>
<servers>
  <oracle name="source_oracle">
    <tns-name-mode>
      <connection-provider value="OracleClient" />
      <service-name value="(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = $OracleHostName$)(PORT = $OraclePort$)))(CONNECT_DATA =(SERVICE_NAME = $OracleInstance$)))" />
      <user-id value="$OracleUserName$" />
      <password value="$OraclePassword$" />
    </tns-name-mode>
  </oracle>
  <sql-server name="target_sqlserver">
    <sql-server-authentication>
      <server value="$SQLServerName$" />
      <database value="$SQLServerDb$" />
      <user-id value="$SQLServerUsrID$" />
      <password value="$SQLServerPwd$" />
      <encrypt value="{ENCRYPT}" />
      <trust-server-certificate value="{TRUST_CERT}" />
    </sql-server-authentication>
  </sql-server>
</servers>

Operation Script XML

Generate one script per operation. All scripts share this common <config> block (add <object-overwrite action="overwrite" /> for migrate-schema/migrate-data, add <data-migration-connection source-use-last-used="true" target-server="target_sqlserver" /> for migrate-data, use every-5% progress for schema/data ops):

<config>
  <output-providers>
    <output-window suppress-messages="false" destination="stdout" />
    <upgrade-project action="yes" />
    <user-input-popup mode="continue" />
    <progress-reporting enable="true" report-messages="true" report-progress="every-10%" />
    <log-verbosity level="info" />
  </output-providers>
</config>

All scripts start with this preamble in <script-commands>:

<create-new-project project-folder="$WorkingFolder$" project-name="$ProjectName$"

…
FAQ

What is a 'schema'?

It's the structure of the database, like the tables, columns, and the relationships between them.

Do I need to install anything beforehand?

Yes, you need to have the Microsoft SQL Server Migration Assistant for Oracle (SSMA) installed on your computer.

Can I migrate from a database other than Oracle?

No, this tool is specifically for migrating from Oracle to SQL Server.

Details

Original description by the author

Use when: SSMA console operations — create project, generate assessment report, convert schema, migrate data, Oracle to SQL Server migration, schema conversion, data migration

repo: github/awesome-copilot

Popularity

GitHub stars
40k
Ranking position
#5379
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills