Membuat File Skrip (OracleToSQL)

Langkah pertama sebelum meluncurkan aplikasi konsol SSMA adalah membuat file skrip dan jika perlu membuat file nilai variabel dan file koneksi server.

File skrip dapat dibagi menjadi tiga bagian, viz..,:

  1. Config: Memungkinkan pengguna untuk mengatur parameter konfigurasi untuk aplikasi konsol.

  2. Server: Memungkinkan pengguna untuk mengatur definisi server sumber/target. Ini juga dapat berada dalam file koneksi server terpisah.

  3. perintah skrip: Memungkinkan pengguna menjalankan perintah alur kerja SSMA.

Setiap bagian dijelaskan secara rinci di bawah ini:

Mengonfigurasi Pengaturan Konsol Oracle

Konfigurasi skrip ditampilkan dalam file skrip konsol.

Jika salah satu elemen ditentukan dalam simpul konfigurasi, elemen tersebut ditetapkan sebagai pengaturan global yaitu elemen tersebut berlaku untuk semua perintah skrip. Elemen konfigurasi ini juga dapat diatur dalam setiap perintah di bagian perintah skrip jika pengguna ingin mengambil alih pengaturan global.

Opsi yang dapat dikonfigurasi pengguna meliputi:

  1. Penyedia Jendela Output: Jika atribut suppress-messages diatur ke 'true', pesan khusus perintah tidak ditampilkan di konsol. Deskripsi Atribut diberikan di bawah ini:

    • tujuan: Menentukan apakah output perlu dicetak ke file atau stdout. Ini false secara default.

    • file-name: Jalur file (Opsional).

    • suppress-messages: Menyembunyikan pesan di konsol. Ini adalah 'false' secara default.

    Contoh:

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

    atau

    <...All commands...>  
    
      <output-window  
    
         suppress-messages="<true/false>"   (optional)  
    
         destination="<file/stdout>"        (optional)  
    
         file-name="<file-name>"            (optional)  
    
       />  
    
    </...All commands...>  
    
  2. Penyedia Koneksi Migrasi Data: Ini menentukan server sumber/target mana yang akan dipertimbangkan untuk migrasi data. Penggunaan sumber terakhir yang digunakan menunjukkan bahwa server sumber terakhir yang digunakan digunakan digunakan untuk migrasi data. Demikian pula target-use-last-used menunjukkan bahwa server target yang terakhir digunakan digunakan digunakan untuk migrasi data. Pengguna juga dapat menentukan server (sumber atau target) dengan menggunakan atribut source-server atau target-server.

    Hanya satu atau atribut lain yang ditentukan yang dapat digunakan yaitu:

    • source-use-last-used="true" (default) atau source-server="source_servername"

    • target-use-last-used="true" (default) atau target-server="target_servername"

    Contoh:

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

    atau

    <migrate-data>  
    
      <data-migration-connection   source-server="<source-server-unique-name>"  
    
                                   target-use-last-used="true"/>  
    
    </migrate-data>  
    
  3. Popup Input Pengguna: Ini memungkinkan penanganan kesalahan, ketika objek dimuat dari database. Pengguna menyediakan mode input, dan jika terjadi kesalahan, konsol berlanjut seperti yang ditentukan pengguna.

    Mode tersebut meliputi:

    • ask-user - Meminta pengguna untuk melanjutkan('ya') atau kesalahan keluar ('tidak').

    • kesalahan- Konsol menampilkan kesalahan dan menghentikan eksekusi.

    • lanjutkan- Konsol dilanjutkan dengan eksekusi.

    Mode default adalah kesalahan.

    Contoh:

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

    atau

    <!-- Connect to target database -->  
    
    <connect-target-database server="<target-server-unique-name>">  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </connect-target-database>  
    
  4. Sambungkan Kembali Penyedia: Ini memungkinkan pengguna untuk mengatur pengaturan koneksi ulang yang menyebabkan kegagalan koneksi. Ini dapat diatur untuk server sumber dan target.

    Mode koneksi ulang adalah:

    • reconnect-to-last-used-server: Jika koneksi tidak aktif, koneksi mencoba menyambungkan kembali ke server terakhir yang digunakan paling lama 5 kali.

    • generate-an-error: Jika koneksi tidak aktif, kesalahan akan dihasilkan.

    Mode defaultnya adalah generate-an-error.

    Contoh:

    <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>  
    

    atau

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

    atau

    <!--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. Penyedia Timpa Pengonversi: Ini memungkinkan pengguna untuk menangani objek yang sudah ada pada metabase target. Tindakan yang mungkin meliputi:

    • error: Konsol menampilkan kesalahan dan menghentikan eksekusi.

    • timpa: Menimpa nilai objek yang ada. Tindakan ini dilakukan secara default.

    • lewati: Konsol melewati objek yang sudah ada di database

    • ask-user: Meminta input kepada pengguna ('yes'/ 'no')

    Contoh:

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

    atau

    <convert-schema object-name="<object-name>">  
    
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>  
    
    </convert-schema>  
    
  6. Penyedia Prasyarat Gagal: Ini memungkinkan pengguna untuk menangani prasyarat apa pun yang diperlukan untuk memproses perintah. Secara default, mode ketat adalah 'false'. Jika diatur ke 'true', pengecualian akan dihasilkan karena kegagalan untuk memenuhi prasyarat.

    Contoh:

    <output-providers>  
    
      <prerequisites strict-mode="<true/false>"/>  
    
    </output-providers>  
    
  7. Hentikan Operasi: Selama operasi tengah, jika pengguna ingin menghentikan operasi, maka hotkey 'Ctrl+C' dapat digunakan. SSMA untuk Oracle Console akan menunggu operasi selesai dan mengakhiri eksekusi konsol.

    Jika pengguna ingin segera menghentikan eksekusi, maka, hotkey 'Ctrl+C' dapat ditekan lagi untuk penghentian mendadak aplikasi Konsol SSMA.

  8. Penyedia Kemajuan: Menginformasikan kemajuan setiap perintah konsol. Opsi ini dinonaktifkan secara default. Atribut pelaporan kemajuan terdiri:

    • nonaktif

    • setiap-1%

    • setiap-2%

    • setiap-5%

    • setiap-10%

    • setiap-20%

    Contoh:

    <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>  
    

    atau

    <...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. Verbositas Pencatat: Mengatur tingkat verbositas log. Ini sesuai dengan opsi Semua Kategori di UI. Secara default, tingkat verbositas log adalah "kesalahan".

    Opsi tingkat pencatat meliputi:

    • fatal-error: Hanya pesan kesalahan fatal yang dicatat.

    • error: Hanya pesan kesalahan dan fatal-error yang dicatat.

    • peringatan: Semua tingkat kecuali pesan debug dan info dicatat.

    • info: Semua tingkat kecuali pesan debug dicatat.

    • debug: Semua tingkat pesan yang dicatat.

    Catatan

    Pesan wajib dicatat di tingkat mana pun.

    Contoh:

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

    atau

    <...All commands...>  
    
      <log-verbosity level="fatal-error/error/warning/info/debug"/>  
    
    </...All commands...>  
    
  10. Timpa Kata Sandi Terenkripsi: Jika 'true', kata sandi teks jelas yang ditentukan di bagian definisi server dari file koneksi server atau dalam file skrip, ambil alih kata sandi terenkripsi yang disimpan dalam penyimpanan yang dilindungi jika ada. Jika tidak ada kata sandi yang ditentukan dalam teks yang jelas, pengguna akan diminta untuk memasukkan kata sandi.

    Berikut dua kasus yang muncul:

    1. Jika opsi ambil alih salah, urutan pencarian akan menjadi File Koneksi File-Server> Skrip-File> Skrip Terlindungi-> Minta Pengguna.

    2. Jika opsi ambil alih benar, urutan pencarian akan menjadi Script File-Server> Connection File-Prompt> User.

    Contoh:

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

