Streams Replication: Logical Standby DB as source

I don't have much experience with streams replications. So, the following might sound like a silly questions to Oracle Gurus:
If the source database is a logical standby database, can stream replication be used to replicate some of the tables in the source database to the target DB ?
The source and the target DB are 11g R2.
Thanks in adavance:
- Sanjay
Edited by: sanjayku on Dec 8, 2010 4:38 PM

Never done it, but I don't see any reason why it should not work.
Streams, at capture site, is only a data dictionary game and in a logical standby your data dictionary is open read write.
Streams, at capture site, never touch the source tables, in fact they may even not exists from Streams point of view,
as it deals only with the redo that are generated.
So Streams horizon is limited to the data dictionary, the log buffer, the archives and, in SYSAUX tablespace, all the LOGMNR_% tables. All these structures are read write in the logical standby. However, for the capture/propagation you may have to set to true the 'include_tagged_lcr' parameters.

Similar Messages

  • Which way - Streams or Logical Standby?

    Hi,
    I'm having a requirement to replicate a schema between two databases. The scenario is that we've got an Interactive Voice Recorder system for tracking voice calls to a call center contact.
    The system will be hosted in two sites, with kind of load balancing where calls are routed to either of the centers. The two centers will each have an OLTP database, and the databases will of-course be similar.
    There's a particular schema that needs to be replicated between the two databases so that the schema is available in either of the nodes. We were thinking of Active Standby but this seems to be out of question because the two databases need to be open read-write all the time.
    We are looking into Streams to accomplish this, but we wonder if a logical standby can also accomplish the same, since it can be open read-write?
    The database version will be 11.1.0.7.0

    user11983948 wrote:
    Thanks Anuraq,
    The volume of the data that will be replicated will be small, just a single schema. I also did not clarify, but the data in the two databases will be kept only for about 30 days, then truncated, after being sent to a separate warehouse server where the data will be stored and analyzed.
    Regards,
    dulaIf the data replicated is small, and dmls are free then streams would be better than logical standby.
    Regarding the truncate part you meant the data would be deleted from the table which are older than 30 days. Streams would be able to handle that. Make sure you delete the data from one site only and that would be replicated on another site. I also assume you are looking for two way replication in that case logical standby is not an option.
    Regards
    Anurag

  • Using streams or logical standby

    We are runing Oracle 9.2.0.3.0 and have a requirement to replicate the production database on another server for query and reporting purpose.
    The changes can be applied to the reporting database on a daily basis. Of course, the faster the better if there is no additional overhead added on the production database (performance acceptable on the production database).
    Do you recommend using Oracle Streams or the logical standby database and why? which one is more stable now?
    Thanks in advance for your help.

    Hi,
    there is no difference on the primary site between ADG and normal DG. And there is also no difference in shipment of the redo logs.
    The apply performance on the standby is minimally slower (< 2%) and only recognizable if you already have problems that the standby keeps up to date. But then again this does not effect your DR.
    It only means that a switchover/failover will take minimally longer....
    On the other side, there is always headroom to optimize apply performance. See here:
    http://www.oracle.com/technetwork/database/features/availability/maa-wp-11gr1-activedataguard-1-128199.pdf
    Regards
    Sebastian

  • Oracle Logical Standby as data source

    Post Author: garyreit
    CA Forum: Data Connectivity and SQL
    Has anyone succesfully used an Oracle Logical Standby server as a
    data source?  When I try I get "table not found" for all the
    tables in Crystal reports, but the report runs fine.  When I run
    the same report in BOE, The report fails with the error:Error in File D:\Program Files\Business Objects\BusinessObjects
    Enterprise
    11.5\Data\procSched\biapp1.reportjobserver\~tmp1c4c50845f07b62.rpt:
    Error in formula <Record Selection>.
    '{PS_CANC_TERM_CLASS.BATCH_ID} = {?Batch ID} and
    This field name is not known.
    Details: errorKind We are using BOE XI R2 sp2 and Oracle 10g with an ODBC using the Oracle connector.
    Any Ideas?Thanks

    Post Author: udasgupta
    CA Forum: Data Connectivity and SQL
    I am getting a similar problem. Did you get a solution? If so, could you please let me know.
    Thanks in advance,
    Uma

  • Streams Replication 10.2.0.4 (source) and 11.1.0.6 (Destination)

    I am testing streams based replication between 10204 and 11106 databases. The destination db was down for a while (>10+hours) and after the destination db was brought up, I don't see the changes getting applied on the destination database. I don't see any apply errors. I have restarted the capture, propagation, and apply processes but still don't see the changes applied on the destination database. I am unable to troubleshoot any further. Since this is a test, I can do a reinstantiation but it would help me understand what went wrong in this case. I can provide any SQL output which you can use to help me.

    What is the order you have restarted the streams.
    Please follow the below order.
    --On Source - Stop the capture process
    exec dbms_capture_adm.stop_capture(capture_name => '<capture_name>');
    --make sure it is stopped:
    select capture_name, status from dba_capture;
    -- On Destination - Stop the apply process:
    exec dbms_apply_adm.stop_apply(apply_name => '<apply_name>');
    -- Make sure it is stopped:
    select apply_name, status from dba_apply;
    -- On Source - Stop the propagation:
    exec dbms_propagation_adm.stop_propagation(propagation_name => '<prop_name>');
    -- Make sure it is stopped:
    select propagation_name, status from dba_propagation;
    -- On Source - Start the propagation:
    exec dbms_propagation_adm.start_propagation(propagation_name => '<prop_name>');
    --Make sure it has started:
    select propagation_name, status from dba_propagation;
    -- On Destination - Start the apply process:
    exec dbms_apply_adm.start_apply(apply_name => '<apply_name>');
    -- Make sure apply is started
    select apply_name, status from dba_apply;
    -- On Source - Start the capture process:
    exec dbms_capture_adm.start_capture(capture_name => '<capture_name>');
    -- Make sure capture is started
    select capture_name, status from dba_capture;
    Verify whether streams is working or not.

  • Streams or Logical Standby?

    I have a requirement to duplicate an Oracle DB over a WAN to a remote site. The data in that copy of the DB (along with many other databases of various platforms) will then be aggregated into a SQL Server database for reporting purposes.
    The requirements are:
    - there can be no noticeable performance impact on the primary DB
    - the secondary DB must be as close to in sync with the primary as possible (i.e. little or no lag)
    - the secondary DB must be readable at all times (precludes max performance physical standby)
    Current configuration
    - the primary is an 11.2.0.1 RAC database.
    - there is already a physical standby at the remote site for DR purposes operating in maximum performance mode and using standby logs. It rarely falls more than 2-3 seconds behind the primary. If this server could be leveraged that would be great, but obviously a physical standby cannot be both readable and up to date.
    TIA

    Hi,
    there is no difference on the primary site between ADG and normal DG. And there is also no difference in shipment of the redo logs.
    The apply performance on the standby is minimally slower (< 2%) and only recognizable if you already have problems that the standby keeps up to date. But then again this does not effect your DR.
    It only means that a switchover/failover will take minimally longer....
    On the other side, there is always headroom to optimize apply performance. See here:
    http://www.oracle.com/technetwork/database/features/availability/maa-wp-11gr1-activedataguard-1-128199.pdf
    Regards
    Sebastian

  • No data found in Update (streams replication)

    Hi,
    Our database is setup for streams replication of few tables from source database DB1 to destination database DB2. The source tables have different primary key columns than the primary key columns at destination. All tables at source and destination have primary keys, unique keys and foreign keys. There are unique keys on source tables which are used as primary keys on destination. For example, table TAB1 at source DB1 has primary key column COL1 and unique key column COL2. Whereas at destination table TAB1 on DB2 has COL2 as primary key and COL1 is dropped from the LCR.
    We have problem now, inserts are replicated perfectly, but not updates. Updates are giving “no data found” error. I went through the oracle documentation and I tried following:
    1.     Setting keys using DBMS_APPLY_ADM.SET_KEY_COLUMNS. It didn’t work. Unique key column was set as key columns.
    2.     Setting update conflict handler using DBMS_APPLY_ADM.SET_UPDATE_CONFLICT_HANDLER. It didn’t work. Unique key column was set as resolution_column and “DISCARD” as method_name (parameters).
    Is there anything I am missing? Please help me in resolving this error. If you have any leads or sample code would help me greatly. Appreciated your help.
    Thanks

    Thanks for our time and help. Yes, you are right.
    FYI... we had supplemental logging. Our team tried with different configuration combinations yesterday. Finally, we found that unconditional supplemental logging must be there to resolve the issue. We had conditional supplemental logging thou. After changing it to unconditional, it was working. There is no need for update conflict handlers or substitute keys.
    Thanks

  • Streams Replication:Source database Physical or Logical Standby DB

    Can the source database in streams replication be a physical or logical standby database ? If so, is the process of configuring streams the same as a regular database ? Are there any best practices or different configuration if the source is Logical or Physical standby DB ?
    Thanks in advance.

    Never done it, but I don't see any reason why it should not work.
    Streams, at capture site, is only a data dictionary game and in a logical standby your data dictionary is open read write.
    Streams, at capture site, never touch the source tables, in fact they may even not exists from Streams point of view,
    as it deals only with the redo that are generated.
    So Streams horizon is limited to the data dictionary, the log buffer, the archives and, in SYSAUX tablespace, all the LOGMNR_% tables. All these structures are read write in the logical standby. However, for the capture/propagation you may have to set to true the 'include_tagged_lcr' parameters.

  • Logical Standby and Streams

    Hi,
    I am considering different replication scenarios for our future system and have a (maybe stupid:) question. Is it technically possible to create a logical standby database (Data Guard) and than replicate it further using Streams?
    Regards,
    Tim

    Yes , This is possible with logical standby but you need to have mechanisms to take care of role transitioning in case of fail over. See Oracle document http://download.oracle.com/docs/cd/E14072_01/server.112/e10700/whatsnew.htm (Key word search "streams")
    Thanks
    http://swervedba.wordpress.com/
    Edited by: swervedba on May 30, 2011 8:48 PM

  • Logical standby versus Streams?

    Anybody can explain me difference between logical standby and streams in terms of architecture and functionality?

    Both Logical standby and streams share the same underlying architecture. The difference is the requirements u have
    1) the Logical standby database is the complete replica of the whole database. while streams enable you to replicate table, schema or the database.
    2) The logical standby database can opened in read only mode. ( by the way u can open it in read/write but you have to stop the recovery first and u have flash back database enabled). Streams allow you to open the replicated database read/write mode.
    3) The logical standby database allows one way replication. with streams you can implement bi-directional replication as well.
    4) Streams are far more customizable than logical data guard.
    5) in my opinion streams are much harder to implement, administer and monitor than logical standby database

  • DATA Guard Logical Standby v.s. Streams Apply (10gR2, rac -- rac )

    Greetings -
    We currently have a 3 node cluster, doing a 'Schema' capture, with a 2 node cluster serving as the apply side. Both are on 10gR2 (solaris 10)
    We have been experiencing apply latency due to large transactions. The way logminer/streams evaluates the arch logs, it converts each updated row into a transaction as part of a transaction set, using 'decode (' statements.
    I am under the impression a physical standby will do the same thing. But what about a logical Standby ?
    (this from the Oracle Documentation)
    [10g Concepts|http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/concepts.htm#SBYDB00010]
    ...Contains the same logical information as the production database, although the physical organization and structure of the data can be different. The logical standby database is kept synchronized with the primary database though SQL Apply, which transforms the data in the redo received from the primary database into SQL statements and then executing the SQL statements on the standby database.
    Does anyone know firsthand if SQL APPLY re-issues the original sql, or if it relies on the 'decode' command as well ?
    Thanks
    The Nets Edge

    A Physical standby does not do anything with SQL. It is running media recovery under the covers. A Logical standby uses the Logminer to read the redo, converts it to SQL and Data and applies those transactions to the Logical standby.
    The both build logical change records, figure out order, dependencies etc etc and applies the transaction. Both are susceptible to long running transactions on the Primary (source) database.
    Streams uses Logminer, Logical Standby use part of the Streams apply so as Mr. Morgan said, they are very similar :^)
    If you are having apply performance issues you may want to look at Active data Guard.
    Larry

  • Data Guard logical standby Versus Streams

    I'm referring to both Oracle 10g/9i
    If a Data Guard logical database uses similar technology to Streams (Log Mining and SQL apply), why can't you stand up a standby database on a different platform, or at least I have found nothing on the subject.
    But in 11g Oracle Data Guard (physical standby database) is a solution for same endianness platform migration.
    I will appreciate any insight on the subject.

    Yes...thats true...both uses same technology...
    REDO LOGMINER
    SQL------------------------>BLOCK LEVEL CHANGES---------------------------------->SQL
    But there are serious implemetation diff..
    1) Oracle Data Guard is designed for protecting from data failure and disasters.
    Streams is designed for information sharing and distribution but can also provide a very efficient high availability solution.
    2) Streams is configured from the bottom up — individual tables, schemas, capture processes, apply processes, queues.
    Logical Standby is configured from the top down — start with entire database, then specify only what you don’t want.
    As logical standby is top down and changes are capture at remote location (logical standby db) and for that archive log need to be shipped using FAL client/server to remote and to ship the archivelog in Data Guard configuration, all members should be running on same platform.
    As said before, Streams is configured from the bottom up, it start with tables--> Schemas--->Database and we can capture changes at local/remote location. If we capture changes locally, target streams db can be on diff platform. But for downstream capture must need same platform as logical standby database needed so that archivelogs can transport from source to downstream db.

  • Slow replication  on logical standby DB

    Hi All,
    Before 5 day we run update statistics script on our MIS DB. Now, we face slow replication in peak hours on this from RAC and not able to generate reports.
    Please suggest me why this happen, how to solve this ? It very critical for me ..
    Details are following-----
    BEGIN
    -- Run job synchronously.
    DBMS_SCHEDULER.run_job (job_name=> 'SYS.GATHER_STATS_JOB');
    END;
    Oracle Version-----
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
    PL/SQL Release 10.2.0.3.0 - Production
    CORE 10.2.0.3.0 Production
    TNS for IBM/AIX RISC System/6000: Version 10.2.0.3.0 - Productio
    NLSRTL Version 10.2.0.3.0 - Production
    AIX Version 5.3
    SQL> select NAME ,OPEN_MODE, PROTECTION_MODE ,DATABASE_ROLE,GUARD_STATUs,LOG_MODE from v$database;
    OPEN_MODE PROTECTION_MODE DATABASE_ROLE GUARD_S LOG_MODE
    READ WRITE MAXIMUM PERFORMANCE LOGICAL STANDBY ALL ARCHIVELOG
    Topas -------------
    Topas Monitor for host: UMISDB01 EVENTS/QUEUES FILE/TTY
    Wed Jan 20 11:51:13 2010 Interval: 2 Cswitch 6723 Readch 0.0G
    Syscall 4300 Writech 6657.3K
    Kernel 5.4 |## | Reads 2780 Rawin 0
    User 58.1 |################# | Writes 288 Ttyout 1337
    Wait 2.9 |# | Forks 0 Igets 0
    Idle 33.7 |########## | Execs 0 Namei 33
    Physc = 2.25 %Entc= 64.2 Runqueue 5.0 Dirblk 0
    Waitqueue 6.5
    Network KBPS I-Pack O-Pack KB-In KB-Out
    en6 2.2 7.0 5.0 0.4 1.8 PAGING MEMORY
    en1 0.0 0.0 0.0 0.0 0.0 Faults 2762 Real,MB 16384
    lo0 0.0 0.0 0.0 0.0 0.0 Steals 7251 % Comp 94.4
    PgspIn 3 % Noncomp 5.5
    Disk Busy% KBPS TPS KB-Read KB-Writ PgspOut 0 % Client 5.5
    hdisk10 100.0 4.2K 542.5 4.2K 0.0 PageIn 5530
    hdisk6 100.0 9.6K 1.2K 9.0K 659.1 PageOut 1664 PAGING SPACE
    hdisk5 100.0 8.8K 1.1K 8.1K 715.3 Sios 7194 Size,MB 32768
    hdisk4 29.1 1.4K 89.9 128.6 1.3K % Used 9.9
    hdisk15 8.5 1.1K 46.2 92.4 1.0K NFS (calls/sec) % Free 91.1
    hdisk8 3.5 261.2 31.6 0.0 261.2 ServerV2 0
    hdisk14 2.5 514.4 14.6 0.0 514.4 ClientV2 0 Press:
    hdisk12 2.0 759.5 8.5 0.0 759.5 ServerV3 0 "h" for help
    hdisk0 1.5 16.1 4.0 12.1 4.0 ClientV3 0 "q" to quit
    hdisk13 0.5 827.8 13.6 0.0 827.8
    hdisk1 0.5 4.0 1.0 0.0 4.0
    hdisk7 0.5 442.1 7.5 0.0 442.1
    Name PID CPU% PgSp Owner
    oracle 1876038 14.1 15.3 oracle
    oracle 1597544 14.0 11.3 oracle
    lrud 16392 0.5 0.6 root
    oracle 1515570 0.4 467.5 oracle
    oracle 1695836 0.3 27.3 oracle
    oracle 1642498 0.3 323.3 oracle
    oracle 1204230 0.3 291.3 oracle
    oracle 512222 0.2 483.5 oracle
    oracle 1368188 0.2 7.4 oracle
    oracle 1458238 0.2 227.3 oracle
    oracle 1712180 0.1 307.4 oracle
    oracle 1638546 0.1 37.2 oracle
    aioserve 848030 0.1 0.4 root
    Signal 2 received
    Thanks in advance

    Santosh Pradhan wrote:
    Hi ,
    oracle 10.2.0.3 enterprise edition logical standby
    We performed heavy updates on our production database due to which logical standby gone lots of logs behind with primary database and log are getting apply on logical standby very slowly.
    Kindly suggest how to speed up apply process on logical standby ....Hope you are using "ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;" command
    Here please check the below note for Adjusting the Number of APPLIER Processes , also if redo transport is slow check the settings for "LOG_ARCHIVE_MAX_PROCESSES"
    http://docs.oracle.com/cd/B28359_01/server.111/b28294/manage_ls.htm#CHDBGBFC

  • MV Logs not getting purged in a Logical Standby Database

    We are trying to replicate a few tables in a logical standby database to another database. Both the source ( The Logical Standby) and the target database are in Oracle 11g R1.
    The materialized views are refreshed using FAST REFRESH.
    The Materialized View Logs created on the source ( the Logical Standby Database) are not getting purged when the MV in the target database is refreshed.
    We checked the entries in the following Tables: SYS.SNAP$, SYS.SLOG$, SYS.MLOG$
    When a materialized view is created on the target database, a record is not inserted into the SYS.SLOG$ table and it seems like that's why the MV Logs are not getting purged.
    Why are we using a Logical Standby Database instead of the Primary ? Because, the load on the Primary Database is too much and the machine doesn't have enough resources to support MV based replication. The CPU usage is 95% all the time. The appplication owner won't allow us to go against the Primary database.
    Do we have to do anything different in terms of Configuration/Privileges etc. because we are using a Logical Standby Database as a source ?
    Thanks in Advance.

    We have a 11g RAC database in solaris OS where there is huge gap in archive log apply.
    Thread Last Sequence Received Last Sequence Applied Difference
    1 132581 129916 2665
    2 108253 106229 2024
    3 107452 104975 2477
    The MRP0 process seems not to be working also.Almost 7000+ archives lag in standby if compared with primary database.
    i suggest you to go with Incremental rollforward backups to make it SYNC, use this below link for step by step procedure.
    http://www.oracle-ckpt.com/rman-incremental-backups-to-roll-forward-a-physical-standby-database-2/
    Here questions.
    1) Whether those archives are transported & just not applied?
    2) Is in production do you have archives or backup of archives?
    3) What you have found errors in alert log file?
    post
    SQL> select severity,message,error_code,timestamp from v$dataguard_status where dest_id=2;
    4) What errors in primary database alert log file?
    Also post
    select     ds.dest_id id
    ,     ad.status
    ,     ds.database_mode db_mode
    ,     ad.archiver type
    ,     ds.recovery_mode
    ,     ds.protection_mode
    ,     ds.standby_logfile_count "SRLs"
    ,     ds.standby_logfile_active active
    ,     ds.archived_seq#
    from     v$archive_dest_status     ds
    ,     v$archive_dest          ad
    where     ds.dest_id = ad.dest_id
    and     ad.status != 'INACTIVE'
    order by
         ds.dest_id
    /Also check errors from standby database.

  • Logical standby database questions

    Hi,
    1.Is it possible to encrypt just the logicals standby database? ie primary is not encrypted but when the data comes to logical standby it gets encrypted?
    2. Is it possible to replicate only certain schemas to logcial standby?
    Please let me know,
    Thanks a lot
    Sumathy

    Hi Sumathy,
    1.) Yes this is possible
    2.) Yes also possible. However Logical Standby will always gather all information from the primary, and only skip in the apply process.
    If you want to lessen your transfer, then you should use other replication mechanism like
    - Golden Gate (preferred but does cost money)
    - Streams (free, but depricated)
    Regards
    Sebastian

Maybe you are looking for