Help on Oracle Golden Gate [SQL Server to Oracle Database]

Hi,
I am planning to use Oracle Golden Gate to replicate data from SQl Server 2008 to Oracle database. I had below queries which I wanted to get clarity on before making a decision. It would be very helpful if anyone can clarify this
- Can I set-up OGG to synchronize only a subset of tables within a schema ? (for ex: 10 tables out of 50 tables in a schema)
- Once the synchronization is set-up after the Initial Load, can the synchronization be paused (for few days) and then resumed again seamlessly ?
Any help/input would be greatly appreciated.
Regards
Rajashekar

- Can I set-up OGG to synchronize only a subset of tables within a schema ? (for ex: 10 tables out of 50 tables in a schema)
Yes, the TABLE option in the extract needs to specify the table name (not a wildcard ( * )).  The replecat needs to be done the same way.
Example:
--Extract--
TABLE <SCHEMA>.<TABLE_NAME>
--Replicat--
MAP <SCHEMA>.<TABLE_NAME>, TARGET <SCHEMA>.<TABLE_NAME>
- Once the synchronization is set-up after the Initial Load, can the synchronization be paused (for few days) and then resumed again seamlessly ?
Once the initial load is done, you can turn off the replicat for a few days.  Only thing is that you need to make sure you have space for the trail files that will be generated and access to any backups/archive logs that you may need later.

