Oracle dan SQL Server memiliki sejumlah perbedaan arsitektural dan idiomatik, dan beberapa bit kunci terminologi digunakan secara berbeda dalam dokumentasi. Sudah beberapa tahun sejak saya melakukan ini, tetapi beberapa perbedaan idiomatik utama adalah:
Oracle tidak memiliki padanan langsung dengan tempdb. Tabel temp global adalah entitas persisten dan Anda tidak membuatnya dengan cepat seperti yang Anda lakukan dengan tabel temp di SQL Server.
Idiomatic PL / SQL jauh lebih prosedural daripada T-SQL idiomatik. Di sisi lain, PL / SQL memiliki fitur untuk mendukung operasi kursor cepat termasuk konstruksi loop paralel. Seringkali, hasil kursor menengah digunakan dengan cara yang mirip dengan hal-hal yang akan digunakan tabel temporer dalam SQL Server. Cari cara menggunakan '%' untuk mendapatkan polimorfisme dalam tipe variabel kursor.
SQL * Plus adalah alat baris perintah yang mirip dengan SQLCMD. Pada instalasi vanilla mungkin hanya itu yang Anda miliki. Jika Anda menginginkan alat GUI seperti SSMS, Anda bisa mendapatkan SQL Developer atau alat pihak ketiga seperti TOAD. Kodok cukup mahal.
Pelajari peran segmen rollback (digunakan dalam MVCC Oracle) dan kegembiraan dari kesalahan 'snapshot too old'.
Dapatkan akun metalink jika memungkinkan.
Baca panduan konsep. Ini memiliki banyak informasi pemula yang bermanfaat.
Tablespaces kira-kira setara dengan filegroup.
SQL dan dialek SQL yang tertanam dalam PL / SQL tidak sama dengan Oracle.
Oracle tidak mendukung CTE rekursif sampai baru-baru ini. Anda dapat melakukan kueri rekursif dengan CONNECT BY.
Baca dokumen untuk RMAN untuk melihat bagaimana melakukan backup. Anda dapat melakukan beberapa trik rapi seperti menggabungkan cadangan diferensial menjadi satu cadangan yang dapat disimpan.
Kamus data sistem memiliki versi tabel 'SEMUA', 'PENGGUNA' dan 'DBA'. 'USER_ ' menunjukkan objek yang dimiliki oleh login. 'ALL_ ' menunjukkan semua objek yang dapat dibaca oleh login. 'DBA_ *' adalah tampilan global, tetapi Anda harus memiliki izin yang sesuai untuk melihatnya. Anda mungkin akan menggunakan kamus data lebih banyak dengan Oracle daripada dengan SQL Server, jadi kenalilah.
Clustered tables disebut 'index ordered tables' di Oracle. 'Clustereed tables' di Oracle merujuk ke fitur yang sangat berbeda. Dalam Oracle, tabel berkerumun adalah fasilitas yang memungkinkan penyimpanan fisik tabel master / detail dikerjakan berdasarkan kunci umum. Fitur ini tidak banyak digunakan.
Tampilan terindeks disebut 'tampilan terwujud' di Oracle. Mereka bekerja agak berbeda, dengan nuansa yang cukup untuk pantas pertanyaan mereka sendiri.
Oracle tidak memiliki konsep yang setara dengan 'database' di SQL Server. Di Oracle, skema hanyalah pemilik beberapa objek basis data.
PL / SQL memiliki struktur modul eksplisit yang disebut 'paket'.
Lihat menggunakan urutan alih-alih kolom identitas.
Mendapatkan paket permintaan sedikit lebih baik di Oracle versi lama (sebelum 10g). Anda harus membuat tabel (dengan format yang tepat) untuk membuang paket, lalu 'MENJELASKAN' permintaan ke dalam tabel untuk mendapatkan paket permintaan. Anda kemudian bisa mendapatkan rencana kueri kembali dari tabel. Semua orang dan anjing mereka memiliki pertanyaan rencana kueri favorit. Lakukan pencarian google dan temukan, kemudian rasakan sesuai selera. 10g menambahkan paket yang disebut dbms_xplan , yang menyederhanakan bekerja dengan rencana kueri.
Jika Anda menjalankan Oracle pada host unix atau linux, memiliki pengetahuan tentang scripting shell tidak akan merugikan.
Oracle memiliki dukungan untuk transaksi otonom - Anda dapat melakukan transaksi otonom dalam dan berharap untuk tetap berkomitmen jika orang tua mundur. SQL Server transaksi bersarang bukan transaksi bersarang benar dan memiliki semantik yang berbeda. Anda bisa meniru perilaku ini dengan prosedur tersimpan CLR di SQL Server dengan membuka koneksi independen dan melakukan operasi otonom melalui itu.
Oracle hadir dengan tooling BI yang lebih sedikit, meskipun Oracle menjual server OLAP, tool pelaporan, dan tooling ETL.
Oracle membundel alat beban massal yang disebut SQL * Loader yang fungsinya mirip dengan bcp.
Setara terdekat dengan SSIS adalah Oracle Warehouse Builder (OWB), tetapi ini adalah item yang terpisah dan tidak dibundel dengan sistem basis.
Oracle membuat alat pelaporan yang disebut Laporan Oracle , tetapi ini juga tidak dibundel dengan sistem dasar. Ini setara dengan Layanan Pelaporan.
Oracle juga membuat alat ROLAP disebut Penemu . Ini adalah produk terdekat dengan Report Builder yang diproduksi Oracle. Versi yang lebih baru ('Drake') memiliki dukungan untuk mesin OLAP Oracle.
Oracle dulu memiliki produk OLAP yang disebut Express. Pada satu titik mereka membangunnya ke dalam mesin Oracle DBMS inti, menyimpan struktur data asli dalam gumpalan buram. Ini tidak sepenuhnya kompatibel dengan Express, dan memiliki antarmuka pendahuluan dengan sangat sedikit dukungan dari alat front-end OLAP pihak ketiga.
Oracle BI Enterprise Edition adalah yang dulunya Siebel Analytics. Ini memiliki beberapa fungsi OLAP tetapi saya tidak terbiasa dengannya. Mungkin seseorang yang telah menggunakannya mungkin ingin berkomentar. Tanpa secara langsung mengakui bahwa Siebel adalah produk yang sepenuhnya terpisah dari perkakas BI-nya sendiri, Oracle menyatakan bahwa tidak ada 'jalur peningkatan' dari Oracle BI Edisi Standar ke Edisi Perusahaan. Perhatikan bahwa suite Standard dan Enterprise BI adalah produk terpisah dan tidak digabungkan dengan sistem basis.
Dalam prakteknya, hal yang paling dekat dengan SSAS yang dijual oleh Oracle adalah Essbase (sebelumnya Hyperion). Ini adalah produk terpisah dan tidak dibundel dengan sistem basis.
Tidak mengherankan, strategi BI Oracle dipandang oleh para pakar industri sebagai sarapan anjing.
Mungkin ada hal-hal lain yang tidak dapat saya pikirkan tentang OTOH; Saya akan menambahkan mereka karena saya memikirkan mereka.