Comments
3 comments
-
Thank you for your forum post.
To answer your question:Getting errors comparing a table with 250 million rows. The two tables are static (not being updating during time of compare). I'm a little confused why its using temp space.
Oracle creates temporary tablespaces which are used for sorting and hash join operations. A SQL query with millions of rows returned, the sort operation is too large to occur in memory (RAM) and must occur on disk. The temporary tablespace is where this takes place.
When the temporary tablespace has insufficient disk space allocated, Oracle error ORA-01652 is generated.
I recommend that you take a look at following internet articles which can explain temporary tablespaces in much more detail than I can:
http://www.orafaq.com/node/2
http://docs.oracle.com/cd/B28359_01/ser ... ces007.htm
I hope the above answers your question.
Many Thanks
Eddie -
We see that Red Gate is selecting all the columns of the table and doing an ORDER BY. The order by is what is causing the temp space issue. Two questions:
#1 Does your product have to do an ORDER BY? It seems like other data comparison products like Oracle Veridata does the sort through app. Not sure if the your SQL Server product does sorting on database also.
#2 We are comparing two 250 million rows tables in the same database, but different schemas. Does your product execute both source and target queries at same time or is it retrieving source rows first and then target? I ask because we increased temp size to large than the table, but still ran out of space. Wondering if we need space for both. -
Thank you for your patience whilst we continued to investigate your questions and sorry for deley in replying back to you.
To answer your questions:#1 Does your product have to do an ORDER BY? It seems like other data comparison products like Oracle Veridata does the sort through app. Not sure if the your SQL Server product does sorting on database also.#2 We are comparing two 250 million rows tables in the same database, but different schemas. Does your product execute both source and target queries at same time or is it retrieving source rows first and then target? I ask because we increased temp size to large than the table, but still ran out of space. Wondering if we need space for both.
Many Thanks
Eddie
Add comment
Please sign in to leave a comment.
Devart.Data.Oracle.OracleException: ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
at Devart.Data.Oracle.a7.b(Int32 A_0)
at Devart.Data.Oracle.a9.b(Int32 A_0)
at Devart.Data.Oracle.OracleDataReader.Read()
at RedGate.Oracle.DataCompare.DbDataReaderWrapperBase.Read()
at RedGate.Oracle.DataCompare.DataComparer.Compare()
System.InvalidOperationException: No data exists for the row/column.
at Devart.Common.DbDataReaderBase.AssertReaderHasData()
at Devart.Data.Oracle.OracleDataReader.GetValues(Object[] values)
at RedGate.Oracle.DataCompare.DbDataReaderWrapperBase.GetValues(Object[] values)
CURRENT_ROW_COMPARISON_RESULT
System.NullReferenceException: Object reference not set to an instance of an object.
at RedGate.Oracle.DataCompare.ComparisonException.CreateReport()
at RedGate.Oracle.DataCompare.ComparisonException.CreateReport()