Opsi yang tidak dapat dikonfigurasi adalah:

  • Upaya Sambungkan Ulang Maksimum: Ketika waktu koneksi yang dibuat habis atau terputus karena kegagalan jaringan, server harus disambungkan kembali. Upaya koneksi ulang diizinkan untuk maksimum 5 percobaan ulang setelah itu, konsol secara otomatis melakukan koneksi ulang. Fasilitas koneksi ulang otomatis mengurangi upaya Anda dalam menjalankan ulang skrip.

Parameter Koneksi Server

Parameter koneksi server dapat ditentukan dalam file skrip atau dalam file koneksi server. Silakan lihat bagian Membuat File Koneksi Server (OracleToSQL) untuk detail selengkapnya.

Perintah Skrip

File skrip berisi urutan perintah alur kerja migrasi dalam format XML. Aplikasi konsol SSMA memproses migrasi dalam urutan perintah yang muncul dalam file skrip.

Misalnya, migrasi data khas tabel tertentu dalam database Oracle mengikuti hierarki: Skema -> Tabel.

Ketika semua perintah dalam file skrip berhasil dijalankan, aplikasi konsol SSMA keluar dan mengembalikan kontrol kepada pengguna. Konten file skrip lebih atau kurang statis dengan informasi variabel yang terkandung baik dalam Membuat File Nilai Variabel (OracleToSQL) atau, di bagian terpisah dalam file skrip untuk nilai variabel.

Contoh:

<!--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>  

Templat yang terdiri dari 3 file skrip (untuk menjalankan berbagai skenario), file nilai variabel, dan file koneksi server disediakan di folder Skrip Konsol Sampel direktori produk:

  • AssessmentReportGenerationSample.xml

  • ConversionAndDataMigrationSample.xml

  • SqlStatementConversionSample.xml

  • VariableValueFileSample.xml

  • ServersConnectionFileSample.xml

Anda dapat menjalankan templat (file) setelah mengubah parameter yang ditampilkan di dalamnya untuk relevansi.

Daftar lengkap perintah skrip dapat ditemukan di Menjalankan Konsol SSMA (OracleToSQL)

Validasi File Skrip

Pengguna dapat dengan mudah memvalidasi file skripnya terhadap file definisi skema 'O2SSConsoleScriptSchema.xsd' yang tersedia di folder 'Skema'.

Langkah Selanjutnya

Langkah selanjutnya dalam mengoperasikan konsol adalah Membuat File Nilai Variabel (OracleToSQL).

Lihat juga

Membuat File Nilai Variabel (OracleToSQL)