Connecting to Microsoft SQL Server database from Oracle using Database Gateway for SQL Server
-
Upload
anar-godjaev -
Category
Education
-
view
3.256 -
download
6
description
Transcript of Connecting to Microsoft SQL Server database from Oracle using Database Gateway for SQL Server
Connecting to Microsoft SQL Server database from Oracle using Database Gateway for SQL Server
Following steps are involved. Please note that this steps are shown for Linux/Unix platform but for Windows also similar steps are to be followed.
1. Download Oracle Database Gateways CD if you have not already installed it2. Install Oracle Database Gateway for Microsoft SQL Server3. Configure Database Gateway for Microsoft SQL Server (DG4MSQL)
Download the softwareDownload Oracle Database Gateways from Oracle eDelivery site.
If you database version 11.2.0.3 please upload 10404530 patch:
Oracle Database 11g Release 2 (11.2.0.3) is available in the latest media pack. You can also download the software from My Oracle Support Web site:
https://support.oracle.com
To download the software from My Oracle Support:
1. Log on to My Oracle Support.2. Click Patches & Updates.3. In the Patch Search section, click the Search tab.4. Enter 10404530 in the patch number field.5. Select a platform to download.6. Click Search.7. In the Patch Search Results page, under Patch Name, click the patch number to display the
patch details.8. Click Download.9. From the File Download window, click each file name to download the selected software.
Table 1 Installation Types and Associated Zip Files
Installation Type Zip File
Oracle Database (includes Oracle Database and Oracle RAC)
Note: you must download both zip files to install Oracle Database.
p10404530_112030_platform_1of7.zip
p10404530_112030_platform_2of7.zip
Oracle Grid Infrastructure (includes Oracle ASM, Oracle Clusterware, and Oracle Restart)
p10404530_112030_platform_3of7.zip
Oracle Database Client p10404530_112030_platform_4of7.zip
Oracle Gateways p10404530_112030_platform_5of7.zip
Oracle Examples p10404530_112030_platform_6of7.zip
Deinstall p10404530_112030_platform_7of7.zip
Install Oracle Database Gateway for Microsoft SQL serverUnzip the downloaded zip file. It will create a directory named “gateways”Change the directory to gateways and start installer.
-bash-3.00$ cd /software/11gR2-Gateways/gateways/-bash-3.00$ ./runInstaller
Click Next
Select name for the Oracle Home. The Path defaults to Oracle Home. No need to change the same.
Select Oracle Database Gateway for Microsoft SQL Server and click Next
Provide any existing Microsoft SQL Server details where you are planning to connect. It actually writes this in a config file and does not really verify.
This can be changed later also in the configuration file. Click Next
Click Install
Once it prompts with above screen, open another shell and run the script as root
root@host # /app/oracle/product/11.2.0/dbhome_1/root.shRunning Oracle 11g root.sh script…
The following environment variables are set as:
ORACLE_OWNER= ora11g
ORACLE_HOME= /app/oracle/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file “dbhome” already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y
Copying dbhome to /usr/local/bin …
The file “oraenv” already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y
Copying oraenv to /usr/local/bin …
The file “coraenv” already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y
Copying coraenv to /usr/local/bin …
Entries will be added to the /var/opt/oracle/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
Click Exit to Finish the installation.
Configure Oracle Database Gateway for Microsoft SQL Server
Make sure that the MS SQL database details are correct in the dg4msql parameter file.
bash-3.00$ more $ORACLE_HOME/dg4msql/admin/initdg4msql.ora# This is a customized agent init file that contains the HS parameters
# that are needed for the Database Gateway for Microsoft SQL Server
#
# HS init parameters
#
HS_FDS_CONNECT_INFO=[SERVER127]:4076//NewCDP16
# alternate connect format is hostname/serverinstance/databasename
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
-bash-3.00$ cd $ORACLE_HOME/network/adminAppend following in existing listener.ora. Change the name, path and port as required.
LISTENER_dg4mssql=(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = <oracle host or IP>) (PORT = <any unused port>))
)
)
)
SID_LIST_LISTENER_dg4mssql=(SID_LIST=
(SID_DESC=
(SID_NAME=dg4msql)
(ORACLE_HOME=/app/oracle/product/11.2.0/dbhome_1)
(ENV=”LD_LIBRARY_PATH=/app/oracle/product/11.2.0/dbhome_1/dg4msql/driver/lib:/app/oracle/product/11.2.0/dbhome_1/lib”)
(PROGRAM=dg4msql)
)
)
Start the newly created listener.-bash-3.00$ lsnrctl start LISTENER_dg4mssql
Verify that the service is registered with the listener .-bash-3.00$ lsnrctl status LISTENER_dg4mssql…
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<oracle hostname or IP>)(PORT=1551)))
Services Summary…
Service “dg4msql” has 1 instance(s).
Instance “dg4msql”, status UNKNOWN, has 1 handler(s) for this service…
The command completed successfully
Append following in tnsnames.ora
dg4msql =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=< oracle hostname or IP >)(PORT=1551))
(CONNECT_DATA=(SID=dg4msql))
(HS=OK)
)
-bash-3.00$ tnsping dg4msql
TNS Ping Utility for Solaris: Version 11.2.0.1.0 – Production on 07-JAN-2014 12:30:08
Copyright (c) 1997, 2009, Oracle. All rights reserved.
Used parameter files:
/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=<host>)(PORT=1551)) (CONNECT_DATA=(SID=dg4msql)) (HS=OK))
OK (0 msec)
Create a new database link pointing to this TNS using SQL Server login credentials. This username must be already created in the Microsoft SQL Server database.
SQL> CREATE DATABASE LINK sqlserver CONNECT TO “SQLUser” IDENTIFIED BY “SQLPass” USING ‘dg4msql';
Database link created.
SQL> select count(1) from “SQLView”@sqlserver;
COUNT(1)
———-
24592