0% found this document useful (0 votes)
169 views12 pages

Awr Analysis 10 Steps

The document provides 10 steps for analyzing an Automatic Workload Repository (AWR) report in Oracle to troubleshoot database performance issues: 1. Check the database, instance, and version details in the report. 2. Review the host configuration details like CPU, memory, and number of cores. 3. Examine the snapshot details like start time, end time, and elapsed time versus database time. 4. Analyze wait events, SQL statements, top SQL, and database time percentages. 5. Check for regressions in database time or time percentages. 6. Review active session history details for long running queries or sessions. 7. Analyze trends in top wait

Uploaded by

test
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
169 views12 pages

Awr Analysis 10 Steps

The document provides 10 steps for analyzing an Automatic Workload Repository (AWR) report in Oracle to troubleshoot database performance issues: 1. Check the database, instance, and version details in the report. 2. Review the host configuration details like CPU, memory, and number of cores. 3. Examine the snapshot details like start time, end time, and elapsed time versus database time. 4. Analyze wait events, SQL statements, top SQL, and database time percentages. 5. Check for regressions in database time or time percentages. 6. Review active session history details for long running queries or sessions. 7. Analyze trends in top wait

Uploaded by

test
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

A blog about Database Administration, Exadata, DBA tutorials, Database troubleshooting and new Development in Database area. The views
expressed are my own and not necessarily those of Oracle and its affiliates.

Home Fundamentals Oracle Errors Performance Tuning ASM Datafiles & Tablespaces Exadata

Follow by Email

10 Steps to Analyze AWR Report in Oracle


As you have Generated AWR Report in
Oracle, Next task is to Analyze AWR Report Popular Posts
in Oracle. By Reading AWR Report you
can easily solve issues like Slow database, 10 Steps to Analyze AWR Report in
high wait events, Slow query and many Oracle
more. Though It's a lengthy report but
ORA-28001: the password has
Analyzing or Reading relevant part of expired
AWR Report can help to troubleshoot issues
in easy and fast manner. What is OS Watcher Utility and How to
use it for Database Troubleshooting ?
AWR stands for Automatically workload
How to change db_recovery_file_dest
repository, Though there could be many and db_recovery_file_dest_size
types of database performance issues, but parameter
when whole database is slow, then there are
two possibilities. ORA-09817: Write to audit file failed
No space left on device

1. Issue with Database Machine. How to Shutdown and Start Oracle


Real Application Clusters Database -
OS Watcher is the best tool to start. These 10 Easy Steps
2. If Database performance issue, Then AWR Report is the place to look at. What is Exadata ? Architecture,
Components and Four Main Features
In case if a particular query is not performing well, i would suggest to look at execution plan of the query, of Exadata Storage Server
stats of underlying table etc. In this case AWR won't help much.

Recommendations before getting an AWR Report. Followers (97) Next

1. Collect Multiple AWR Reports: It's always good to have two AWR Reports, one for good
time (when database was performing well), second when performance is poor. This way Remote DBA
can easily compare good and bad report to find out the culprit.

Blog Archive
2. Stick to Particular Time: "Database is performing slow" will not help anymore to resolve
2017 (1) performace issues. We have to have a specific time like Database was slow yesterday at 1 Pm and
2014 (1) continue till 4Pm. Here, DBA will get a report for these three hours.

3. Split Large AWR Report into Smaller Reports: Instead of having one report for long
time like one report for 4hrs. it's is better to have four reports each for one hour. This will help to isolate Follow
the problem.

In case of RAC env. generate one report for each instance. Once, you have generated AWR report. DBAs-oracle.com
Now, it's time of analyze the report. Since, AWR report is a huge report and area to look into AWR is 245 likes
also depends on problem to problem. Here, I am list most common area for a DBA to look into which will
give a clear picture of the issue.

Steps to Analyze AWR Report


1. Database Details:

After getting an AWR Report This is first and Top part of the report. In this part cross check for database
and instance and and database version with the Database having performance issue.This report also
show RAC=YES if it's an RAC database.

2. Host Configuration:

This will give you name, platform CUP, socket and RAM etc. Important thing to notice is number of
cores into the system. In this example there are 12 CUP's in Cores.

3. Snap Shot Detail:

1 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

