inflow.aljunic.com

ASP.NET Web PDF Document Viewer/Editor Control Library

ops$tkyte%ORA11GR2> set termout off ops$tkyte%ORA11GR2> prompt run @watch_stat in another session here! run @watch_stat in another session here! ops$tkyte%ORA11GR2> pause The point where you see set termout off is the point where the large query is executing, we told SQL*plus to run the query but not print on the screen (it would take a while for over 70,000 lines to be printed). Now if we run our watch_stat.sql script again in the second session, we'll see something like the following: ops$tkyte%ORA11GR2> @watch_stat 6 rows merged. NAME KBYTES_WRITES DIFF_KBYTES_WRITES --------------------------------------------- ------------- -----------------physical reads direct temporary tablespace 3120 3120 physical writes direct temporary tablespace 3120 3120 session pga memory 737 64 session pga memory max 801 128

ssrs code 128, ssrs code 39, ssrs data matrix, winforms pdf 417 reader, winforms qr code reader, winforms upc-a reader, c# remove text from pdf, pdfsharp replace text c#, winforms ean 13 reader, itextsharp remove text from pdf c#,

364 364

ReportProgress: int -> unit DoWork: IEvent<DoWorkEventArgs> RunWorkerCompleted: IEvent<RunWorkerCompletedEventArgs> ProgressChanged: IEvent<ProgressChangedEventArgs>

64 64

Notice this time that the session xxx memory and session xxx memory max values don t match. The session xxx memory value represents how much memory we are using right now. The session xxx memory max value represents the peak value we used at some time during our session while processing the query.

Note Objects such as a BackgroundWorker are two-faced : they have some methods and events that are for use from the main thread and some that are for use on the worker thread. This is common in concurrent programming. In particular, be careful to understand which thread an event is raised on. For BackgroundWorker, the RunWorkerAsync and CancelAsync methods are for use from the GUI thread, and the ProgressChanged and RunWorkerCompleted events are raised on the GUI thread. The DoWork event is raised on the worker thread, and the ReportProgress method and the CancellationPending property are for use from the worker thread when handling this event.

Note In these examples, I wouldn t expect that you d see exactly the same numbers I ve printed here. The

amount of memory used is affected by many things, such as Oracle version, the operating system and its features and capabilities, the amount of data placed into the table T, and so on. You should expect variations in memory amounts, but the overall picture will be the same.

The members in Table 13-1 show two additional facets of BackgroundWorker objects: they can optionally support protocols for cancellation and reporting progress. To report progress percentages, a worker must simply call the ReportProgress method, which raises the ProgressChanged event in the GUI thread. For cancellation, a worker computation need only check the CancellationPending property at regular intervals, exiting the computation as a result.

Not only do applications sometimes need read-only business objects, but they also commonly require immutable collections of objects. The ReadOnlyListBase class lets you create strongly typed collections of objects whereby the object and collection are both read-only. <Serializable()> _ Public Class StaticList Inherits ReadOnlyListBase(Of StaticList, ChildType) End Class As with ReadOnlyBase, this object supports only the retrieval of data. It has no provision for updating data or handling changes to its data. While the child objects in such a collection may inherit from ReadOnlyBase, they don t have to. More commonly, the child objects in a read-only collection are just simple .NET objects that merely expose read-only properties.

As you can see, our memory usage went up we've done some sorting of data Our UGA increased from 300KB to 364KB (64KB) during the processing of our query To perform our query and the sorting, Oracle allocated a sort area for our session Additionally, the PGA memory went from 673KB to 737KB Also, we can see that we did 3,120 writes and reads to and from temp (since the data we sorted could not have fit into 64KB, our SORT_AREA_SIZE) By the time we finish our query and exhaust the resultset, we can see that our PGA has shrunk somewhat (note that in Oracle8i and before, you wouldn t expect to see the PGA shrink back at all; this is a new feature with Oracle9i and later) Let's retry that operation but play around with the size of our SORT_AREA_SIZE by increasing it to 1MB.

We'll log out of the session we're monitoring and log back in, following the directions to increase our SORT_AREA_SIZE to 1MB Remember that in the other session we are monitoring from, you must run the reset_statsql script to start over As the beginning numbers are consistent (the output of the first watch_statsql should be the same in a new session), I don't display them here only the final results: NAME KBYTES_WRITES DIFF_KBYTES_WRITES --------------------------------------------- ------------- -----------------physical reads direct temporary tablespace 1057 1057 physical writes direct temporary tablespace 1057 1057 session pga memory 609 -64 session pga memory max 2017 1344 session uga memory 300 0 session uga memory max 1329 1029 6 rows selected As you can see, our PGA has grown considerably this time during the processing of our query.

   Copyright 2020.