Similar Messages

  • Golden Gate SQL Server Replication

    Hello Friends..
    I need your help in getting some information about Golden Gate SQL Server replication. Could you guys please help me in finding an answers on how a highly transactional sql server does with clustering and replication ? How long does it take to get replica online to users ? Is there any good reading material about Golden gate sql replication? Please help

    Documentation is always a nice place to start reading:
    http://www.oracle.com/technetwork/middleware/goldengate/documentation/index.html
    Regarding replication, please take into account that DDL replication is only supported between oracle databases.
    As for your main question, it is all based on the configuration you use. If you have much going on on the source you might add replicats to process the workload in parallel
    Greetings,
    NK

  • 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";

  • De registering the JMX agent from oracle golden gate monitor server.

    Hi,
         I configured a system to monitor the golden gate processes on the golden gate monitor server.
    Now I don't want any more to monitor  one of the server processes on  the monitor server.
    What is the procedure to deregister the jagent ? In my case the jagent is a embedded agent not a stand alone agent .
    Thanks,

    Hi,
         I configured a system to monitor the golden gate processes on the golden gate monitor server.
    Now I don't want any more to monitor  one of the server processes on  the monitor server.
    What is the procedure to deregister the jagent ? In my case the jagent is a embedded agent not a stand alone agent .
    Thanks,

  • Oracle dblink to sql server, accessing multiple database on same sql server under one dblink

    Hi, we have successfully managed to set up an Oracle dblink over to sql server and retrieve data.
    The sql server user were using via the dblink has access to more than one database on the same sql server
    But the question is how in oracle (if at all possible) do you prefix the sql statement to access this ?
    Eg:
    Sqlserver_prod has user sqlserver_user which appears to be set up as default database on sqlserver_db1
    But we have select access to sqlserver_db2
    all work fine as sqlserver_user
    select * from  table_fromdb1
    select * from  dbo.table_fromdb1
    select * from  sqlserver_db1.dbo.table_fromdb1
    as does
    select * from  sqlserver_db2.dbo.table_fromdb2
    over in Oracle
    Oracle_db has dblink sqlserver_prod.world connecting as sqlserver_user
    all working fine
    select * from "table_fromdb1"@sqlserver_prod
    select * from "dbo"."table_fromdb1"@sqlserver_prod
    but how (if at all possible) do I access from oracle
    sqlserver_db2.dbo.table_fromdb2
    without having to create a new sqlserver_db2_user referenced in a new dblink
    if oracle to oracle would be
    select * from remote_oracle_schema.table@remote_oracle_db

    Hi, ok cheers, I see, original gateway was connecting purely at host_name level
    HS_FDS_CONNECT_INFO=sqlserver_host
    Planning to amend this to be
    HS_FDS_CONNECT_INFO=sqlserver_host//sqlserver_db1
    With exisiting dblink
    And to create new gateway
    HS_FDS_CONNECT_INFO=sqlserver_host//sqlserver_db2
    With new exisitng dblink,will see how we get on
    Cheers again

  • Migrate from sql server to oracle

    can anyone help me how to migrate from sqlserver to oracle

    Hi;
    i have been searching in google if anybody having live experience in migration pl help meOk than i am helping you,checked google search and found below links from search. They should help you friend. Please see:
    http://st-curriculum.oracle.com/obe/db/hol08/sqldev_migration/mssqlserver/migrate_microsoft_sqlserver_otn.htm
    http://www.oracle.com/technetwork/database/migration/sqlserver-095136.html
    Also see:
    SQL Server to Oracle migration queries
    SQL Server to Oracle migration queries
    If have still question than update thread.
    Regard
    Helios

  • Migrating from SQL Server to ORACLE - Pls help

    Hi All,
    I am a .Net developer. I am asked to migrate a project from SQL Server to ORACLE. Can anyone help me how to move forward.
    I used SQLDEVELPOR tool and migrated all the tables. But the Stored Procedures haven't got migrated properly. I need to migrate all the SP's from the scratch.
    Please help me.
    Thanks in advance,
    Srinivasan.T

    You might consider post your question in Migration Bench forum.
    Database and Application Migrations

  • Moving table from oracle 10g to sql server 2005 plz help!!!

    Hi All,
    I have a table in oracle that i have to move to sql server.
    I have exported the table and the dmp file is around 150 MB.
    I do not know how to import this file into sql server.
    Can some one kindly update me as to which is the best way to do this,
    i know the best people to answer this would be the sql server techs but just wanted to try my luck on OTN.
    regards,

    Hello,
    you could use the Database Gateway for MS SQL Server, create a database link that uses the gateway, and then transfer the data from Oracle to SQL Server using in SQLPlus a command like the following:
    copy from scott/tiger@ora102 -
    insert TEST1@dg4msql -
    using select * from test1@ora102 ;
    Another solution is using a PL/SQL block, and how to do it is described in the following note in My Oracle Support:
    "Insert Into Remote Table Select * From Local Table" Gives Error ORA-02025 Using DG4MSQL (Doc ID 790572.1)
    I don't know whether it is the "best way to do it", but it is an alternative.
    For inserting a flat file into SQL Server you really need to check with Microsoft. Or you can use 3rd party software: http://www.dbload.com/
    Best regards
    Wolfgang

  • Install oracle golden gate 11.1.1.0 for oracle9i on RedHat AS3 U6 issue

    Hi expert,
    I need install Oracle golden gate base on below combination:
    GG version: 11.1.1.0 (x64)
    OS version: Redhat AS3 UL6 (x64)
    Oracle version: 9.2.0.8 (x64)
    I set the .bash_profile for oracle as below:
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
    export GGATE=/software/ogg
    export PATH=$PATH:$ORACLE_HOME/bin:$GGATE
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$GGATE
    However, after installation, when I run ggsci, it show below error message:
    ggsci: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
    I searched the libstdc++.so.6 in the server and found one in /lib64/ssa/libstdc++.so.6, I changed the LD_LIBRARY_PATH as:
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$GGATE:/lib64/ssa/
    then this time it has below error:
    ggsci: /lib64/ssa/libstdc++.so.6: version `GLIBCXX_3.4' not found (required by ggsci)
    ggsci: /lib64/ssa/libstdc++.so.6: version `GLIBCXX_3.4' not found (required by /software/ogg/libxerces-c.so.28)
    my question:
    1. Is GG 11.1.1.0 supported on RHEL AS3 U6? From oracle official website, it seems only the EL 4 UL7+ or EL 5 UL3+ are supported.
    2. If it's supported, how to resolve above error?
    Many thanks for your help.

    Hi,
    I think GG version: 11.1.1.0 (x64) supports only oracle 10g and 11g databases.
    Try GG version: 10.4.0.19 (x64) for oracle 9.2.0.8
    Thanks.

  • Unable to connect to sybase in Oracle Golden Gate using GGSCI cmd prompt

    Hi All,
    I am trying to connect to sybase using golden gate cmd prompt GGSCI, but i am getting below error
    Command - dblogin sourcedb master userid sa
    master is the dbname (Default available in sybase)
    sa - user
    ERROR: Cannot connect to database master at server BL1DDG1W4BS.
    Client Library error: severity(0) number (44) origin(1) layer(4).
    ct_connect(): protocol specific layer: external error: The attempt to connect to
    the server failed.
    Sybase Version - 15.0
    Oracle Golden Gate version - Oracle Golden Gate for Non Oracle Database Release 10.4 for sybase 15.0.
    Please if any one can help me out.
    Thanks In Advance.
    Regards,
    Prachi

    the command is
    dblogin sourcedb <DNS_NAME> etc...
    DNS_NAME is the name of the ODBC connection to your sybase server.

  • Unable to configure Oracle Publisher in SQL SERVER 2008 R2

    Hi, All,
    I am trying to talk to my Oracle database from SQL server. I already had Oracle Client 11g installed in my SQL server. 
    Following the guidance in the technet on configuring the Distributer successfully. I now trying to configure the Publisher, by choosing "Adding Oracle Publisher" option. Then it prompt for the user id & password, I have enter the login (which
    is replication user id created in Oracle). I encounter following error msg:
    TITLE: Distributor Properties
    Oracle server instance 'ssluat' cannot be enabled as a Publisher because of the following error:
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1&EvtSrc=Microsoft.SqlServer.Management.UI.ConfigureWizardErrorSR&EvtID=OraclePublisherValidateFailed&LinkId=20476
    Quote:
    ADDITIONAL INFORMATION:
    Unable to run SQL*PLUS. Make certain that a current version of the Oracle client code is installed at the distributor. For addition information, see SQL Server Error 21617 in Troubleshooting Oracle Publishers in SQL Server Books Online. (Microsoft SQL Server,
    Error: 21617)
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=21617&LinkId=20476
    Unquote
    In fact  I can run SQL*PLus from my c:\drive command prompt and the Path in Envinronment variable has set to "c:\app\product\11.2.0\client_1\bin". So I don't know why thing msg prompt?
    I have search the guideline on this error in Technet and do what I can to troubleshoot but still got error.
    Kindly pls help me.
    Thank you.
    Avelyn

    1.Make certain that a current version of the oracle client code is installed at the distributor”, please install corresponding version of Oracle
    Client tools on Distributor Box
    2.Are you able to connect to your Oracle server from the Distributor Box?if so,Distributor
    box needs to have Oracle client tools installed on it before you can setup replication , I hope you have installed the Oracle client tools on Distributor Box. If yes, check if using SQLPlus you can connect manually to Oracle server or not from your Distributor
    Box.
    Moreover,Please refer the below
    Before attempting to configure the Oracle Publisher, SQL Server verifies that SQL*PLUS is accessible through the system path on the Distributor. If SQL*PLUS cannot be loaded, the following error message is shown:
    "Unable to run SQL*PLUS. Make certain that a current version of the Oracle client code is installed at the distributor."
    Try to locate SQL*PLUS on the Distributor. For an Oracle 10g client install, the name of this executable is sqlplus.exe. It is typically installed in %ORACLE_HOME%/bin. To verify that the path of SQL*PLUS appears in the system path, examine the value of the
    system variable Path:
    Right-click My Computer, and then click Properties.
    Click the Advanced tab, and then click Environment variables.
    In the Environment Variables dialog box, in the System variables list, select the Path variable,
    and then click Edit.
    In the Edit System Variable dialog box: if the path to the folder that contains sqlplus.exe is not present in the Variable
    value text box, edit the string to include it.
    Click OK on each open dialog box to exit and save changes.

  • Related to migration of db from sql server to oracle 11 g

    We're trying to migrate a Sql server managment studio database to Oracle 11g using SQL Developer 4.0. We can successfully connect to both Sql server managment studion 8.0 and Oracle 11g using the tool, as well as click through the Migration Wizard and start the migration.
    This opens the Database Migration dialog box, which indicates the capture process starts normally. we get the following error:
    ora :01440 : can not insert null into migrlog (id column) ,
    \and then after some time , i get an error that migration failed
    i am not getting the reason,I thing it may be due to reason that , I have table's column in my source db with more than 30 character.
    If i am migrating one by one table . then it is not giving any error, and identifier name is getting shrink in 30 character. but i am not getting the view , stored procedure , indexes , and others
    then what is the solution  for that, somebody pls suggest any help?????????????               

    Pl do not post duplicates - related to migration of db from sql server to oracle 11 g
    Continue the discussion in your original thread
    The error message is explicitly clear
    ora :01440 : can not insert null into migrlog (id column)
    Your process is trying to insert a NULL value into the ID column, which presumably cannot be NULL

  • CONVERT function in SQL Server to oracle

    All,
    How to convert CONVERT function in SQL Server to oracle, below mentioned format is in SQL Server:
    variable1 = convert(numeric(20), SUBSTRING( parameter1,parameter2,parameter3)
    parameter1 datatype nvarchar2(100)
    parameter2 datatype bigint
    parameter3 datatype bigint
    I did bit R&D, but was not successful..but still getting on..
    If any help that would be great...
    Regards,
    ~ORA

    You cannot specify the precision/scale or length of input paramters to a stored procedure in Oracle, or at least the pl/sql engine does not respect the sizing. Assuming that you want to do something with variable1 in the procedure, and not just return it, the Oracle equivalent would be something along the lines of:
    SQL> CREATE FUNCTION f (p_param1 IN VARCHAR2,
      2                     p_param2 IN NUMBER,
      3                     p_param3 IN NUMBER) RETURN NUMBER IS
      4     l_var1 NUMBER(20) := SUBSTR(p_param1, p_param2, p_param3);
      5  BEGIN
      6     RETURN l_var1 * 10;
      7  END;
      8  /
    Function created.
    SQL> SELECT f('ABC10DEF', 4, 2) FROM dual;
    F('ABC10DEF',4,2)
                  100You may need to adjust the return type to match what you are actually returning.
    You can also use this iin a direct assignment in pl/sql without doig a select, something like:
    SQL> DECLARE
      2     l_num NUMBER(20);
      3  BEGIN
      4     l_num := f('ABC10DEF', 4, 2);
      5     DBMS_OUTPUT.Put_Line('The number is: '||l_num);
      6  END;
      7  /
    The number is: 100John

  • Insert data into oracle based on sql server data(here sql server acting as source to oracle and destination to oracle)

    Source is Oralce. Destination is SQL Server.
    Requirement - I have to fetch sql server server data (empid's) based emp table  and send this as input data to oracle to fetch and empid's are common.
    I cannot use merge or loopkup or for each as oracle have too many records.
    For example - In MS SQL - i have empid=1,2..Only these records, I have to fetch from oracle source into sql server destination. For this, I have adopted the below approaches...The major problem I face, when i build a empid's as a string, it is taking only
    4000 chars. My string lenght is 10000. How do I breakup this string lengh and send to data flow task till all broken strings length passed to DFT.
    Approach-1
    created two variables - oraquery string, empid string
    step1 - ms sql database - created sql task - declare @empid varchar(max)
    SELECT @empid=
    Stuff((SELECT ',' + empid
            FROM  
            (SELECT  DISTINCT  convert(varchar(10),empid ) empid FROM emp
             ) x
            For XML PATH ('')),1,1,'')
    select @empid =    '(' +  @empid + ')'
    select @empid
    resultset=singlerow
    resultset=resultname=0; variablename=User::empid (empid is declared as string)
    step2 - oracle database - created data flow task
    created oledb source
    I put  this statemnt in oraquery expression - "select * from dept where dept in  "
    +  @[User::empid] + "
    expression=true
    [OLE DB Source [1]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E14.
    An OLE DB record is available.  Source: "Microsoft OLE DB Provider for Oracle"  Hresult: 0x80040E14  Description: "ORA-00936: missing expression".
    Approach-2
    created three variables - oraquery string, empid  int, loop object--when I put int then it is automatically setting to 0
    step1 - ms sql database - created sql task - SELECT  DISTINCT  convert(varchar(10),empid ) empid FROM emp
    resultset=fullresult
    resultset=resultname=0; variablename=User::loop
    step2 - created a for each loop container
    for loop editor - for each ado ennumerator
    enumerator configuration - loop
    variablemapping - variable=empid;index=0
    step3 - oracle database - created data flow task (outside for each loop. If I put inside it is taking long time)
    created oledb source
    I put  this statemnt in oraquery expression - "select * from dept where dept in  "
    +  @[User::empid] + "
    expression=true
    Data inserting in a destination table but  empid=0.

    Sorry didnt understand if your step3 is outside loop how
    @[User::empid] will get values for the empids from User::loop. The iteration happens inside loop so you
    need to have a logic to form the delimited list inside using a script task or something and concatenating everything and storing to variable @[User::empid]
    . Then only it will have full value used to be used in step3 query
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Taking snapshot of oracle tables to sql server using transactional replication is taking a long time

    Hi All,
    I am trying to replicate around 200 oracle tables onto sql server using transaction replication and it taking a long time i.e the initial snapshot is taking more than 24 hrs and it still going on.
    Is there any way to replicate those these tables faster?
    Kindly help me out..
    Thanks

    Hi,
    According to the description, I know the replication is working fine. But it is very slow. 
    1. Check the CPU usage on Oracle publisher and SQL Server. This issue may due to slow client processing (Oracle performance) or Network performance issues.
    2. Based on SQL Server 2008 Books Online ‘Performance Tuning for Oracle Publishers’ (http://msdn.microsoft.com/en-us/library/ms151179(SQL.100).aspx). You can enable the transaction
    job set and follow the instructions based on
    http://msdn.microsoft.com/en-us/library/ms147884(v=sql.100).aspx.
    2. You can enable replication agent logging to check the replication behavior. You may follow these steps to collect them:
    To enable Distribution Agent verbose logging. Please follow these steps:
    a. Open SQL Server Agent on the distribution server.
    b. Under Jobs folder, find out the Distribution Agent.
    c. Right click the job and choose Properties.
    d. Select Steps tap, it should be like this:
    e. Click Run agent and click Edit button, add following scripts by the end of scripts in the command box:
            -Output C:\Temp\OUTPUTFILE.txt -Outputverboselevel 2
    f. Exit the dialogs
     For more information about the steps, please refer to:
    http://support.microsoft.com/kb/312292
    Hope the information helps.
    Tracy Cai
    TechNet Community Support

Maybe you are looking for