Home » RDBMS Server » Performance Tuning » REDO LOG GENERTION
REDO LOG GENERTION [message #466305] Mon, 19 July 2010 00:58 Go to next message
prashant_ora
Messages: 196
Registered: July 2010
Senior Member
Hi,

We have development server on oracle 10g on windows while the production on unix with RAC and database is oracle 10g. Now when I run one update statement and check the redo generation in that session using before and after the update, I got a difference in redo. On windows it generates 1gb while on unix it gives me just double , while the data is same in both the environment. Can any one suggest me what could be the reason?
SELECT VALUE
INTO V_REDO_SIZE
FROM V$STATNAME
JOIN V$MYSTAT
USING(STATISTIC#)
WHERE NAME = 'redo size';
Re: REDO LOG GENERTION [message #466309 is a reply to message #466305] Mon, 19 July 2010 01:04 Go to previous messageGo to next message
hkchital
Messages: 128
Registered: September 2008
Location: Singapore
Senior Member
Check if both the databases are running the same CharacterSet.
select value from v$nls_parameters where parameter = 'NLS_CHARACTERSET';

Also, check the value of NLS_LANG in the environment (shell) of the clent SQL that is issuing the DMLs.

Hemant K Chitale
Re: REDO LOG GENERTION [message #466310 is a reply to message #466305] Mon, 19 July 2010 01:09 Go to previous messageGo to next message
Michel Cadot
Messages: 68716
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
They're could be hundred reasons; "delayed block cleanout" is one.

Regards
Michel
Re: REDO LOG GENERTION [message #466311 is a reply to message #466309] Mon, 19 July 2010 01:10 Go to previous messageGo to next message
prashant_ora
Messages: 196
Registered: July 2010
Senior Member

I executed this query on both the development and production server and got the same result
select value from v$nls_parameters where parameter = 'NLS_CHARACTERSET';
Output
--------------
AL32UTF8
Re: REDO LOG GENERTION [message #466314 is a reply to message #466310] Mon, 19 July 2010 01:13 Go to previous messageGo to next message
prashant_ora
Messages: 196
Registered: July 2010
Senior Member
but this come evert time and every day..how can i trace it means where is the actual problem and how can i resolve it.
Re: REDO LOG GENERTION [message #466319 is a reply to message #466314] Mon, 19 July 2010 01:23 Go to previous messageGo to next message
Michel Cadot
Messages: 68716
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Depends on the version that you did not post.
Please read OraFAQ Forum Guide.

Regards
Michel
Re: REDO LOG GENERTION [message #466328 is a reply to message #466319] Mon, 19 July 2010 01:40 Go to previous messageGo to next message
prashant_ora
Messages: 196
Registered: July 2010
Senior Member
Hi,

10.2.0.4 for Database

HP-UX 11.31 Operating system

Thanks
Re: REDO LOG GENERTION [message #466330 is a reply to message #466328] Mon, 19 July 2010 01:44 Go to previous messageGo to next message
Michel Cadot
Messages: 68716
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Use ASH/AWR (if you bought it).

Regards
Michel
Re: REDO LOG GENERTION [message #466336 is a reply to message #466330] Mon, 19 July 2010 01:57 Go to previous messageGo to next message
prashant_ora
Messages: 196
Registered: July 2010
Senior Member
Hi,

How in AWR report, I can see the reason of extra redo generation.

Please advice.

Thanks
Re: REDO LOG GENERTION [message #466338 is a reply to message #466336] Mon, 19 July 2010 02:04 Go to previous messageGo to next message
Michel Cadot
Messages: 68716
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
You can see, quoting you, "where is the actual problem". Is "extra" redo generation an actual problem?
Maybe the actual problem is the stuff that makes the update, you chose to not show us what you did.

Regards
Michel

[Updated on: Mon, 19 July 2010 02:04]

Report message to a moderator

Re: REDO LOG GENERTION [message #466361 is a reply to message #466305] Mon, 19 July 2010 04:21 Go to previous messageGo to next message
hkchital
Messages: 128
Registered: September 2008
Location: Singapore
Senior Member
V$MYSTAT would show statistics that are cumulative since the start of the session. Is your UPDATE being executed in a new session, with *no* DML before it ?


Are the same blocks likely being updated from the other instance in the RAC cluster ? Or being updated by other sessions ? Delayed Block Cleanout can cause redo generation.


Hemant K Chitale
Re: REDO LOG GENERTION [message #466387 is a reply to message #466361] Mon, 19 July 2010 06:50 Go to previous messageGo to next message
prashant_ora
Messages: 196
Registered: July 2010
Senior Member
Hi Hemant,

I ran the update statement alone in one session on production box,operating system is HP-UX 11.31 and then run the below query to check the redo and found it is 2 gb, while the same update in another session on windows environment showing 1 gb reDo with the same data and same table.No other query is running parallel in that session.
SELECT VALUE
INTO V_REDO_SIZE
FROM V$STATNAME
JOIN V$MYSTAT
USING(STATISTIC#)
WHERE NAME = 'redo size';
Re: REDO LOG GENERTION [message #466398 is a reply to message #466387] Mon, 19 July 2010 07:54 Go to previous messageGo to next message
Michel Cadot
Messages: 68716
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
And how repeating the same thing will change his answer?
You didn't reply to the points he mentioned (by the way, you never reply to any point we post).

Regards
Michel

[Updated on: Mon, 19 July 2010 07:56]

Report message to a moderator

Re: REDO LOG GENERTION [message #466440 is a reply to message #466398] Mon, 19 July 2010 11:47 Go to previous messageGo to next message
prashant_ora
Messages: 196
Registered: July 2010
Senior Member
Hi,

And how repeating the same thing will change his answer?

I am not getting what you mean, could u pl explain it.

Thanks
Re: REDO LOG GENERTION [message #466442 is a reply to message #466440] Mon, 19 July 2010 11:50 Go to previous messageGo to next message
Michel Cadot
Messages: 68716
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
You posted a question, Hemant posted an answer, you replied with the same question. Why do you think that repeating the same question will change Hemant's answer or will lead to a new one?

Please answer the questions we posted you.

Regards
Michel

[Updated on: Mon, 19 July 2010 11:52]

Report message to a moderator

Re: REDO LOG GENERTION [message #466593 is a reply to message #466361] Tue, 20 July 2010 04:31 Go to previous messageGo to next message
prashant_ora
Messages: 196
Registered: July 2010
Senior Member
Is your UPDATE being executed in a new session: Yes new session
with *no* DML before it : No DML?

Are the same blocks likely being updated from the other instance in the RAC cluster :no
Or being updated by other sessions:no ?



Re: REDO LOG GENERTION [message #466650 is a reply to message #466305] Tue, 20 July 2010 07:36 Go to previous messageGo to next message
JRowbottom
Messages: 5933
Registered: June 2006
Location: Sunny North Yorkshire, ho...
Senior Member
How have you copied the data across - redo is based on changed blocks, so if all the rows that are changed on one database are spread out across the whole table, and in the other database they are clustered together, you could get a substantial difference in redo size
Re: REDO LOG GENERTION [message #467585 is a reply to message #466593] Mon, 26 July 2010 02:59 Go to previous message
hkchital
Messages: 128
Registered: September 2008
Location: Singapore
Senior Member
> with *no* DML before it : No DML?

Any other DML in the same session would be included in 'redo size' in V$MYSTAT.
Therefore, to be sure that your 'redo size' report is for this particular UPDATE statement we must ensure that no other DML has been executed.

>Or being updated by other sessions:no ?
If blocks were being updated by another session (INSERTs and DELETES are also updates to the table block), then delayed block cleanout may be causing Oracle to generate more redo to cleanout the other transaction -- Oracle has to update the ITL entry for a transaction that has committed but not cleaned the entry.

Hemant K Chitale
Previous Topic: low cost and high cpu cost
Next Topic: Tuning Schemas
Goto Forum:
  


Current Time: Mon Nov 25 05:16:56 CST 2024