Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Feb 25, 2021 4:09:15 AM
Feb 23, 2021 6:00:15 PM
Replicate can be configured to use only 2, if you have more than 2 then you have to use a user view to use in place of the system one.
Create a user schema, which mimics the original v$archived_log view
In my endpoint configuration, I use archive log dest id 1 and additional archive log dest 3.
Then grant select on sys.v_$archived_log to attunity_usr;
create view attunity_usr.v$archived_log as select RECID,STAMP,NAME,replace(DEST_ID,2,3) DEST_ID,THREAD#,SEQUENCE#,RESETLOGS_CHANGE#,RESETLOGS_TIME,RESETLOGS_ID,FIRST_CHANGE#,FIRST_TIME,NEXT_CHANGE#,NEXT_TIME,BLOCKS,BLOCK_SIZE,CREATOR,REGISTRAR,STANDBY_DEST,ARCHIVED,APPLIED,DELETED,STATUS,COMPLETION_TIME,DICTIONARY_BEGIN,DICTIONARY_END,END_OF_REDO,BACKUP_COUNT,ARCHIVAL_THREAD#,ACTIVATION#,IS_RECOVERY_DEST_FILE,COMPRESSED,FAL,END_OF_REDO_TYPE,BACKED_BY_VSS,CON_ID from sys.v_$archived_log where NAME != (select VALUE from v$parameter where NAME='fal_server') order by 1,2;
In the example above, the view is created in oracle 12.2, so the columns will be different depending on the Oracle version
So in the example you still have only two but the title says more thank 2... you are just modifying one value for another. What if you needed value 1/3/5 would you make another replace for the value of 5 and move it to 2?
Hello,
In the example above, there are 3 different destination id - 1, 2 and 3. Since Replicate can only support 2 destination ids, in the user view we replace 2 to 3
replace(DEST_ID,2,3)
so that in the source endpoint definition, we only used 1 and 3
In your example, you have 3 destination ids - 1, 3 and 5
so what you can do is replace 5
replace(DEST_ID,5,3)
and define the source endpoint as 1 and 3
Hope this helps!
Thanks,
Lyka