Compartir a través de


Creación de archivos de script (OracleToSQL)

El primer paso antes de iniciar la aplicación de consola SSMA es crear el archivo de script y, si es necesario, crear el archivo de valor variable y el archivo de conexión del servidor.

El archivo de script se puede dividir en tres secciones, viz..,:

  1. config: permite al usuario establecer los parámetros de configuración para la aplicación de consola.

  2. servers: permite al usuario establecer las definiciones de servidor de origen o destino. Esto también puede estar en un archivo de conexión de servidor independiente.

  3. script-commands: permite al usuario ejecutar comandos de flujo de trabajo de SSMA.

A continuación se describe detalladamente cada sección:

Configuración de las opciones de la consola de Oracle

Las configuraciones de un script se muestran en el archivo de script de consola.

Si se especifica cualquiera de los elementos en el nodo de configuración, se establecen como la configuración global, es decir, son aplicables a todos los comandos de script. Estos elementos de configuración también se pueden establecer dentro de cada comando de la sección script-command si el usuario quiere invalidar la configuración global.

Las opciones configurables por el usuario incluyen:

  1. Proveedor de ventana de salida: si el atributo suppress-messages está establecido en "true", los mensajes específicos del comando no se muestran en la consola. A continuación se muestra la descripción de los atributos:

    • destination: especifica si la salida debe imprimirse en un archivo o stdout. De forma predeterminada, el valor es False.

    • file-name: la ruta de acceso del archivo (opcional).

    • suppress-messages: suprime los mensajes en la consola. De forma predeterminada, el valor es False.

    Ejemplo:

    <output-providers>  
    
      <output-window  
    
        suppress-messages="<true/false>"   (optional)  
    
        destination="<file/stdout>"        (optional)  
    
        file-name="<file-name>"            (optional)  
    
       />  
    
    </output-providers>  
    

    or

    <...All commands...>  
    
      <output-window  
    
         suppress-messages="<true/false>"   (optional)  
    
         destination="<file/stdout>"        (optional)  
    
         file-name="<file-name>"            (optional)  
    
       />  
    
    </...All commands...>  
    
  2. Proveedor de conexión de migración de datos: especifica qué servidor de origen o destino se debe tener en cuenta para la migración de datos. Source-use-last-used indica que el último servidor de origen usado se usa para la migración de datos. Del mismo modo, target-use-last-used indica que se usa el último servidor de destino usado para la migración de datos. El usuario también puede especificar el servidor (origen o destino) mediante los atributos source-server o target-server.

    Solo se puede usar uno o el otro atributo especificado, es decir:

    • source-use-last-used="true" (valor predeterminado) o source-server="source_servername"

    • target-use-last-used="true" (valor predeterminado) o target-server="target_servername"

    Ejemplo:

    <output-providers>  
    
      <data-migration-connection source-use-last-used="true"  
    
                                 target-server="<target-server-unique-name>"/>  
    
    </output-providers>  
    

    or

    <migrate-data>  
    
      <data-migration-connection   source-server="<source-server-unique-name>"  
    
                                   target-use-last-used="true"/>  
    
    </migrate-data>  
    
  3. Elemento emergente entrada de usuario: esto permite controlar los errores, cuando los objetos se cargan desde la base de datos. El usuario proporciona los modos de entrada y, en caso de error, la consola continúa como especifica el usuario.

    Los modos incluyen:

    • ask-user: pide al usuario que continúe ("sí") o que se produzca un error ("no").

    • error: la consola muestra un error y detiene la ejecución.

    • continue: la consola continúa con la ejecución.

    El modo de guardado predeterminado es error.

    Ejemplo:

    <output-providers>  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </output-providers>  
    

    or

    <!-- Connect to target database -->  
    
    <connect-target-database server="<target-server-unique-name>">  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </connect-target-database>  
    
  4. Proveedor de reconexión: esto permite al usuario establecer la configuración de reconexión en caso de errores de conexión. Esto se puede establecer tanto para los servidores de origen como para los de destino.

    Los modos de reconexión son:

    • reconexión al último servidor usado: si la conexión no está activa, intenta volver a conectarse al último servidor usado como máximo 5 veces.

    • generate-an-error: si la conexión no está activa, se genera un error.

    El modo predeterminado es generate-an-error.

    Ejemplo:

    <output-providers>  
    
      <reconnect-manager on-source-reconnect="<reconnect-to-last-used-server/generate-an-error>"  
    
                         on-target-reconnect="<reconnect-to-last-used-server/generate-an-error>"/>  
    
    </output-providers>  
    

    or

    <!--synchronization-->  
    
    <synchronize-target>  
    
      <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/>  
    
    </synchronize-target>  
    

    or

    <!--data migration-->  
    
    <migrate-data server="<target-server-unique-name>">  
    
      <reconnect-manager  
    
        on-source-reconnect="reconnect-to-last-used-server"  
    
        on-target-reconnect="generate-an-error"/>  
    
    </migrate-data>  
    
  5. Proveedor de sobrescritura del convertidor: permite al usuario controlar los objetos que ya están presentes en la metabase de destino. Entre las posibles acciones se incluyen:

    • error: la consola muestra un error y detiene la ejecución.

    • sobrescribir: sobrescribe los valores de objeto existentes. Esta acción se realiza de forma predeterminada.

    • skip: la consola omite los objetos que ya existen en la base de datos.

    • ask-user: solicita al usuario que escriba ("sí"/"no")

    Ejemplo:

    <output-providers>  
    
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>  
    
    </output-providers>  
    

    or

    <convert-schema object-name="<object-name>">  
    
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>  
    
    </convert-schema>  
    
  6. Proveedor de requisitos previos con errores: esto permite al usuario controlar los requisitos previos necesarios para procesar un comando. De forma predeterminada, el modo strict es "false". Si se establece en "true", se genera una excepción para que no se cumpla los requisitos previos.

    Ejemplo:

    <output-providers>  
    
      <prerequisites strict-mode="<true/false>"/>  
    
    </output-providers>  
    
  7. Detener operación: durante la operación intermedia, si el usuario quiere detener la operación, se puede usar la tecla de acceso rápido "Ctrl+C ". SSMA para la consola de Oracle esperará a que se complete la operación y finalice la ejecución de la consola.

    Si el usuario quiere detener la ejecución inmediatamente, se puede presionar de nuevo la tecla de acceso rápido "Ctrl+C" para la terminación abrupta de la aplicación de consola de SSMA.

  8. Proveedor de progreso: informa del progreso de cada comando de consola. Esta opción está deshabilitada de manera predeterminada. Los atributos progress-reporting comprenden:

    • off

    • every-1%

    • every-2%

    • every-5%

    • every-10%

    • every-20%

    Ejemplo:

    <output-providers>  
    
      <progress-reporting enable="<true/false>"            (optional)  
    
                          report-messages="<true/false>"   (optional)  
    
                          report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off" (optional)/>  
    
    </output-providers>  
    

    or

    <...All commands...>  
    
      <progress-reporting  
    
        enable="<true/false>"            (optional)  
    
        report-messages="<true/false>"   (optional)  
    
        report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off"     (optional)/>  
    
    </...All commands...>  
    
  9. Nivel de detalle del registrador: establece el nivel de detalle del registro. Esto corresponde a la opción Todas las categorías de la interfaz de usuario. De forma predeterminada, el nivel de detalle del registro es "error".

    Las opciones de nivel de registrador incluyen:

    • fatal-error: solo se registran los mensajes de error irrecuperables.

    • error: solo se registran los mensajes de error y de error irrecuperable.

    • warning: todos los niveles excepto los mensajes de depuración e información se registran.

    • info: todos los niveles excepto los mensajes de depuración se registran.

    • debug: todos los niveles de mensajes registrados.

    Nota:

    Los mensajes obligatorios se registran en cualquier nivel.

    Ejemplo:

    <output-providers>  
    
      <log-verbosity level="fatal-error/error/warning/info/debug"/>  
    
    </output-providers>  
    

    or

    <...All commands...>  
    
      <log-verbosity level="fatal-error/error/warning/info/debug"/>  
    
    </...All commands...>  
    
  10. Invalidar contraseña cifrada: si es "true", la contraseña de texto no cifrado especificada en la sección definición del servidor del archivo de conexión del servidor o en el archivo de script, invalida la contraseña cifrada almacenada en el almacenamiento protegido si existe. Si no se especifica ninguna contraseña en texto no cifrado, se le pedirá al usuario que escriba la contraseña.

    En este caso se plantean dos casos:

    1. Si la opción de invalidación es false, el orden de búsqueda será Protected storage->Script File->Server Connection File-> Prompt User.

    2. Si la opción de invalidación es true, el orden de búsqueda será Script File->Server Connection File->Prompt User.

    Ejemplo:

    <output-providers>  
    
      <encrypted-password override="<true/false>"/>  
    
    </output-providers>  
    