2013 (78)
August (2) This are the detail about snap shot taken, Snap start time and end time. Difference between them is as
"Elapsed". Here is a new term "DB Time"
July (11)
June (10)
May (9)
7 Important CellCLI
Commands for
Exadata DBA
5 Easy Step to Solve
ORA-04031 with
Oracle Support...
What is Application DB Time= session time spent in database.
Dealock ? How to
Reproduce and... DB Time= CPU Time + Non IDLE wait time.
List of 10 Must Know
Oracle Database You can find, DB time is very large as compared to Elapse time, which is not a concern. Check if you
Parameters fo...
have taken a report for the time having performance problem. If yes fine, other wise take a report for
How to Analyze or performance problem time.
Read OS Watcher
Output in three ...
Next is Cache Sizes, which is just detail about SGA components.
How to Troubleshoot
ORA-00600 and
ORA-07445 4. Load Profile:
Intern...
10 Tips for Oracle Here are few important stats for a DBA to look into. Fist is "DB CPU(s)" per second. Before that let's
Database Security understand how DB CUP's work. Suppose you have 12 cores into the system. So, per wall clock second
Best Practice...
you have 12 seconds to work on CPU.
10 Steps to Analyze
AWR Report in
Oracle
DBA VIEW: Top 10 to
keep Handy

April (8)
March (13)
February (7)
January (18)

2012 (23)
2011 (80)
2010 (2)
2009 (6)
2008 (2)

