Hi,
>> So i will probably test it with a small copy first and see what happens.
That's smart!
FYI, it's a Oracle best practice to have a full-sized test environment, and I would carefully plan this first.
Note:Size your redo properly:
http://www.dba-oracle.com/concepts/redo_log_files.htmYou can dedicate a large undo segment to the job:
http://www.remote-dba.net/t_oracle_9i_admi...ck_segments.htm****************************************************
>> Does the oracle documentation contain an overview of the amount of redo logs generated by an operation?
Yes! See these scripts for moinitoring redo log history:
http://www.dba-oracle.com/tips_oracle_v&am...log_history.htmWhen testing for redo log usage, start the job by performing a redo log switch (alter system switch logfile), so you start with a fresh redo log. Then you simply measure the number of archived redo logs generated, plus the remianing space in the current redo log.
Also, remember that the salient measure is the number of redo "blocks" generated, and this depends on your blocksize.
You also need to ensure that your archived redo log doirectory will have enough space . . .
Obviously, the amount of redo is the accumulated "before image" of the number columns, plus the ROWID.
I would SWAG this at 20 bytes per row, and estimate the number of redo blocks.
Karl Reitschuster offers this script for minitoring redo usage:
http://www.orcasoracle.org/CODE
SELECT Start_Date,
Start_Time,
Num_Logs,
Round(Num_Logs * (Vl.Bytes / (1024 * 1024)),
2) AS Mbytes,
Vdb.NAME AS Dbname
FROM (SELECT To_Char(Vlh.First_Time,
'YYYY-MM-DD') AS Start_Date,
To_Char(Vlh.First_Time,
'HH24') || ':00' AS Start_Time,
COUNT(Vlh.Thread#) Num_Logs
FROM V$log_History Vlh
GROUP BY To_Char(Vlh.First_Time,
'YYYY-MM-DD'),
To_Char(Vlh.First_Time,
'HH24') || ':00') Log_Hist,
V$log Vl,
V$database Vdb
WHERE Vl.Group# = 1
ORDER BY Log_Hist.Start_Date,
Log_Hist.Start_Time;