Replicating data from SQL Server to Oracle

I like to know whether it is possible to Replicate data from SQL Server to Oracle and vice-versa.
My present application is using SQL server and very recently we migrated to Oracle. As the usage of SQL Server is more, I like to replicate the data being entered into SQL Server into Oracle also.

You can also use SQL Server replication right out of the box to replicate data to Oracle. In Enterprise Manager, configure an OLE-DB or ODBC subscriber with the Oracle credentials, and then just create a standard push subscription to the newly configured Oracle subscriber. Note that you need to click the advanced checkbox on the subscription wizard to see the heterogeneous datasource as a subscriber.
Good luck,
Matt Hollingsworth
Microsoft

Similar Messages

  • How to extract incremental data from SQL server to oracle tables in ODI

    HI All,
    In my ODI sql server is install.My Source is in SQL server and my target is in Oracle.
    I need to create a interface mapping where i need to extract incremental data from sql server to oracle.
    There is a datetime(with Timestamp) field in sql server .I need to pull incremental data based on dateime.
    Example = tablename.DateTime > (select '1-jan-11' from dual) .....i am using this query but its not woking.the error is Invalid object name"dual".
    We are not going to use Incremental in IKM and LKM.
    Request you to please provide any suggestion ASAP.
    Thanks,
    Lony

    You can do that via Variable.
    In the interface mapping create a filter on Tablename.DateTime
    and put the condition like this
    Tablename.DateTime BETWEEN #VAR and in the variable use this query in refreshing tab with oracle schema
    SELECT max(start_time)||' AND '||max(END_TIME)+1 from audit_table where ETL_JOB_CODE = '20'In the package call the above variable in refresh mode and then interface.
    This way you will pass from the query between and condition date and pass to interface so that SQL Server fetches the data between those too range.
    Note:- You might need to tweak the date format so that SQL Server can understand.
    Hope this helps.

  • How to import data from SQL server to Oracle?

    Dear Sir/Madam,
    I want to move database data from SQL Server to Oracle, but don't how to do it, will you please help me do it?

    Oracle Migration Workbench is your best bet:
    http://www.oracle.com/technology/tech/migration/workbench/index.html
    Cheers, OTN

  • Faster way to migrate data from SQL Server to Oracle 10g

    We have to migrate data from SQL Server to Oracle 10 g.
    One particular table on SQL Server has records around 1.25 millions.
    We tried moving data using DTS package, but looks it will take hours with current speed of 300 records/minute.
    This table has TEXT column, which has XML strings stored. I am not sure, if this is the reason for slow migration.
    Would you please suggest better options to migrate it faster?
    Thanks in advance !!!

    Have you tried Migration work bench?

  • Show data from sql server to oracle db

    Hi,
    I am using oracle 10g R1 on windows 2003 platform. On one machine database 10gR1 is running and on other machine sql server is running. I want to retrieve some data from sql server to oracle database. Please tell me how I can show data from sql server to oracle db.
    Thanks

    To make heterogeneous connection with oracle:
    1.First make an ODBC connection, make entry in System DSN(to create a data source)
    2.Make an entry in tnsnames.ora
    3.Make an entry in listener.ora under SID_LIST_LISTENER
    4.Make an entry in file named init<HS>.ora file located "oracle_base\oracle_home\db\hs\admin"
    5.Restart the listener
    e.g:
    1. create a odbc system dsn named like 'sqlserver'
    2. sqlserver= (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp) (HOST=xx.xx.xx.xx) (PORT=1521))
    (CONNECT_DATA = (SERVICE_NAME=sqlserver))
    (HS = OK)
    3. (SID_DESC = (SID_NAME = sqlserver) (ORACLE_HOME = oracle_base\oracle_home\db) (PROGRAM = hsodbc) )
    4.Create a file named initsqlserver.ora and make the following entry:
    HS_FDS_CONNECT_INFO = sqlserver
    Alternatively, you can copy the file named inithsodbc.ora and rename it to initsqlserver.ora
    and edit as HS_FDS_CONNECT_INFO = sqlserver
    5. lsnrctl reload listener_name
    regards
    adnan kaysar

  • Transfering Data from SQL Server 2 Oracle

    Hellow All,
    Even the subject is not here, but i'm trying to transfere data from SQL Server to Oracle 8 (8.0.6) .. using the Wizard that ships with MS SQL Server. All Connections (ODBC or OLE DB) are alright, but still have problems in moving Data .. and Failure.
    Failure in Data Movement and not in Table structures.
    I have tried using most of the Valid and consistent ODBC and OLE Providers from Microsoft & From Oracle... but still have problems.
    Even The Oracle Migration Assitiant from Access 97 dose not work properly.
    Any commenets please ???
    Regards
    Tariq
    null

    Anil,
    OMWB has an inbuilt collision manager, that will check for conflicting words and aptly replaces them with an alternative word.
    OMWB also allows users to change these words once you finish performing capture. In this particular case, when you capture the view with the name 'rule', you can go to the oracle model in omwb and change the name to "rule1" or anything that is desirable, preferably those words that do not conflict with the oracle d/b's reserved words.
    Regards,
    Srinivas

  • Loading data from SQL server to Oracle database

    i want to create one table in oracle db from table in sql server. Table is huge it got 97,456,789 records.
    I created db link (HS) in oracle database which is pointing to sql server. i can select that table from oracle thru db link.
    select * from "dbo"."t1@dblink;
    i fired below create table.
    create table t2 nologging parallel (degree=3) as select * from "dbo"."t1@dblink;
    and its taking long time.... but its running...
    is there any alternate method to do this and and populate table in oracle db faster.
    Please advise. thanks.

    vhiware wrote:
    create table t2 nologging parallel (degree=3) as select * from "dbo"."t1@dblink;
    and its taking long time.... but its running...I doubt that parallel processing will be used as this is unique to Oracle (using rowid ranges typically) and not SQL-Server.
    is there any alternate method to do this and and populate table in oracle db faster.Part of the performance overhead is pulling that data from SQL-Server to Oracle across the network link between them. This can be sped up by compressing the data first - and then transferring that across the network.
    For example: using +bcp+ to export the data on the SQL-Server box to a CSV file, compress/zip the file, scp/sftp the file to Oracle, and then unzipping it there. Parallel and direct load processing can now be done using SQL*Loader to load the CSV into Oracle.
    If this is a Linux/Unix base system, then the unzip/decompress process can be run in parallel with the SQL*Loader process by creating a pipe between the two - where the unzip process writes uncompressed data into the pipe and SQL*Loader reads and loads data as it becomes available via the pipe.
    Alternatively, you can do you own PQ processing. Let's say the data is date ranged. You can create a procedure on Oracle that looks something like this:
    {code}
    create or replace procedure CopyDay( day date ) is
    begin
    insert /*+ append */ into local_tab select * from remote_tab@remotedb where col_day = day;
    -- add logging info, commit, etc.
    end;
    {code}
    You can now start 10 or more of these for different days and run it in the background using DBMS_JOB.

  • Using Oracle Forms Importing Data From SQL Server into Oracle Tables.

    Dear All,
    We are using Oracle Forms 10g in windows XP and having OAS 10g and Oracle database 9i.
    How can we import data from SQL Server 2005 into Oracle tables using Oracle Forms?
    Thanks & Regards
    Eidy

    I have no idea what "Oracle Hetrogenius Services" is, so I can't help you with that, sorry.
    SQL Developer might also assist you. SQL Developer can connect to SQL Server as well as Oracle and has some tools for migration. See the documentation for details:
    http://download.oracle.com/docs/cd/E12151_01/doc.150/e12156/toc.htm
    For additional help on using SQL Developer for this task, please consult Support or the SQL Developer forum: SQL Developer
    Hope this helps,
    Jacob

  • Import data from SQL Server to Oracle

    I have created a dblink in oracle to access the SQL database. I am able to run queries through the dblink and it works fine. I have created a test table on Oracle Server to import the data. The field named "description" has CLOB data type. The corresponding datatype on SQL Server is varchar(7000).
    When I insert the data from SQL Server, it completes successfully without any error but it truncates the data on CLOB field.
    If I run the select query in SQLPlus I can see the entire description.
    Select "description" from sql_view@dblink;
    -- the above works fine.
    CREATE table test
    (description CLOB);
    INSERT INTO TEST
    Select "description" from sql_view@dblink;
    -- this works but it truncates the data after 256 characters
    My question is, how to get the data from SQL Server without truncating characters.
    Thanks in advance,
    Gopal

    I hear the same from other friend that sql server truncated the leading zeros from the id column.
    I really don't have a solution for this but you can try the work around. Export the data to flat file and upload in oracle using SQL loader, as this would be much faster and efficient.

  • Load Data from SQL Server to Oracle 10g using Sql*loader utility

    I am trying to lod data from sql server 2005 to oracle 10g.
    What is the best way to do it?
    Can sql*loader utility do it?
    what is the difference of using sql*loader utility and migration tool fom sql developer ?
    Thanks
    Edited by: user11313758 on Sep 30, 2009 4:30 PM

    Hello:
    You could consider using Oracle Heterogeneous Services to do this. If your Oracle database is on a Windows platform the link below shows you how to make a connection to SqlServer from an Oracle database.
    http://www.databasejournal.com/features/oracle/article.php/3442661/Making-a-Connection-from-Oracle-to-SQL-Server.htm
    Varad

  • How to merge data from SQL server to Oracle Database

    Dear Expert,
    I am having problem with SQL server with Oracle.
    Problem: I want to merge table records from SQL server to Oracle Table. Which License free tool I can use to achive the goals.
    If I able to make a free DB link from Oracle to SQL server , then we can select table and will be able to update.
    Right now I have made a DB link from SQL server to Oracle, Using that I can see the records from oracle database but I can't update them.
    Thanks,
    Sher

    Hi,
    What about using Oracle SQL Developer for migration
    http://www.oracle.com/technetwork/database/migration/sqlserver-095136.html
    HTH

  • How to transfer BLOB type of data from SQL Server to Oracle

    Hi,
    Actually, I create a table with BLOB type data in SQL server. In fact, there is not exact BLOB type in SQL server, it will be separated to image and ntext types. But there is exact BLOB type in Oracle.
    I don't know how to transfer this "BLOB" type into Oracle with DTS or any other methods.
    Many Thanks for your any suggestions,
    Cathy

    JAVA_GREEN wrote:
    No i haven't mixed up.But the file from where i have to retrieve the data is in csv format.Even though i created another csv driver.and tried but i cud not find a solution to load/transfer a set of records from one file(in Excel/csv format) to another file(in mdb format).plz help me.Is there any other methods for this data transfer.A csv file is NOT an excel file.
    The fact that Excel can import a csv file doesn't make it an excel file.
    If you have a csv file then you must use a csv driver or just use other code (not jdbc) to access it. There is, normally, a ODBC (nothing to do with java) text driver that can do that.

  • Need help in migrating data from SQL Server to Oracle

    Hi,
    I've created a database link in my Oracle Database 11g Express Edition connecting to our SQL Server 2005 Enterprise Database. Now, I'm having issues on migrating some fields. Mostly Text field in SQL Server to CLOB in Oracle. I've created a PL/SQL Procedure to do this but somehow these columns don't get all the value.
    For example:
    In my sql server, I have a table SQLTBL with a field REMARKS of TEXT data type. It has the following value.
    This is line 1.
    This is line 2.
    This is line 3.
    Now I created a table ORCLTBL in oracle with field REMARKS of CLOB data type.
    In my procedure I do something like.
    begin
      for i in ( select "remarks" rem from "dbo"."sqltbl"@sqldb )
      loop
        insert into orcltbl ( remarks ) values (i.rem);
      end loop;
      commit;
    end;
    /When I select the data from oracle it will only show "This is line 1" and disregard the values after the new line character.
    Is there a way to make this work?
    Thanks,
    Allen

    Allen Sandiego wrote:
    Hi,
    I've created a database link in my Oracle Database 11g Express Edition connecting to our SQL Server 2005 Enterprise Database. Now, I'm having issues on migrating some fields. Mostly Text field in SQL Server to CLOB in Oracle. I've created a PL/SQL Procedure to do this but somehow these columns don't get all the value.
    For example:
    In my sql server, I have a table SQLTBL with a field REMARKS of TEXT data type. It has the following value.
    This is line 1.
    This is line 2.
    This is line 3.
    Does the above mean, you have Three records or it is One record spanning in Three lines?
    Now I created a table ORCLTBL in oracle with field REMARKS of CLOB data type.
    In my procedure I do something like.
    begin
    for i in ( select "remarks" rem from "dbo"."sqltbl"@sqldb )
    loop
    insert into orcltbl ( remarks ) values (i.rem);
    end loop;
    commit;
    end;
    /When I select the data from oracle it will only show "This is line 1" and disregard the values after the new line character.
    Probably, assuming that there is only One record, SQL server is sending the data as separate rows as opposed to a Single Row.
    Can you provide the Output of below when executed from Oracle terminal? (I hope you understand the motive of query, and pardon my knowledge of SQL Server if the query below does not work :) )
    select count("remarks"), "remarks" rem from "dbo"."sqltbl"@sqldb group by "remarks";

  • Periodic Importing of data from SQL Server into Oracle Database

    I would like to know how I can use the SQL Developer tool to import data from a SQL Server database across the internet into an Oracle Database on a periodic basis? I understand there is a Migration Workbench, but it seems to be only a one off activity.
    What I would really like is to be able to import data for example, very 30 minutes from multiple tables/views in a SQL Server Database into an Oracle Database (overwriting or modifying existing same data) without the need for Heterogeneous Connectivity, as my Oracle Database is not my LAN.
    Thank you for your kind ideas and suggestions.

    To be honest the best way to do it is DG4ODBC or DG4MSQL. All other solutions need manual interaction.
    The gateways DG4ODBC and DG4MSQL are independant from the Oracle database and also from the SQL Server location. In a worst case scenario you have an Oracle database on machine A, the gateway on machine B and the SQL Server on machine C.
    Gateways were built to exactly do what you want. As you have access to the Oracle database the only part you need to define within the Oracle database is a db link. If you specify the full tns connect identifier there is even no need to edit the tnsnames.ora file.
    Even if you excluded the gateway in your last sentence the best solution would be the gateway.
    Another option you can use is the SQL Server linked server mechanism. It allows you to link another server using OLEDB driver. In your case you can then link the Oracle db into your SQL Server and then insert/update/delete and select Oracle tables from the SQL Server. Using now a trigger will replicate the data immediately to the Oracle db.

  • Problem pushing data from sql server to Oracle

    Hello!!!
    I am required to work with my IT collegues and allow the MSSQL server to insert records into oracle. But I am having problem from the sql server end while trying to insert a record by throwing the following error message:
    Server: Msg 7399, Level 16, State 1, Line 1
    OLE DB provider 'MSDAORA' reported an error.
    [OLE/DB provider returned message: Oracle client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version 7.3.3 or later client software installation.
    _*The following were my configurations that I did in order to create a linked server and testing with a querty*_
    1. Installed Oracle Client 10g in the sqlserver.
    2. Configured TNSNAMES alias
    ------->  I can perform tnsping <alias name>
    ------->  I can even from the sql server machine through command prompt connect to my Oracle database server via "sqlplus scott/tiger@orcl" ( the problem is I cant connect via SQL server studio)
    3. I executed the following script inorder to create a linked server and perform a query.
    EXEC sp_addlinkedserver
    'orcl',          -- Name of the linked Server
    'Oracle',          -- Product name of the linked server (optional)
    'MSDAORA',     -- Is the name of the Microsoft OLE DB Provider for Oracle
    'orcl'               -- Oracle Data Source name
    EXEC sp_addlinkedsrvlogin
    'orcl',          -- Name of the created linked server
    false,          -- Name of the SQL login to be used on the remote system
    'sa',                  -- Name of the SQL user login
    'scott',          -- Name of the Oracle user login
    'tiger'          -- Password of the Oracle user login
    SELECT * FROM orcl..SCOTT.EMP  
    Any help with regard to this will greatly appreciated.
    Warm Regards,
    Asif Muhammad                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi!
    I was able to sought out the problem, and I have done a very silly mistake.
    I had my MSSQL server database at SERVERA and had the connection to the SERVERA from SERVERB, i.e. SERVERB dont have the database MSSQL database but just a connection to the MSSQL server database.
    What I have done is, since we had the testing done from SERVERB, I had the Oracle Client installed on SERVERB (this is the problem). We have to have the Oracle Client installed in the SERVERA where the MSSQL database is residing. Just wanted to point out here, so that this might be helpful incase anyone encounters the same problem in the future.
    Guys, the problem that I m facing now despite the fact that I can perform Select, Insert queries from MSSQL to Oracle now is, that I am recieving the following error when certain transaction is issued. There error message is:
    Server: Msg 7391, Level 16, State 1, Procedure tgTest, Line 5. The operation could not be performed because the OLE DB provider 'MSDAORA' was unable to begin a distributed transaction.Any help with this regard will be greatly appreciated!!!
    Regards...

Maybe you are looking for