La opción no configurable es:

  • Número máximo de intentos de reconexión: cuando una conexión establecida agota el tiempo de espera o se interrumpe debido a un error de red, es necesario volver a conectar el servidor. Los intentos de reconexión pueden tener un máximo de 5 reintentos después de lo cual la consola realiza automáticamente la reconexión. La instalación de la reconexión automática reduce el esfuerzo en volver a ejecutar el script.

Parámetros de conexión al servidor

Los parámetros de conexión del servidor se pueden definir en el archivo de script o en el archivo de conexión del servidor. Consulte la sección Creación de archivos de conexión de servidor (OracleToSQL) para obtener más detalles.

Comandos de script

El archivo de script contiene una secuencia de comandos de flujo de trabajo de migración en formato XML. La aplicación de consola SSMA procesa la migración en el orden de los comandos que aparecen en el archivo de script.

Por ejemplo, una migración de datos típica de una tabla específica de una base de datos de Oracle sigue la jerarquía de: Schema -> Table.

Cuando todos los comandos del archivo de script se ejecutan correctamente, la aplicación de consola SSMA sale y devuelve el control al usuario. El contenido de un archivo de script es más o menos estático con información variable contenida en un archivo de creación de valores variables (OracleToSQL) o, en una sección independiente dentro del archivo de script para valores variables.

