oracle gw / mssql linked server - doag.org€¦ · agenda 2 9/6/2018 oracle rdbms vs. sql server 1....
TRANSCRIPT
![Page 1: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/1.jpg)
BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF
HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH
Oracle GW / MSSQL Linked ServerSetup und Besonderheiten
Rainer Klomps
![Page 2: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/2.jpg)
Agenda
Oracle RDBMS vs. SQL Server2 9/6/2018
1. Oracle Gateway / MS SQL Linked Server, was ist das?
2. Motivation zum Einsatz
3. Setup
4. Verhalten / Features / Bugs
5. Demos
![Page 3: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/3.jpg)
Oracle RDBMS vs. SQL Server3 9/6/2018
Oracle Gateway / MS SQL Linked
Server, was ist das?
![Page 4: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/4.jpg)
Oracle Gateway / MS SQL Linked Server, was ist das?
Oracle RDBMS vs. SQL Server4 9/6/2018
Vergleichbar mit DB-Links in Oracle
Kommunikationsmittel zwischen Datenbanken unterschiedlicher Hersteller *
* Linked Server ist – wie einige andere SQL Server Features - unter Linux nicht
verfügbar
(vgl. https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes?view=sql-
server-2017) * *
* * Ausnahme: Linked Server zwischen zwei SQL Server DBs
![Page 5: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/5.jpg)
Oracle Gateway / MS SQL Linked Server, was ist das?
Oracle RDBMS vs. SQL Server5 9/6/2018
Graphische Darstellung der Kommunikation MSSQL – Oracle DB
https://docs.microsoft.com/de-de/sql/relational-databases/linked-servers/linked-servers-database-engine
![Page 6: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/6.jpg)
Oracle Gateway / MS SQL Linked Server, was ist das?
Oracle RDBMS vs. SQL Server6 9/6/2018
Graphische Darstellung der Kommunikation Oracle DB - MSSQL
Oracle DB NetzwerkOracle TNS Oracle Gateway für MSSQL MSSQL
![Page 7: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/7.jpg)
Oracle RDBMS vs. SQL Server7 9/6/2018
Motivation zum Einsatz
![Page 8: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/8.jpg)
Motivation zum Einsatz
Oracle RDBMS vs. SQL Server8 9/6/2018
DB Kommunikation
Integration
Migration
Lizenzkosteneinsparung
Datenkonsolidierung
![Page 9: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/9.jpg)
Oracle RDBMS vs. SQL Server9 9/6/2018
Setup
![Page 10: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/10.jpg)
Setup - Standard Linked Server
Oracle RDBMS vs. SQL Server10 9/6/2018
– Bestandteil der SQL Server Installation
• OLE DB Provider für Microsoft Directory Services (ADsDSOObject)
• OLE DB Simple Provider (MSDAOSP)
• Microsoft OLE DB Provider for ODBC Drivers (MSDASQL)
• Microsoft OLE DB Provider for Analysis Services 14.0 (MSOLAP)
• Microsoft OLE DB Provider for Search (Search.CollatorDSO)
• SQL Server Native Client 11.0 (SQLNCLI11)
• Microsoft OLE DB Provider for SQL Server (SQLOLEDB)
• OLE DB Provider for SQL Server Integration Services (SSISOLEDB)
![Page 11: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/11.jpg)
Setup - Verfügbare Oracle Gateways
Oracle RDBMS vs. SQL Server11 9/6/2018
– Die folgenden Gateways sind im Rahmen der Oracle Gateway Installation
auswählbar
– Oracle Database Gateway für
▪ Informix
▪ Sybase
▪ MS SQL Server
▪ Teradata
▪ APPC (advanced program to
program communication IBM
mainframe)
▪ WebSphere MQ
▪ ODBC (keine Lizenzkosten,kein
Support)
▪ DRDA (Distributed Relational
Database Architecture)
▪ Oracle Provider for DRDA
![Page 12: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/12.jpg)
Setup Linked Server (1)
Oracle RDBMS vs. SQL Server12 9/6/2018
– Aktivierung von Mixed Mode Authentifizierung in der DB-Instanz
![Page 13: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/13.jpg)
Setup Linked Server (2)
Oracle RDBMS vs. SQL Server13 9/6/2018
– Installation des Oracle Provider for OLE DB 64 bit (Komponente der
benutzerdefinierten Oracle Client-Installation)
![Page 14: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/14.jpg)
Setup Linked Server (3)
Oracle RDBMS vs. SQL Server14 9/6/2018
– Die Einstellung der Eigenschaft „InProcess“ für den Oracle OLE DB Provider ist
zwingend erforderlich.
![Page 15: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/15.jpg)
Setup Linked Server (4)
Oracle RDBMS vs. SQL Server15 9/6/2018
– Neuen Linked Server / „Verbindungsserver“ anlegen
![Page 16: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/16.jpg)
Setup Linked Server (5)
Oracle RDBMS vs. SQL Server16 9/6/2018
– Informationen zur Anmeldung der SQL Server Session bei Oracle im Menü
„Sicherheit“
![Page 17: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/17.jpg)
Setup Linked Server (6)
Oracle RDBMS vs. SQL Server17 9/6/2018
– Konfiguration der Serveroptionen
![Page 18: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/18.jpg)
Setup Linked Server (6)
Oracle RDBMS vs. SQL Server18 9/6/2018
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server =
N'MSSQL_2_P_GWDEMO', @srvproduct=N'',
@provider=N'OraOLEDB.Oracle‘,
@datasrc=N'RKLs-Datenquirl/p_gwdemo'
GO
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'data access', @optvalue=N'true'
GO
![Page 19: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/19.jpg)
Setup Linked Server (7)
Oracle RDBMS vs. SQL Server19 9/6/2018
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'rpc out', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'sub', @optvalue=N'false'
GO
![Page 20: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/20.jpg)
Setup Linked Server (8)
Oracle RDBMS vs. SQL Server20 9/6/2018
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'query timeout', @optvalue=N'0'
GO
![Page 21: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/21.jpg)
Setup Linked Server (9)
Oracle RDBMS vs. SQL Server21 9/6/2018
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'use remote collation', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'MSSQL_2_P_GWDEMO',
@optname=N'remote proc transaction promotion', @optvalue=N'true'
GO
USE [master]
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname =
N'MSSQL_2_P_GWDEMO', @locallogin = NULL , @useself = N'False',
@rmtuser = N‘scott', @rmtpassword = N‘tiger'
GO
![Page 22: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/22.jpg)
Setup Oracle Gateway (1)
Oracle RDBMS vs. SQL Server22 9/6/2018
Installationsverzeichnis
![Page 23: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/23.jpg)
Setup Oracle Gateway (2)
Oracle RDBMS vs. SQL Server23 9/6/2018
Produkte
![Page 24: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/24.jpg)
Setup Oracle Gateway (3)
Oracle RDBMS vs. SQL Server24 9/6/2018
Informationen zur SQL Server DB
![Page 25: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/25.jpg)
Setup Oracle Gateway (4)
Oracle RDBMS vs. SQL Server25 9/6/2018
Listener / Tnsnames-Konfiguration
![Page 26: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/26.jpg)
Setup Oracle Gateway (6)
Oracle RDBMS vs. SQL Server26 9/6/2018
Listener Name / Protokoll
![Page 27: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/27.jpg)
Setup Oracle Gateway (7)
Oracle RDBMS vs. SQL Server27 9/6/2018
Listener Port
![Page 28: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/28.jpg)
Setup Oracle Gateway (8)
Oracle RDBMS vs. SQL Server28 9/6/2018
Für das Gateway muss eine Oracle SID eingerichtet werden (Default: dg4msql)
Für jede Verbindung und für jede Kombination von Gateway-Parametern muss es
eine separate SID („GWSID“) geben.
Die zu einer GWSID gehörenden Konfigurationsdateien befinden sich unter
<GW_HOME>\<GWSID>, also beispielsweise
C:\app\oragw\product\18.0.0\tghome_1\dg4msql
<GW_HOME>\<GWSID>\admin\dg4msql_cvw.sql (Views)
<GW_HOME>\<GWSID>\admin\dg4msql_tx.sql (TX-Log)
<GW_HOME>\<GWSID>\admin\ initdg4msql.ora (Parameter)
Ausnahme: TNS-Dateien
<GW_HOME>\network\admin\listener.ora, tnsnames.ora, sqlnet.ora
![Page 29: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/29.jpg)
Setup Oracle Gateway (9)
Oracle RDBMS vs. SQL Server29 9/6/2018
Die 12c Gateway-Installation änderte die TNS-Einstellungen, so dass der Listener
aus dem neuen GW_HOME verwendet wurde (18c OK)
Pflege der Dateien listener.ora, tnsnames.ora und sqlnet.ora damit bei 12c in
GW_HOME
In der master-DB von SQL Server muss eine Tabelle zur Unterstützung des Two-
Phase-Commit angelegt werden (<TG_HOME>\<GW_SID>\admin\dg4msql_tx.sql)
Im Zielschema des DB-Links müssen Views zum Zugriff auf Spalten-Informationen
angelegt werden (<TG_HOME>\<GW_SID>\admin\dg4msql_cvw.sql)
– "dbo"."ALL/USER_CONS_COLUMNS_vw“
– "dbo"."ALL /USER _IND_COLUMNS_vw“
![Page 30: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/30.jpg)
Setup Oracle Gateway (10)
Oracle RDBMS vs. SQL Server30 9/6/2018
listener.ora ($GW_HOME\network\admin)
LISTENER_GW =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = RKLs-Datenquirl)(PORT = 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
)
![Page 31: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/31.jpg)
Setup Oracle Gateway (11)
Oracle RDBMS vs. SQL Server31 9/6/2018
listener.ora ($GW_HOME\network\admin)
SID_LIST_LISTENER_GW =
(SID_LIST =
(SID_DESC =
(SID_NAME = dg4msql)
(PROGRAM = dg4msql)
(ORACLE_HOME = C:\app\oragw\product\18.0.0\tghome_1)
)
)
# ohne Endung .exe
![Page 32: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/32.jpg)
Konfiguration
Oracle RDBMS vs. SQL Server32 9/6/2018
Zur Konfiguration der Dateien listener.ora, tnsnames.ora, init<GW_SID>.ora und des
DB-Links bietet Oracle Support unter Doc ID 1351616.1 ein Tool an, das nach
Eingabe der benötigten Parameter die entsprechenden Dateien / das Statement für
den DB-Link generiert.
![Page 33: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/33.jpg)
Konfiguration
Oracle RDBMS vs. SQL Server33 9/6/2018
![Page 34: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/34.jpg)
Oracle RDBMS vs. SQL Server34 9/6/2018
Verhalten / Features / Bugs
![Page 35: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/35.jpg)
Verhalten / Features / Bugs
Oracle / Gateway (1)
Oracle RDBMS vs. SQL Server35 9/6/2018
(<TG_HOME>\<GW_SID>\admin\initdg4msql.ora
– HS_FDS_CONNECT_INFO=RKLS-DATENQUIRL/RKLS-
DATENQUIRL/AdventureWorks2012
– select user from dual@sqlsrv
– FEHLER in Zeile 1:
– ORA-28500: Verbindung von ORACLE zu Fremdsystem gab diese Nachricht zurück:
– HS_FDS_CONNECT_INFO='RKLS-DATENQUIRL'/'RKLS-DATENQUIRL'/AdventureWorks2012
– [Oracle][ODBC SQL Server Wire Protocol driver]General error. select failed: 0
– {HY000}
– ORA-02063: vorherige 2 lines von SQLSRV
In 12c
![Page 36: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/36.jpg)
Verhalten / Features / Bugs
Oracle / Gateway (2)
Oracle RDBMS vs. SQL Server36 9/6/2018
(<TG_HOME>\<GW_SID>\admin\initdg4msql.ora
– HS_FDS_CONNECT_INFO=RKLS-DATENQUIRL//AdventureWorks2012
behebt das Problem
Unix-Pfad bei HS_FDS_TRACE_FILE_NAME
– HS_FDS_TRACE_FILE_NAME=C:/app/oracle/product/12.1.0/tghome_1/hs/trace/
dblink_trace.txt
HS_FDS_RECOVERY_ACCOUNT / HS_FDS_RECOVERY_PWD
– Default: Password unverschlüsselt
HS_FDS_RECOVERY_PWD = * Verschlüsselungstool
<TG_HOME>\BIN\dg4pwd.exe
In 12c
In 12c
![Page 37: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/37.jpg)
Verhalten / Features / Bugs
Oracle / Gateway (3)
Oracle RDBMS vs. SQL Server37 9/6/2018
Oracle puffert die Metadaten verwendeter Objekte
Wird ein Objekt nach der Verwendung von Oracle auf SQL Server Seite strukturell
geändert, ist die alte Struktur weiter präsent und es kommt zu Fehlermeldungen
Abhilfe: Rollback!!!
Transaktionen werden durch explizites commit abgeschlossen
![Page 38: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/38.jpg)
Verhalten / Features / Bugs
Oracle / Gateway (4)
Oracle RDBMS vs. SQL Server38 9/6/2018
Die Gateway-Installation ändert die TNS Umgebung, so dass der Listener aus dem
neuen GW_HOME verwendet wird (12c, 18c OK)
Dem entsprechend müssen Konfigurationen der TNS-Parameterdateien im GW-
Home durchgeführt werden (12c, 18c OK)
Default Authentifizierung: DB
![Page 39: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/39.jpg)
Verhalten / Features / Bugs
MSSQL / Linked Server (1)
Oracle RDBMS vs. SQL Server39 9/6/2018
Transaktionen werden implizit nach jedem DML-Statement abgeschlossen
Transaktionsverhalten entsprechend Oracle möglich mit
• set xact_abort on
• begin distributed transaction
• …
• go
Für alle OLE DB Provider inkl. SQL Server erforderlich, außer, wenn der OLE DB
Provider geschachtelte Transaktionen zulässt
![Page 40: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/40.jpg)
Verhalten / Features / Bugs
MSSQL / Linked Server (2)
Oracle RDBMS vs. SQL Server40 9/6/2018
Default Authentifizierung: OS
Mengendifferenz „except“ statt „minus“
![Page 41: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/41.jpg)
Oracle RDBMS vs. SQL Server41 9/6/2018
Demos
![Page 42: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/42.jpg)
Demo 1: SQL Statements SQL Server Oracle
Oracle RDBMS vs. SQL Server42 9/6/2018
Demo: Benutzung der üblichen SQL-Server Syntax
Vorteil: relativ einfach
Nachteil: SQL Server holt sich die Daten vom Linked Server (hier Oracle) und führt
die Abfrage aus relativ langsam, insbesondere bei Joins
insert into [MSSQL_2_P_GWDEMO]..[RKL].[DEMO_1] values(1,'Erste Zeile')
![Page 43: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/43.jpg)
Demo 2: SQL Statements SQL Server Oracle
Oracle RDBMS vs. SQL Server43 9/6/2018
Demo: Benutzung der openquery Syntax
Vorteil: pass-through query, Abfragen werden auf dem Linked Server ausgeführt,
schneller, insbesondere bei größeren Joins oder relativ kleiner Ergebnismenge
Nutzung existierender Indizes auf dem Linked Server
Es werden nur die Ergebnisse der Abfrage zurückgeliefert
insert into openquery ( MSSQL_2_P_GWDEMO, 'select * from DEMO_2 where 0=1')
values (1,'Erste Zeile')
![Page 44: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/44.jpg)
Demo 3: SQL Statements SQL Server Oracle
Oracle RDBMS vs. SQL Server44 9/6/2018
Demo: Direktes Übertragen von Statements an Oracle mittels exec()
Vorteil: Der komplette in der exec-Klammer stehende String wird 1:1 an Oracle zur
Bearbeitung übergeben
– Performance
Keine Einschränkung auf DML-Statements, auch DDL, DCL, TCL sind möglich
PL/SQL ist ebenfalls möglich
exec ('create table demo_3( id number, contents varchar2(20))') at
MSSQL_2_P_GWDEMO;
![Page 45: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/45.jpg)
SQL Statements Oracle MSSQL Server
Oracle RDBMS vs. SQL Server45 9/6/2018
Übliche, von der Verwendung von Datenbank-Links her bekannte Syntax
Einige von Oracle her bekannte Tabellen/Views werden vom Gateway simuliert
Beispiele:
– dual
– all/dba_users
– user/all/dba_cons_columns
![Page 46: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/46.jpg)
Demo 4: SQL Statements Oracle SQL Server
Oracle RDBMS vs. SQL Server46 9/6/2018
Demo: Anlegen einer lokalen Kopie einer SQL Server Tabelle
Mengendifferenzbildung SQLSRV Datensätze - kopierte Datensätze
Timing Mengendifferenzbildung
![Page 47: Oracle GW / MSSQL Linked Server - doag.org€¦ · Agenda 2 9/6/2018 Oracle RDBMS vs. SQL Server 1. Oracle Gateway / MS SQL Linked Server, was ist das? 2. Motivation zum Einsatz 3](https://reader030.vdocument.in/reader030/viewer/2022021622/5b9942f909d3f2085f8d1de2/html5/thumbnails/47.jpg)
Rainer Klomps
Senior Consultant
Tel. +49 162 292 34 36
9/6/2018 Oracle RDBMS vs. SQL Server47