Bagikan melalui


Pelanggan Oracle

Berlaku untuk: SQL Server

Dimulai dengan SQL Server 2005 (9.x), SQL Server mendukung langganan push ke Oracle melalui penyedia Oracle OLE DB yang disediakan oleh Oracle.

Mengonfigurasi Pelanggan Oracle

Untuk mengonfigurasi Pelanggan Oracle, ikuti langkah-langkah berikut:

  1. Instal dan konfigurasikan perangkat lunak jaringan klien Oracle dan penyedia Oracle OLE DB di Distributor SQL Server, sehingga Distributor dapat membuat koneksi ke Pelanggan Oracle. Perangkat lunak jaringan klien Oracle harus menjadi versi terbaru yang tersedia. Oracle merekomendasikan agar pengguna menginstal versi terbaru perangkat lunak klien. Oleh karena itu, perangkat lunak klien sering kali merupakan versi yang lebih baru daripada perangkat lunak database. Cara paling mudah untuk menginstal perangkat lunak adalah dengan menggunakan Oracle Universal Installer pada disk Klien Oracle. Di Oracle Universal Installer, Anda akan memberikan informasi berikut:

    Informasi Deskripsi
    Beranda Oracle Ini adalah jalur ke direktori penginstalan untuk perangkat lunak Oracle. Terima default (C:\oracle\ora90 atau sejenisnya) atau masukkan jalur lain. Untuk informasi selengkapnya tentang Oracle Home, lihat bagian "Pertimbangan untuk Oracle Home" nanti dalam topik ini.
    Nama rumah Oracle Alias untuk jalur rumah Oracle.
    Jenis penginstalan Di Oracle 10g, pilih opsi Penginstalan Runtime atau Administrator .
  2. Buat nama TNS untuk Pelanggan. TNS (Substrat Jaringan Transparan) adalah lapisan komunikasi yang digunakan oleh database Oracle. Nama Layanan TNS adalah nama tempat instans database Oracle diketahui di jaringan. Anda menetapkan Nama Layanan TNS saat mengonfigurasi konektivitas ke database Oracle. Replikasi menggunakan nama Layanan TNS untuk mengidentifikasi Pelanggan dan untuk membuat koneksi.

    Setelah Penginstal Universal Oracle selesai, gunakan Asisten Konfigurasi Bersih untuk mengonfigurasi konektivitas jaringan. Anda harus menyediakan empat informasi untuk mengonfigurasi konektivitas jaringan. Administrator database Oracle mengonfigurasi konfigurasi jaringan saat menyiapkan database dan pendengar dan harus dapat memberikan informasi ini jika Anda tidak memilikinya. Anda harus melakukan hal berikut:

    Tindakan Deskripsi
    Mengidentifikasi database Ada dua metode untuk mengidentifikasi database. Metode pertama menggunakan Oracle System Identifier (SID) dan tersedia di setiap rilis Oracle. Metode kedua menggunakan Nama Layanan, yang tersedia dimulai dengan rilis Oracle 8.0. Kedua metode menggunakan nilai yang dikonfigurasi ketika database dibuat dan penting bahwa konfigurasi jaringan klien menggunakan metode penamaan yang sama dengan yang digunakan administrator saat mengonfigurasi pendengar untuk database.
    Mengidentifikasi alias jaringan untuk database Anda harus menentukan alias jaringan, yang digunakan untuk mengakses database Oracle. Alias jaringan pada dasarnya adalah penunjuk ke SID jarak jauh atau Nama Layanan yang dikonfigurasi saat database dibuat; ini telah disebut dengan beberapa nama dalam rilis dan produk Oracle yang berbeda, termasuk Nama Layanan Net dan Alias TNS. SQL*Plus meminta alias ini sebagai parameter "Host String" saat Anda masuk.
    Pilih protokol jaringan Pilih protokol yang sesuai yang ingin Anda dukung. Sebagian besar aplikasi menggunakan TCP.
    Tentukan informasi host untuk mengidentifikasi pendengar database Host adalah nama atau alias DNS komputer tempat pendengar Oracle berjalan, yang biasanya merupakan komputer yang sama tempat database berada. Untuk beberapa protokol, Anda harus memberikan informasi tambahan. Misalnya, jika Anda memilih TCP, Anda harus menyediakan port tempat pendengar mendengarkan permintaan koneksi ke database target. Konfigurasi TCP default menggunakan port 1521.
  3. Buat rekam jepret atau publikasi transaksi, aktifkan untuk Pelanggan non-SQL Server, lalu buat langganan push untuk Pelanggan. Untuk informasi selengkapnya, lihat Membuat Langganan untuk Pelanggan Non-SQL Server.

Mengatur izin direktori

Akun tempat layanan SQL Server pada distributor berjalan harus diberikan izin baca dan jalankan untuk direktori (dan semua subdirektori) tempat perangkat lunak jaringan klien Oracle diinstal.

Menguji konektivitas antara Distributor SQL Server dan Penerbit Oracle

Di dekat akhir Asisten Konfigurasi Net, mungkin ada opsi untuk menguji koneksi ke Pelanggan Oracle. Sebelum Anda menguji koneksi, pastikan instans database Oracle online dan Pendengar Oracle berjalan. Jika pengujian tidak berhasil, hubungi Oracle DBA yang bertanggung jawab atas database yang ingin Anda sambungkan.