So, if "DB CPU(s)" per second in this report > cores in (Host Configuration (#2)).

means env is CPU bound and either need more CPU's or need to further check is this happening all the
time or just for a fraction of time. As per my experience there are very few cases, when system is CPU
bound.

In this case, machine has 12 cores and DB CPU(s) per second is 6.8. So, this is not a CPU bound
case.

Next stat to look at are Parses and Hard parses. If the ratio of hard parse to parse is high, this means
Database is performing more hard parse. So, needs to look at parameters like cursor_sharing and
application level for bind variables etc.

5. Instance Efficiency Percentages:

In these statistics, you have to look at "% Non-Parse CPU". If this value is near 100% means most of
the CPU resources are used into operations other than parsing, which is good for database health.

6. Top 5 Timed Foreground Events:

This is another most important stats to consider while looking at AWR Report for any database
performance related issue. This has a list of top 5 foreground wait events.

Here, first of all check for wait class if wait class is User I/O , System I/O, Others etc this could be fine
but if wait class has value "Concurrency" then there could be some serious problem. Next to look at is

2 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

Time (s) which show how many times DB was waiting in this class and then Avg Wait (ms). If Time(s)
are high but Avg Wait (ms) is low then you can ignore this. If both are high or Avg Wait (ms) is high
then this has to further investigate.

In the above screen shot, most of the resource are taken by DB CPU = 64% DB time. Taking resource
by DB CUP is a normal situation.

Let's take an example, In which event is "log file switch (checkpoint incomplete) " which has high waits,
huge Time (s) and large values in Avg Wait (ms) and wait class is configuration. So, here you have to
investigate and resolve log file switch (checkpoint incomplete).

Host CPU, Instance CPU and Memory Statistics are self explanatory. Next is RAC Statistics, I did not
find any issue in these stats most of the time.

7. Time Model Statistics:

This is a detailed explanations of system resource consumptions. Stats are order by Time (s) and % of
DB Time.

A noticeable result Sum of all % of DB time is > 100%. why is this ?

Because this is cumulative time i.e. In this case SQL execute elapsed time is taking 89% of DB time,
which includes it sub parts like parse time elapsed, hard parse elapsed time etc. So, if you find Hard
parse time elapsed is taking more %. So investigate further so on and so forth.

DBA has to look for stat which is taking abnormal % of DB time.

8. Operating System Statistics - Detail:

This is the information related to OS, what is the load status on System shown here.

This report shows, system is 62 and 70% idle at time of report taken, So, there is no resource crunch at
system level. But if, you found very high busy, user or sys % and indeed this will led to low idle %.
Investigate what is causing this. OS Watcher is the tool which can help in this direction.

Next, very crucial part of AWR report for a DBA is SQL Statistics. Which has all sql query details
executed during report time interval.

We will explore few of them, To understand, how to analyzed these reports. Let's start with

9. SQL Ordered by Elapsed Time:

As explained by name itself, this lists SQL queries ordered by Elapsed time into reported time interval.

3 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

In this report, look for query has low executions and high Elapsed time per Exec (s) and this query
could be a candidate for troubleshooting or optimizations. In above report, you can see first query has
maximum Elapsed time but no execution. So you have to investigate this.

In Important point, if executions is 0, it doesn't means query is not executing, this might be the case
when query was still executing and you took AWR report. That's why query completion was not covered
in Report.

10. SQL Ordered by CUP Time:

In this report, SQL queries are listed on the basis of CPU taken by the query i.e. queries causing high
load on the system. The top few queries could be the candidate query for optimization.

From above stat,


look for queries using highest CPU Times, If a query shows executions 0, this doesn't means query is
not executing. It might be same case as in SQL queries ordered by Elapsed time. The query is still
executing and you have taken the snapshot.

However, There are so many other stats in AWR Report which a DBA needs to consider, I have listed
only ten of them but these are the most commonly used stats for any performance related information.

Please share you view about this article, Does it helps you to understand, How to analyze AWR Report.

Labels: Performance Tuning

Download Pdf Log Yesterday Automatically Reports Article


How to download pdf The Tops 10 Steps Affiliat Download Pdf

91 comments:

Anonymous July 2, 2013 at 10:35 AM

Nice article, me also working in oracle side as a Tech Arch.


Keep n touch
Thanks
Vijay
Bangalore
vijay.7858@gmail.com

Reply

Replies

umesh sharma July 2, 2013 at 9:29 PM

Vijay, Thanks for your comments.

Amit Pal December 30, 2013 at 2:28 AM

there are 10 stats discussed and all are very clear to me now..hope u will show some other
stats as well..thanks a lot.

Regards
Amit Pal

Anonymous June 8, 2015 at 1:15 AM

Hi Umesh,

Keep up the good work !!!

Tx

Anonymous August 20, 2015 at 6:29 AM

Hi,

It was really a nice starts for performance tuning. Please share some more explanation on the
same to dig more to AWR Report.

Reply

4 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

Rishiraj Chockraborty September 2, 2013 at 11:37 PM

Very Good article....thanks for sharing this....

Reply

Replies

umesh sharma September 4, 2013 at 7:33 AM

Thanks for your complement.

Reply

Unknown September 12, 2013 at 3:42 AM

Very nice article.....thanks for sharing...also share some books & tips which have detail information and
analysis of AWR,ASH & ADDM Report.

Thanks & Regards


Vaibhav Jain
Jr. Oracle DBA
vaibhav.mca@gmail.com

Reply

umesh sharma September 12, 2013 at 4:30 AM

Vaibhav, Thanks for your appreciation.

Reply

feroz shaik October 28, 2013 at 7:56 AM

great doc!! Really appreciate it.

Reply

feroz shaik October 28, 2013 at 7:57 AM

Great Doc!! Really appreciate it. Many Thanks.

Reply

Replies

umesh sharma October 28, 2013 at 9:23 AM

Thanks Feroz

Reply

Padma December 3, 2013 at 3:29 AM

Thanks for Sharing the document, its good analysis of AWR Report.

Thanks & Regards,


Padma
Jr. Oracle DBA
mailmeonpadma@gmail.com

Reply

Padma December 3, 2013 at 3:31 AM

Thanks for Document its good analysis for AWR report :)

Reply

umesh sharma December 4, 2013 at 1:08 AM

Thanks friends.

Reply

naru lc December 10, 2013 at 2:04 AM

Nice explanation.. Thank you..

Reply

naru lc December 10, 2013 at 2:06 AM

Nice explanation.. Thanks a lot.


May I also request you to post similar blog to analyze DB when it is under peak load using ASH?

Thanks in advance..

Reply

Replies

umesh sharma December 10, 2013 at 2:09 AM

Thanks friend.

Reply

5 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

Anonymous January 3, 2014 at 3:59 AM

Really this article helped me alot.Thanks Umesh

Reply

Replies

umesh sharma January 3, 2014 at 4:07 AM

Thanks friend.

Reply

Sharv Gupta January 17, 2014 at 11:20 PM

Thanks a lot Umesh for this useful article.

Reply

Replies

umesh sharma January 19, 2014 at 8:58 AM

Thanks dear.

Reply

Gaurav Sharma February 19, 2014 at 10:17 AM

It is very informative .
Thanks

Reply

Gaurav Sharma February 19, 2014 at 10:19 AM

It's a very informative and helpful article.

Reply

Replies

umesh sharma February 20, 2014 at 12:53 AM

Thanks Gaurav.

Reply

Anonymous March 11, 2014 at 3:22 PM

Nicely explain all of them...Really appreciated.

Reply

Replies

umesh sharma March 11, 2014 at 11:01 PM

Thanks Dear.

Reply

Anonymous April 15, 2014 at 4:40 AM

Dear Umesh ,

I really appreciate your effort for explanation of AWR.

Many thanks for sharing this article.

Regards
Goulay
Oracle DBA

Reply

Replies

umesh sharma April 15, 2014 at 5:07 AM

Welcome friend.

Reply

Ravi Suvvari July 6, 2014 at 12:27 AM

Very informative

small typo
10. SQL Ordered by CUP Time needs to be read as 10. SQL Ordered by CPU Time

Reply

6 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

Ravi Suvvari July 6, 2014 at 12:38 AM

SQL execute elapsed time is taking 89% of DB should be SQL execute elapsed time is taking 98% of DB
(looks like typo)

Reply

satya svits29 August 30, 2014 at 12:55 PM

awesome article keep them coming

Reply

Anonymous August 31, 2014 at 5:48 AM

thanks

Reply

Venkat September 12, 2014 at 5:49 AM

Superb article.. helped me in understanding the awr report checks.. Great job..

Thanks

Reply

Anonymous November 25, 2014 at 8:02 AM

very helpful....thanks for sharing!

Reply

Anonymous December 4, 2014 at 12:23 PM

you need to fix this


SQL Ordered by CUP Time
SQL Ordered by CPU Time

Reply

Anonymous December 23, 2014 at 2:08 AM

This report has been taken when user sessions are active for long time. Please tell me what is sbtwrite2.

Top 5 Timed Events Avg %Total


~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time Wait Class
------------------------------ ------------ ----------- ------ ------ ----------
Backup: sbtwrite2 40,575 801 20 207.2 Administra
RMAN backup & recovery I/O 69,380 588 8 152.2 System I/O
CPU time 318 82.3
Backup: sbtclose2 22 113 5131 29.2 Administra
control file parallel write 51,693 97 2 25.0 System I/O

Reply

Anonymous January 26, 2015 at 3:08 AM

In the #6 you mention about "Concurrency" as serious problem - could you give any example? What does
it mean concurency?

Reply

Replies

Mohamed February 12, 2015 at 5:36 AM

As in real life, concurrency means to client wants to access to the same object simultaneously.
Lock is the solution but could be an issue, when it is not released or take a lof of time to
release the object....

Reply

vikas jain April 21, 2015 at 2:57 AM

Very Nice article - appreciated


Can you please explain:
#6 you mention about "Concurrency" as serious problem - could you give any example? What does it
mean concurrency?

-Vikas

Reply

Vincent April 21, 2015 at 11:19 AM

Thank you.
In the first part, I don't understand why you use "cores" and not "cpus". And I don't know what appends if
the cpu_counts parameters is setted less?

Reply

Replies

Anonymous October 21, 2015 at 10:41 AM

cores are CPUs, essentially, a multi core cpu happens to have more than one cpu on a chip,
meaning it can do more than one thing at a time. duo-core= 2 cpu. Quas-core=4CPU and so

7 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

on. In this post, I think the author is mistaking 24 CPUs for just 12. Correct me if I am wrong

Reply

Lakshminarayana Hs September 7, 2015 at 6:37 AM

It is the nice document...It is better if you give recomendation on below issue.


1."% Non-Parse CPU% is just 50%
2.recomended value for cursor_sharing

thanks
Lakshminarayan

Reply

Lakshminarayana Hs September 7, 2015 at 6:37 AM

It is the nice document...It is better if you give recomendation on below issue.


1."% Non-Parse CPU% is just 50%
2.recomended value for cursor_sharing

thanks
Lakshminarayan

Reply

Anonymous September 14, 2015 at 12:08 PM

Many Thanks for sharing this, very much informative and useful

Reply

Chandra Reddy October 4, 2015 at 6:28 AM

Superb article for Beginners.

Reply

Anonymous December 7, 2015 at 11:03 PM

Very Nice info

Reply

Sergio (DBA - Brazil) December 9, 2015 at 4:50 AM

Hi Umesh
Very .. but very interesting article !
Congratulations !

Reply

Mohamed Mostafa January 14, 2016 at 4:25 AM

Thank you so much

Reply

prashant panwar January 25, 2016 at 7:31 AM

Nice Article...

Reply

Anonymous January 27, 2016 at 8:29 PM

Nice one :)

