• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 352
  • Last Modified:

How much new changes are generated daily in a database.

Hi,

  I wanted to confirm if the correct way to know the amount of changes that are made daily on database can be done by checking the amount of archive logs are generated daily.  

  Is that a correct way ? , if the database created 10G of archive logs files, we can say that changes daily are about 10G ?

Regards,

  Joe Echavarría -
0
joe_echavarria
Asked:
joe_echavarria
  • 4
  • 2
  • 2
  • +1
1 Solution
 
sdstuberCommented:
No.

for example...

begin
for i in 1..100000000 loop
insert into my_table(x) values(1,2,3);
delete my_table;
commit;
end loop;
end;


Changes for the day 0  (we deleted everything we inserted)
Logs will have 100million inserts and 100 million deletes

Also note, archive logs contain statements not just data and will have other, system related operations in them as well, so they don't reflect just your application activity.
0
 
sdstuberCommented:
another thing to think about -  what are you considering a "change" and what is it you're hoping to measure in them?
0
 
Steve WalesSenior Database AdministratorCommented:
Without a clear statement of what you're trying to accomplish / why  you need the data, it's hard to give you a good answer.

If you're trying to measure growth to forecast disk needs, for example, you could capture freespace in your tablespaces daily in a table and analyze that data each month to see how much your objects are growing.

Not perfect, but for my particular needs (the data is always growing, there's rarely any sustained deletes), it lets me see how much data expands each month and let's me know when I might need to provision more disk etc.

Your needs may vary.
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
sdstuberCommented:
also consider the reverse of the above.


Lets say you have a table with a billion rows in it.

delete that_table;

your archive log will be small.  The amount of data change will be big.
0
 
joe_echavarriaDatabase AdministratorAuthor Commented:
Good point @sdstuber.

 I want to know how big a differential backup will take according to the daily changes in the database ( delete/update/insert ).

  So changes could be ( delete/update/insert )
0
 
joe_echavarriaDatabase AdministratorAuthor Commented:
Ok, now i understand.   With archive logs we can not mesasure the amount of data because of the example u gave.
0
 
Geert GOracle dbaCommented:
something else ... with zero changes and lots of archive logs

begin
  savepoint a;
    for i in 1..100 loop
      update table set a = a+1;
    end;
  rollback to a;
end;

Open in new window


anything that gets changed in a database produces archivelogs
even when it's rolled back afterwards
0
 
Geert GOracle dbaCommented:
to have an idea of how many rows are changed, check the table
select * from DBA_TAB_MODIFICATIONS;

that table is used for gathering statistics when enough changes were doen
0
 
sdstuberCommented:
if you use dba_tab_modifications - make sure you have monitoring turned on for every table.  And, remember to purge the results so you can get a fresh count, or, store the results so you can compare to previous totals to derive a new count.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 4
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now