Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ora-01422: exact fetch returns more than requested number of rows

CSM.DBASep 12 2012 — edited Sep 12 2012
Hi Guys,

Today I came across an issue with Dataguard. Whenever I tried starting real time apply through

SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

Database altered.

it's saying Database altered but the apply process didn't start.

When I go and look in alert log, It's saying

LOGMINER: Parameters summary for session# = 1
LOGMINER: Number of processes = 12, Transaction Chunk Size = 1000
LOGMINER: Memory Size = 600M, Checkpoint interval = 3000M
LOGMINER: SpillScn 7330749370798, ResetLogScn 1
LOGSTDBY status: ORA-00604: error occurred at recursive SQL level 1
ORA-01422: exact fetch returns more than requested number of rows
Errors in file /RDBMS/app/oracle/product/diag/rdbms/cr38devs/cr38devs/trace/cr38devs_lsp0_12111.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-01422: exact fetch returns more than requested number of rows

After googling around i found the reason that there are some duplicate rows in some of the tables which is preventing the apply process to start.

I found a workaround as well that setting allow_duplicate_rows to TRUE will make the apply process ignoring the duplicates. But I didn't find from a single source on how to set this.

Please provide your thoughts on this.

Regards,
CSM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 10 2012
Added on Sep 12 2012
2 comments
708 views