Friday, April 30, 2010

Jetset Ski Clothes, Co

tool to diagnose performance problems ( Oracle Performance Viewer Freeware)

The impact of parsing in a database can be very variable. In some cases, most fortunately, it is not noticeable. In other cases but can cause major problems specific performance of the database. In general the problems of excessive parsing due to poor programming, ie it must analyze and address from the application code that interact with the base. That's why developers should be aware of the negative impact that can lead to poor planning and consideration of this item as a priority since the beginning of the construction of the code.
The parsing is the first step is performed to process a sentence. At this stage you must know what kind of sentence in question (DML, DDL or select) in order to make the appropriate checks. The main activities are checking syntactic and semantic analysis Syntactical check
This check verifies if the statement complies with the grammar of the sentence set for the base version. Semantic Analysis


analyze whether the objects are referenced in the sentence, if the columns exist, if you have access to the segments and columns (privileges, etc.).
Once you successfully pass the two stages mentioned above, Oracle searches the memory (shared pool) to see if it was executed the same sentence for another session. If found, then we say that we performed a SOFT PARSE. On the other hand, if not found, there are two additional steps, which are the optimization of the ruling and plan generation and load into memory (row source generation). The implementation of all steps is called HARD PARSE. The hard parsing is CPU intensive, and if that can be raised serious obligation under general performance given the high containment is raised. To avoid hard parsing is to use BIND variables in the statements (eg use PreparedStatement). If code is a "canned" where not used and can not be changed binds can be used in the base CURSOR_SHARING, whose default is EXACT and would have to change it to SIMILAR (9i there from) or FORCE, but always recommend using SIMILAR, because it is less risky.

The soft parse can be even more soft if the cursor is cached in the session (session_cached_cursor) and so avoided going to the shared pool to get it. Since the code for the app you can enable and define the most suitable cache size (eg ((oracle.jdbc.OracleConnection) connection). SetStatementCacheSize (40)). This is available in almost all interfaces (JDBC,. NET, PL / SQL, OCI, etc).

To avoid reparse in a session must be kept open the cursor. Some interfaces such as PL / SQL, and oci jdbc allow this. OLE DB interface, SQLJ or ODP, at least until the last version I know, do not. Then I will copy 3 fragments of Java code to show the difference between parsing hard, soft and do not parse.
The first fragment below shows the use of binding NO, since concatenating the literal and not using PreparedStatement


------- TEST 1


