Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: ASSM in 10g RAC doesnt seem work that well

Re: ASSM in 10g RAC doesnt seem work that well

From: Martic Zoran <zoran_martic_at_yahoo.com>
Date: Tue, 29 Mar 2005 01:19:22 -0800 (PST)
Message-ID: <20050329091922.29034.qmail@web52603.mail.yahoo.com>


Thanks a lot Jonathan.

Your pointers are always great.
I agree fully with your observation about the algorithms used here.
possible latch spinning problem and ownership of special blocks in RAC may be the Christos problem. Will test out of PL/SQL, but need some time to do that. Anyway I assume a lots of people are using PL/SQL anyway :)

But lets back to the CPU usage again.

I did the test with IOT table now.
For the start I did it only with 1 session. Again 10g with ASM on Solaris 9.
I did the test with bulk DML (inserts) from PL/SQL and got this timing:

CPU used when call started
CPU used by this session (both timing are the same) ASSM - 2,25
Non-ASSM 5,36

The difference is now huge.
The difference in statistics when you remove all non-important statistics are in latching. It was less latching with ASSM.

This is becoming more interesting now.

For clarity I am showing the test I did:

CREATE TABLE "XXX" ("N" VARCHAR2(1000 byte) NOT NULL,

    "COL1" DATE NOT NULL, "COL2" CHAR(100 byte) NOT NULL,
    CONSTRAINT "SYS_C0051159" PRIMARY KEY("N", "COL1", "COL2")
    USING INDEX)
    TABLESPACE "USERS" ; execute runstats_pkg.rs_start('ASSM 1'); declare

        TYPE ntab IS TABLE OF varchar2(100) INDEX BY BINARY_INTEGER;
        TYPE markettab IS TABLE OF DATE INDEX BY BINARY_INTEGER;

	nn ntab;
	n_loop number := 10;
	n_array_size number := 1000;
begin
	for i in 1..n_loop loop
		for j in 1..n_array_size loop
			nn(j) :=
to_char(i)||to_char(j)||'ffffffffffffffffffffffffffffffffffffffffffffffff';
		end loop;
		begin
			forall k in 1..n_array_size save exceptions
				insert into xxx values
(nn(k),trunc(sysdate),'sssssssssssssss');
		exception
			when others then 
				null;
		end;
		commit;
	end loop;

end;
/
execute runstats_pkg.rs_stop('ASSM 1');

Regards,
Zoran


Do you Yahoo!?
Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/
--
http://www.freelists.org/webpage/oracle-l
Received on Tue Mar 29 2005 - 04:23:05 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US