Ejemplo:

<!--Sample of script file commands -->  
  
<ssma-script-file>  
  
  <script-commands>  
  
    <create-new-project project-folder="<project-folder>"  
  
                        project-name="<project-name>"  
  
                        overwrite-if-exists="<true/false>"/>  
  
    <connect-source-database server="<source-server-unique-name>"/>  
  
    <save-project/>  
  
    <close-project/>  
  
  </script-commands>  
  
</ssma-script-file>  

Las plantillas que constan de 3 archivos de script (para ejecutar varios escenarios), un archivo de valor variable y un archivo de conexión de servidor se proporcionan en la carpeta Scripts de consola de ejemplo del directorio del producto:

  • AssessmentReportGenerationSample.xml

  • ConversionAndDataMigrationSample.xml

  • SqlStatementConversionSample.xml

  • VariableValueFileSample.xml

  • ServersConnectionFileSample.xml

Puede ejecutar las plantillas (archivos) después de cambiar los parámetros que se muestran en él por relevancia.

Puede encontrar una lista completa de comandos de script en Ejecución de la consola SSMA (OracleToSQL)

Validación de archivos de script

El usuario puede validar fácilmente su archivo de script en el archivo de definición de esquema "O2SSConsoleScriptSchema.xsd" disponible en la carpeta "Esquemas".

Paso siguiente

El siguiente paso en el funcionamiento de la consola es Crear archivos de valor de variable (OracleToSQL).

Consulte también

Creación de archivos de valor variable (OracleToSQL)