Reply

Anonymous January 29, 2016 at 10:16 AM

neat explanation. thank you

Reply

Anonymous February 18, 2016 at 8:31 PM

good to read it

Reply

abdelfattah kamel February 20, 2016 at 2:17 PM

good article

Reply

sonalika tomar February 24, 2016 at 6:13 AM

This is a good article.. I am new to AWR reports.. But this helped me get some insight in the topic.
thank you..

Reply

8 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

Unknown March 20, 2016 at 3:56 PM

Good for quick analysis..thanx for sharing with us!!

Reply

anusha karri March 27, 2016 at 10:04 PM

Valuable information thanks for sharing Oracle DBA Online Training

Reply

Anonymous March 29, 2016 at 9:55 AM

Usefull hints...
Thanks
Suresh

Reply

Neeraj May 9, 2016 at 2:22 PM

It is quite useful. Can someone tell me if the elapsed time per execution and executions show empty(no
value at all) then what does it mean?

Reply

Anonymous May 23, 2016 at 11:37 PM

Very nice and informative article. -Ankit

Reply

Anonymous June 20, 2016 at 1:48 PM

Excellent explanation. Good job Umesh and keep it up.

Reply

Crew28~UniQ August 8, 2016 at 7:40 PM

Excellent explanation. It really helps to understand AWR.