sql = "SELECT X FROM T WHERE Y = ";
for (int i = 0; i

{statement = connection.createStatement ();
resultset = Statement.executeQuery (sql + Integer.toString (i));
if (ResultSet.next ()) {
val = ResultSet.getString ("X");}
ResultSet.close (); statement.close ();}
This code, and performance is very poor, gives rise to hacking by sql injection.
The second piece uses binding but opens and closes the cursor in each performance which generates soft parse.
TEST 2 -------

sql = "SELECT X FROM T WHERE Y =?"
for (int i = 0; i {

= Connection.prepareStatement statement (sql);
statement.setInt (1, i);
Statement.executeQuery resultset = ();
if (ResultSet.next ()) {
ResultSet.getString val = (X) ;}

ResultSet.close ();

statement.close ();}

The last fragment, which is optimal, reduces the parsing to a minimum (just a soft parsing): TEST 3



------- sql = "SELECT X FROM T WHERE Y =?" = Connection.prepareStatement statement (sql);
for (int i = 0 , I {

statement.setInt (1, i);
Statement.executeQuery resultset = ();
if (ResultSet.next ()) {

val = ResultSet.getString ("X");}
 resultset . close ();} 

statement.close ();



 In a test I made the response times of each test were: 

TEST1 -> 12.2 "
TEST2 -> 6.4"
TEST2 (caching) -> 3.9 "
TEST3 -> 3.7"
TEST3 (caching) -> 3.7 "

As seen above, the TEST2 can be improved using caching, but when using caching in TEST3 undistinguishable.

The parser can be viewed as a mini compilation, we could compare a code that runs in a loop a prepareStatement for each statement with an interpreted code. Any programmer knows that the execution of compiled code is faster to run a code that needs to be interpreted line by line.
 

Thursday, April 29, 2010

Burst Blood Vessels In Breast

Silvia Suppo

Truth and Justice for Silvia Suppo. Clarification now.
Concentration and audiovisual projection
Friday, April 30 - 20 am - Recova Ripamonti - Rafaela.
• because Silvia Suppo, and thousands of colleagues, was an important witness in the trial of former federal judge Victor Brusa and other repressors, and further the cause investigating the disappearance of his partner, Reinaldo Hattemer kidnapped on 25 January 1977 in the city of Rafaela.
• because the murder of Silvia Suppo occurred a few days of March 24 as part of the historical struggle for Human Rights, Silvia being a fighter and political activist historical reconstruction in the search for Truth and Justice in cases against humanity.
• because the degree of cruelty with which he was killed Silvia Suppo, does not correspond with a murder at the time of theft.
• because from the media was intended to close the case, ruling out the possibility of political assassination, even though the judicial investigation had not begun
• because we do not want to link the murder of Silvia with the dominant discourse of insecurity. "Insecurity" has nothing to do with the car wash, but for complicated maneuvers that perpetuate injustice, forgetfulness and impunity of the repressors. Because we want to dismantle the repressive force. • because
struck by the carelessness in the police action in the absence of shelter in crime scene. • because the complainants
constant threats and justice never find those responsible.
• because the only protection for witnesses and in cases of crimes against humanity and the entire society, is the common jail and effective for all genocides.
• because our sons, daughters, grandsons and granddaughters are entitled to a present and a future without impunity and which guarantee all rights for all people.
• because the present and the future fuel of the past.
For all of this requires a convincing investigation of the murder of Silvia SUPPO without ruling out the possibility of political assassination
TRUTH and JUSTICE for Clarification
Silvia Suppo NOW
verdad_yjusticia@yahoo.com.ar
verdadyjusticiaporsilviasuppo.blogspot.com
OPEN LETTER INVITES Santa Fe

Friday, April 16, 2010

Can You Vacuum Up Leaves And Acorns

Hard vs. Soft Parse Parse Parse vs. Non

The sentence I copied below allows a historical report of the general activity or workload of an Oracle database. As the query gets information from the AWR history the amount available will depend on the retention defined in the repository (default is 7 days but I always advisable to change to 30 days). The information provided is what is shown in a report AWR RENTABILIDAD section, which is the principal of the report. Those who have analyzed performance reports looking awr (awrrpt.sql running the script or using a graphical tool like TOAD), know that the section on "Load Profile" along with the 5 events tops are the first "snapshot" of "health" general of the base. But that snapshot does not do much if not known well in advance of activity and type of load or if you are not a large well-valued metric. To

analysis Cash must be removed awr and compare various reports to differentiate. In those cases, I prefer to have all the available history of patallazo to more easily compare and see if some metric is in non-traditional values, to export the query output to a spreadsheet and make a historical figure to make a report.

Before running the query is important to note that the values \u200b\u200bare in units per second (first column of the load profile of awr), operating in 10g or more bases.




with intervals as
(select snap,
extract (second from int) +
extract (minute from int) * 60 + extract(hour from int)*60*60 int_sec
from
(select end_interval_time snap,
           end_interval_time-lead(end_interval_time)  
over (partition by startup_time order by snap_id desc) int
from dba_hist_snapshot))
select to_char(snap_time,'YYYY/MM/DD HH24') snap_time,
round((redo_size-lead(redo_size)
over (partition by startup_time order by snap_time desc))/
int.int_sec,2) "Redo Size",
round((logical_reads-lead(logical_reads)
over (partition by startup_time order by snap_time desc))/
int.int_sec,2) "Logical Reads",
round((db_block_changes-lead(db_block_changes)
over (partition by startup_time order by snap_time desc))/
int.int_sec,2) "Block Changes",
round((physical_reads-lead(physical_reads)
over (partition by startup_time order by snap_time desc))/
int.int_sec,2) "Physical Reads",
round((physical_writes-lead(physical_writes)
over (partition by startup_time order by snap_time desc))/
int.int_sec,2) "Physical Writes",
round((user_calls-lead(user_calls) over (partition by startup_time order by snap_time desc))/ int.int_sec,2) "User Calls", round((parses-lead(parses)
over (partition by startup_time order by snap_time desc))/
int.int_sec,2) "Parses",
round((parses_hard-lead(parses_hard) round((sorts-lead(sorts)
over (partition by startup_time order by snap_time desc))/
int.int_sec,2) "Sorts",
round((logons-lead(logons)
over (partition by startup_time order by snap_time desc))/
int.int_sec,2) "Logons",
round((executes-lead(executes)
over (partition by startup_time order by snap_time desc))/
int.int_sec,2) "Exectutes",
round((user_rollbacks-lead(user_rollbacks) over (partition by startup_time order by snap_time desc)+ user_commits-lead(user_commits) over (partition by startup_time order by snap_time desc))/
int.int_sec,2) "Transactions"
from
(select s.end_interval_time snap_time,
s.startup_time startup_time, max(decode(ss.stat_name,'redo size',value,null)) redo_size, max(decode(ss.stat_name,'user rollbacks',value,null)) user_rollbacks, max(decode(ss.stat_name,'user commits',value,null)) user_commits,
max(decode(ss.stat_name,'session logical reads',value,null)) logical_reads,
max(decode(ss.stat_name,'db block changes',value,null)) db_block_changes,
max(decode(ss.stat_name,'physical reads',value,null)) physical_reads,
max(decode(ss.stat_name,'physical writes',value,null)) physical_writes, max(decode(ss.stat_name,'user calls',value,null)) user_calls, max(decode(ss.stat_name,'parse count (total)',value,null)) parses, max(decode(ss.stat_name,'parse count (hard)',value,null)) parses_hard,
max(decode(ss.stat_name,'sorts (memory)',value,null)) sorts,
max(decode(ss.stat_name,'logons cumulative',value,null)) logons,
max(decode(ss.stat_name,'execute count',value,null)) executes
from dba_hist_sysstat ss, dba_hist_snapshot s where s.snap_id = ss.snap_id and ss.stat_name in ('user rollbacks','user commits','session logical reads',
'db block changes','physical reads','physical writes','user calls',
'parse count (total)','parse count (hard)','sorts (memory)','logons cumulative',
'execute count','redo size')
group by s.end_interval_time,s.startup_time) t, intervals int where t.snap_time = Int.snap snap_time order by desc



Wednesday, April 14, 2010

Make A Card Similar To Jibjab But Free

First Judgement by Trial and Crimes against Humanity in Rosario

peers
This Thursday April 15th at 11:30 am, we concentrate on the doors federal courts, Orono 940, to await the sentence for the cause Guerrieri for crimes against humanity, demanding common jail, prison and effectively to genocide.
The court judge, condemn them all.

We summoned the hope


Open Letter Santa Fe Province

Friday, April 9, 2010

Christmas Gift For Stroke Patient

REUNION SATURDAY OPEN LETTER

This Saturday April 10 at 11 am in Plaza de la Cooperation (Mitre and Tucumán) Make a new assembly of Open Letter.
The proposed agenda, according to what is happening is as follows:

1 - Oral report of the trials against humanity that will sentence next week.

2 - Discussion, support and participation in all activities requiring support for Implementácia n of the new media bill.

3 - Organization of talks during the month of May (Sandra Russo, Forster) establishing who and how they will handle the details of these events. As

see the topics are varied and important, so commitment is essential to attend and participate.

the hope


are calling for Press and Communication Commission
Open Letter Province of Santa Fe