Setelah Anda membuat koneksi yang berhasil ke Pelanggan Oracle, coba masuk ke database menggunakan akun dan kata sandi yang sama seperti yang Anda konfigurasi untuk Agen Distribusi untuk langganan:

  1. Klik Mulai, lalu klik Run.

  2. Ketik cmd dan klik OK.

  3. Pada command prompt, ketik:

    sqlplus <UserSchemaLogin>/<UserSchemaPassword>@<NetServiceName>

    Misalnya: sqlplus replication/$tr0ngPasswerd@Oracle90Server

  4. Jika konfigurasi jaringan berhasil, login akan berhasil dan Anda akan melihat SQL perintah.

Pertimbangan untuk Oracle Home

Oracle mendukung penginstalan biner aplikasi secara berdampingan, tetapi hanya satu set biner yang dapat digunakan oleh replikasi pada waktu tertentu. Setiap set biner dikaitkan dengan Oracle Home; biner berada di direktori %ORACLE_HOME%\bin. Anda harus memastikan bahwa set biner yang benar (khususnya versi terbaru perangkat lunak jaringan klien) digunakan saat replikasi membuat koneksi ke Pelanggan Oracle.

Masuk ke Distributor dengan akun yang digunakan oleh layanan SQL Server dan layanan SQL Server Agent dan atur variabel lingkungan yang sesuai. Variabel %ORACLE_HOME% harus diatur untuk merujuk ke titik penginstalan yang Anda tentukan ketika Anda menginstal perangkat lunak jaringan klien. %PATH% harus menyertakan direktori %ORACLE_HOME% \bin sebagai entri Oracle pertama yang ditemui. Untuk informasi tentang mengatur variabel lingkungan, lihat dokumentasi Windows.

Catatan

Jika Anda memiliki lebih dari satu rumah Oracle di SQL Server Distributor, pastikan bahwa Agen Distribusi menggunakan penyedia Oracle OLE DB terbaru. Dalam beberapa kasus, Oracle tidak memperbarui penyedia OLE DB secara default saat Anda memperbarui komponen klien pada Distributor SQL Server. Hapus instalan penyedia OLE DB lama dan instal penyedia OLE DB terbaru. Untuk informasi selengkapnya tentang menginstal dan menghapus instalan penyedia, lihat dokumentasi Oracle.

Pertimbangan untuk Pelanggan Oracle

Selain pertimbangan yang tercakup dalam topik Pelanggan Non-SQL Server, pertimbangkan masalah berikut saat mereplikasi ke Pelanggan Oracle:

  • Oracle memperlakukan string kosong dan nilai NULL sebagai NULL. Ini penting jika Anda menentukan kolom SQL Server sebagai NOT NULL, dan mereplikasi kolom ke Pelanggan Oracle. Untuk menghindari kegagalan saat menerapkan perubahan pada Pelanggan Oracle, Anda harus melakukan salah satu hal berikut:

    • Pastikan string kosong tidak disisipkan ke dalam tabel yang diterbitkan sebagai nilai kolom.

    • Gunakan parameter -SkipErrors untuk Agen Distribusi jika dapat diterima untuk diberi tahu tentang kegagalan dalam log riwayat Agen Distribusi dan untuk melanjutkan pemrosesan. Tentukan kode kesalahan Oracle 1400 (-SkipErrors1400).

    • Ubah skrip buat tabel yang dihasilkan, hapus atribut NOT NULL dari kolom karakter apa pun yang mungkin memiliki string kosong terkait, dan berikan skrip yang dimodifikasi sebagai skrip buat kustom untuk artikel menggunakan @creation_script parameter sp_addarticle.

  • Pelanggan Oracle mendukung opsi skema 0x4071. Untuk informasi selengkapnya tentang opsi skema, lihat sp_addarticle (Transact-SQL).

Memetakan Jenis Data dari SQL Server ke Oracle

Tabel berikut ini memperlihatkan pemetaan jenis data yang digunakan saat data direplikasi ke Pelanggan yang menjalankan Oracle.

Tipe data SQL Server Jenis Data Oracle
bigint NUMBER(19,0)
biner(1-2000) RAW(1-2000)
biner(2001-8000) BLOB
bit ANGKA(1)
karakter(1-2000) CHAR(1-2000)
karakter(2001-4000) VARCHAR2(2001-4000)
char(4001-8000) CLOB
date TANGGAL
datetime TANGGAL
datetime2(0-7) TIMESTAMP(7) untuk Oracle 9 dan Oracle 10; VARCHAR(27) untuk Oracle 8
datetimeoffset(0-7) TIMESTAMP(7) DENGAN ZONA WAKTU untuk Oracle 9 dan Oracle 10; VARCHAR(34) untuk Oracle 8
desimal(1-38, 0-38) NUMBER(1-38, 0-38)
float(53) FLOAT
float FLOAT
geografi BLOB
geometri BLOB
hierarchyid BLOB
gambar BLOB
int NUMBER(10,0)
uang NUMBER(19,4)
nchar(1-1000) CHAR(1-1000)
nchar(1001-4000) NCLOB
ntext NCLOB
numerik(1-38, 0-38) NUMBER(1-38, 0-38)
nvarchar(1-1000) VARCHAR2(1-2000)
nvarchar(1001-4000) NCLOB
nvarchar(maks) NCLOB
real REAL
smalldatetime TANGGAL
smallint ANGKA(5,0)
smallmoney NUMBER(10,4)
aql_variant T/A
nama sysname VARCHAR2(128)
text CLOB
time(0-7) VARCHAR(16)
timestamp RAW(8)
kecil ANGKA(3,0)
pengidentifikasi unik CHAR(38)
varbinary(1-2000) RAW(1-2000)
varbinary(2001-8000) BLOB
varchar(1-4000) VARCHAR2(1-4000)
varchar(4001-8000) CLOB
varbinary(max) BLOB
varchar(max) CLOB
xml NCLOB

Lihat Juga

Pelanggan Non-SQL Server
Berlangganan Publikasi