Reply

Brajmohan Sharma August 13, 2016 at 8:01 AM

excellent representation. Please provide more detail about AWR and ADDM report reading.

Reply

Brajmohan Sharma August 13, 2016 at 8:02 AM

Excellent representation. Please share more detailed information on AWR and ADDM report reading and
analysys.

Reply

Ho Quoc Tri August 20, 2016 at 1:38 AM

Excellent explanation. It helped me a lot! Thanks!

Reply

Praveen Kumar September 8, 2016 at 7:30 AM

Valuable information thanks for sharing Oracle DBA Online Training

Reply

Unknown September 10, 2016 at 1:53 AM

awesome explanation

Reply

PlSQL Online Trainings September 13, 2016 at 11:18 PM

Try to get more set of idea through this really fun know this
PlSQL Training

Reply

Anonymous September 28, 2016 at 12:08 AM

Quite helpful for beginner like me. Thanks :)

Reply

9 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

Unknown October 26, 2016 at 12:12 PM

Hi,

I am new to awr report. for better understanding i need below details.


Could please help me understanding the each column with description. What each column tells about.

Thanks

Reply

Anonymous November 6, 2016 at 10:41 PM

This great stuff to understand keep it up.

Thanks

Reply

diptiranjan barik November 22, 2016 at 3:14 AM

Hi ..Thanks for the article.


Am seeing "Network" in Top 10 Foreground Events by Total Wait Time . Is this an issue on Network layer
?

Reply

santhosh kumar December 9, 2016 at 11:17 PM

Very nice information Thanks for sharing it


SAS Training in Chennai

Reply

Saurav Kumar December 13, 2016 at 3:50 AM

Really nice article...!!!

Thanks,
Saurav.

Reply

Mahesh Nelapati December 19, 2016 at 9:34 PM

Excellent for guys like me as it's useful in day to day support projects

Reply

Mahesh Nelapati December 19, 2016 at 9:35 PM

Excellent stuff and very useful

Reply

Rusty December 27, 2016 at 9:49 AM

Excellent overview and introduction to the AWR. I read it while looking at our AWR report and now my
report makes sense. Thanks a lot

Reply

KiKi January 19, 2017 at 2:49 AM

Mind blowing ,,,extra ordinary, awesome article.


Such a detailed explanation i never saw in any blog,
Thanks alot for sharing,
Regards,
KiKi

Reply

Anonymous February 9, 2017 at 3:57 AM

great article....

Reply

Mohana M February 25, 2017 at 2:22 AM

Hi, I am really happy to found such a helpful and fascinating post that is written in well manner. Thanks for
sharing such an informative post. keep update your blog. R Programming Online Training

Reply

Raghav Bhardwaj March 5, 2017 at 10:46 AM

good content..

Reply

Anonymous April 13, 2017 at 6:28 AM

Nice article and very helpful

Reply

10 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

Anonymous April 28, 2017 at 2:39 PM

Reply

reddy June 6, 2017 at 10:40 PM

Nice.It is very usefull

Reply

adil gul June 23, 2017 at 1:46 PM

very useful article. Kindly upload more articles with Performance tuning approaches.

Reply

downloadboss July 10, 2017 at 5:16 AM

Nice article.

Reply

Lalama Yatawara July 24, 2017 at 8:48 AM

Interesting & useful Article !!!!

Reply

Anonymous August 6, 2017 at 3:58 AM

very useful blog

Reply

abhik November 9, 2017 at 11:03 PM

Very informative and useful blog..

Reply

Anonymous November 26, 2017 at 11:25 PM

excellent information...tx

Reply

valiantvimal November 27, 2017 at 2:49 AM

Nice explanation. Thanks for sharing this.

Reply

Comment as:

Publish Notify me

11 of 12 24-05-2019, 13:24
DBAs-Oracle.com: 10 Steps to Analyze AWR Report in Oracle http://www.dbas-oracle.com/2013/05/10-steps-to-analyze-awr-report-in-...

Newer Post Home Older Post

Simple theme. Powered by Blogger.

12 of 12 24-05-2019, 13:24

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy