I am moving here – Buraya taşınıyorum

In 2007 I will move and consolidate my Oracle related posts indexed here http://tonguc.blogspot.com and detailed here http://tonguc.oracleturk.org. This will take some time..

http://tonguc.blogspot.com altında kısa yollarını verdiğim http://tonguc.oracleturk.org icinde yer alan Oracle yazılarımı 2007 yılında burada konsolide etmeyi planlıyorum.

GOREVLER OZET

gorev 1 ekim apex survey appl. – intro apex,sql,plsql,xe db.
http://www.oracle.com/technology/oramag/oracle/06-mar/o26browser.html

gorev 2 kasım hello world appl. – intro jdev,ajax
http://www.oracle.com/technology/pub/articles/nimphius-ajax.html

gorev 3 aralik user_objects appl. – more plsql,supplied packages,intro pl/sql developer ide, conventions

gorev 4 ocak v$sql_area appl. – more plsql,supplied packages

gorev 5 subat memory tree appl. – Sum up: ApEx,SQL,PLSQL,AJAX
http://www.oracle.com/technology/pub/articles/spendolini-tree.html

gorev 6 mart SQL perf. appl. – analytic function comparison, returning clause comparison, nologging operations comparison

gorev 7 nisan PL/SQL perf. appl. – bind variables comparison, bulk collection comparison, pipelined functions comparison
http://www.oracle.com/technology/sample_code/tech/pl_sql/index.html

gorev 8 mayıs JDBC perf. appl. – autocommit,batching,prepared statement Performance Extensions
http://www.oracle.com/technology/sample_code/tech/java/sqlj_jdbc/index.html

gorev 9 haziran Text appl. – oracle concepts-features
http://www.oracle.com/technology/sample_code/products/text/index.html
Discussion Forum Packaged Application
http://www.oracle.com/technology/products/database/application_express/packaged_apps/packaged_apps.html
Programs Archive Oracle Application Express Studio Application
http://htmldb.oracle.com/pls/otn/f?p=18326:7:475099303903494::::P7_ID:362

degerlendirme – rapor+sunum

EKIM GOREV 1

..
Bu on calismalar belirli bir sure icinde bir dokuman uzerinden rapor hazirlamak ve fikirlerinizi savunmak seklinde veya yeni bir teknoloji ile uygulama gelistirmek olabiliyor. Amaclanan paylasilan dokumanlari anlamaniz, analiz etmeniz ve yorumlarinizi katarak bir ornek ile gerceklemeniz surecini gozlemlemek.

Okulunuzda yogun oldugunuzu biliyorum, bu calismalara gostereceginiz ozen ve ayiracaginiz zaman icin simdiden tesekkur ederim. Bir sure boyunca sizlerden isteyecegim bu calismalari israrla takip ederseniz sizlere pratik is yasaminda Turkcell gibi ~30milyon musterisi olan bir sirketin kullandigi uygulama gelistirme teknikleri uzerine yeni bakis acilari kazanabileceginizi dusunuyorum.

Ilk calismaniz kurulumlar sonrasinda en fazla birkac saatinizi alacak, ama 1 Kasıma kadar zamanınız olacak; http://www.oracle.com/technology/oramag/oracle/06-mar/o26browser.html adresinde basit bir anket uygulamasinin Oracle ApEx ile gelistirilmesi anlatiliyor. Web tabanlı bir uygulama olduğundan biraz yemek tarifi modunda :) , ama ApEx ‘in ozellikle Oracle bütünlesikligi nedeniyle hosunuza gidecegini tahmin ediyorum. Bu uygulamayı kurduğunuz Oracle XE’ler üzerinde hr kullanicisi ile yapabilirsiniz ama akabinde benim görebilmem için ApEx ‘in online gelistirme ortamından kendinize bir workspace talep edip, bu uygulamayı orda da geliştirip bana baglantisini göndermenizi rica ediyorum. Bu amaçla http://apex.oracle.com adresindeki “request a workspace” baglantisini kullacaksınız.

Asagidaki referans linklerden, özellikle dökümanların ve forumun bulunduğu linklerden başınız sıkıştıkça faydalanmanızda yarar var. Oracle ve Java ilintili konulara kısa sürelerde adapte olup, en kısa sürede basit uygulamalar geliştirebilecek düzeye gelmeniz oncemli olacak.

– calismalarinizda bu linklerden faydalanmaniz gerekiyor;

http://technet.oracle.com/xe http://tonguc.oracleturk.org/index.php/2006/03/20/kahine-yolculuk-nasil-baslamali/

http://tonguc.oracleturk.org sagdaki baglanti listesinden;

Yeni Başlayanlar için Oracle
* Oracle®’a nasıl başlamalı?
* Oracle Nedir?
* Why Oracle?
Favorilerim
* Examples and Reference Materials for Oracle

– yazismalarimizda gmail kullanacağım, bana gmail hesaplarizdan yazarsaniz sevinirim, gerekirse ben davetiye gönderebilirim.

– XE uzerine ayri bir kurulum yapmaya gerek yok, apex kurulu gelir. denemek icin: http://localhost:8080//apex

– Uygulamanin “http://apex.oracle.com/pls/otn/f?p=30422” seklinde bana baglanti bilgisini ulastirmaniz gerekli, burada gosterim su sekilde; http://tonguc.oracleturk.org/index.php/2006/07/28/apex-using-fp-syntax-to-link-pages/ Ayrica Application Builder altinda Shared Components>Authentication Schemes “No Authentication” yaratip “make current” derseniz baglandiginda kullanici sormayacaktir
..

KASIM GOREV 2

..
Ilk calismayi tamamlayanlar bana apex uygulamasinin baglanti bilgilerini gonderdi, tesekkurler. Ben de akabinde bu isteklerimi paylastim;

1- Oracle konusunda ilerleyebilecegimiz bir referans belge var onu incelemeye baslamani rica ediyorum, simdilik sadece acilis chapterina goz atman yeterli; Oracle® Database Concepts 10g Release 2 ( 10.2)
http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/toc.htm
2- Bu uygulamayi biraz ozellestirebilriz, apex antremani olur bu. Daha kullanisli Turkce bir anket ornegin; http://apex.oracle.com/pls/otn/f?p=15385
3- yine apex konusunda ilerlemen icin “best practice” seklinde hazirlanmis bir “Sample Application v2.0¨ isimli apex ile birlikte default kurulu gelen ” Demonstration Application” incelemeni istiyorum. Diger “Demonstration Application” lari da “create application” tabından kurup deneyebilirsin-> http://download-uk.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25309/demo.htm#CEGGGIIH

Oracle® Database Express Edition 2 Day Plus Application Express Developer Guide Release 2.1
http://download-uk.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25310/toc.htm

Oracle® Database Express Edition Application Express User’s Guide Release 2.1
http://download-uk.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25309/toc.htm
Bu konularda geridonusunuzu bekliyorum, henuz ilk uygulamayi gonderme firsati olmamis arkadaslarim gec kalmis degiller.

Ikinci calisma bir jdev(otn.oracle.com/jdev) ve ajax( otn.oracle.com/ajax ve http://www.oracle.com/technology/pub/articles/schalk-ajax.html) ısınması olacak; http://www.oracle.com/technology/pub/articles/nimphius-ajax.html

Bu makaledeki uygulamayi kurdugunuz Oracle XE veritabnalari uzerinde gerceklemenizi rica ediyorum.

Otn uzerindeki jdev ve ajax referans kaynaklarindan da faydalanarak uygulama üzerinde yorumlar yapabilir veya genisletebilirsiniz.

Ve son olarak bu yahoo grubuna uygun olduğunuzda birer boş ileti göndererek üye olun lütfen; oracleturk-subscribe@yahoogroups.com.

Not: Aralık ayında ucuncu calisma olarak bir veritabani paketi hazirlamaniz gerekecek, bu ay boyunca okulunuzda uygun oldugunuz donemlerde ilk iki calismayi istedigim gibi tamamlarsaniz daha rahat devam edebiliriz.
Ve bundan sonraki adimlarda rahat ilerleyebilmek icin burada anlatilan Oracle gelistirme ortamina benzer bir ortami kurulmasini rica ediyorum; http://dgielis.blogspot.com/2006/10/install-suse-10-with-favorite-toys.html

Installing Oracle Database 10g Release 2 on Linux x86
http://www.oracle.com/technology/pub/articles/smiley_10gdb_install.html
Guide to Linux File Command Mastery
http://www.oracle.com/technology/pub/articles/calish_file_commands.html
An Introduction to Linux Shell Scripting
http://www.oracle.com/technology/pub/articles/saternos_scripting.html

..

ARALIK GOREV 3

..
Görev sys.all_objects görüntüsü verisini dbms_obfuscation_toolkit destek paketi ile sifreleyerek isletim sistemine text file olarak utl_file destek paketi ile yazan pl/sql paketinin ilgili moduller ile hazirlanmasi. Ve bu yazilan kodun dbms_job destek paketi ile her saat basi otomatik calismasini saglamalisiniz.

Kodu yazarken IDE olarak pl/sql developer indirip kullanmaya yavas yavas baslamanızı rica ediyorum; http://www.allroundautomations.nl
icindeki Beautifier ‘ın özelliklerini ayarlayarak standart, okunabilir bir kod hazırlamasını bekliyorum. Referans olması için bizim genel olarak veritabanı uygulaması geliştirirken uyguladigimiz kuralları da gonderiyorum; “ORACLE UYGULAMA GELİŞTİRME STANDARTLARI v1.doc

Bazı dikkat edilmesi gereken noktalar sunlar;

– plsql sentaksı java sentaksından farklıdır, ornegin değişkenler ve işlev isimlerinde “_” ile ayırıyoruz, dbms_random oracle paketini plsql developer ile goruntuleyip inceleminizi oneririm.

– Hazirlanacak bu paket içinde commit kullanMAyın, bir standart olarak asla başkalarının çağırabileceği dış dünyaya açtığın uygulamalarda commit/rollback kullanMAmak gerekir, zira farkında olmayan çağırıcının tüm transaction mantığını yok eder bu yaklaşım. Dikkat..

– Benzer durum exceptionlar icin de gecerli, exception dondu ise cagiran handle etmeli. Transaction ve exception handling cagiricinin sorumlulugudur aksi belirtilmedi ise.

– Yine Spec kısmında sadece dışardan çağırılacak işlevleri belirtmek gerek. Diger body ‘deki islevleri boylece saklamis oluyoruz.

– Hard-coding den kacinalim; mesela utl_file.fopen da file_name, path, open_mode ‘da degerler arguman olsun, statik olmasin. Hard coding ‘den olabildiğince kaçınmak lazım esnek bir uygulama olması ve tekrar tekrar kullanılabilmesi için.

– Aynı amaç için paket içinde bir isi yapan esnek alt moduller kullanmak gerek. Ornegin paketin icinde utl_file ile dosya acma islemini bir modul yapsin, yazma ve kapama islemlerini baska moduller yapsin gibi.

– Okunaklı bir kod olmasi cok onemli, aciklamalar olmali, bu uzun vadede başkalarının da uygulamana mudahele etmesini rahatlatacaktır, hatta bir-iki sene sonra kendi kodunu bile zor anliyor bu aciklayici satirlar olmayınca insan :)

– İncelemek isterseniz PL/SQL Developer alternatifi bazı IDE ler sunlar(google’da aratabilirsiniz); SQL Navigator(Quest), TOAD(Quest), SQL Developer(Oracle-ucretsiz), JDeveloper(Oracle-ucretsiz-UML
,XML,Java,SQL,PLSQL hepsini destekler).- Dbms_job alternatifi olarak dbms_scheduler de incelenebilir, bu ornek icin dbms_job yeterli dbms_scheduler daha karmaşık ihtiyaçlar için geliştirilmiş bir paket.all_objects : http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_2005.htm#sthref1427
dbms_obfuscation_toolkit : http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_obtool.htm
utl_file : http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_file.htm#sthref14093
dbms_job : http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_job.htm#sthref3477

Oracle® Database SQL Reference 10g Release 2 (10.2)
http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14200/toc.htm

Oracle® Database PL/SQL User’s Guide and Reference 10g Release 2 (10.2)
http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14261/toc.htm

Oracle® Database Application Developer’s Guide – Fundamentals 10g Release 2 (10.2)
http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14251/toc.htm

Oracle® Database PL/SQL Packages and Types Reference 10g Release 2 (10.2)
http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14258/toc.htm

OTN PL/SQL Sample Codes
http://www.oracle.com/technology/sample_code/tech/pl_sql/index.html

Best Practice PL/SQL with Steven Feuerstein
http://www.oracle.com/technology/pub/columns/plsql/index.html

OTN PL/SQL Homepage
http://www.oracle.com/technology/tech/pl_sql/index.html

Discussion Forums » Database » SQL and PL/SQL
http://forums.oracle.com/forums/forum.jspa?forumID=75

OTN Oracle Database Application Development Homepage
http://www.oracle.com/technology/products/database/application_development/index.html

uyari 1) utl_file hatasi ile ilgili;


Warning: Package Body created with compilation errors.

HR on 23/12/2006 13:26:30 at XE > sho err
Errors for PACKAGE …

LINE/COL ERROR
——– —————————————————-
2/12 PL/SQL: Item ignored
2/12 PLS-00201: identifier ‘UTL_FILE’ must be declared
…

– sys ile grant verip sorunu cozdum;

conn / as sysdba
Connected.
grant all on utl_file to public ;

Grant succeeded.

conn hr/hr
Connected.
CREATE OR REPLACE PACKAGE BODY ….

uyari 2) Exception Handling konusu cok cok onemli;

Plsql soz konusu oldugunda tahiti belgeleri yaninda Steven Feuerstein yol gosterenimizdir bir sunumu paylasiyorum; www.quest.com/presentations/ExceptionHandling.pdf

Oracle® Database PL/SQL User’s Guide and Reference 10g Release 2 (10.2)
Chapter 10 Handling PL/SQL Errors
http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14261/errors.htm#LNPLS00702

..

OCAK GOREV 4

bu ikinci plsql görevinde v$sqlarea görüntüsündeki en fazla disk okuması yapan beş sorguyu tespit edip bir html iletisi olarak hazirlayip mail ile göndermek. ilk çalışmadaki beklentiler aynen gecerli: bol modüllü, okunaklı, isimlendirme standartlarına uygun ve hard-coding hiç olmayan bir paket :)

ilgili beş sorguyu tespit etmek ve ilgilendiğimiz belirleyici birkaç kolonu yazdırmak amacı cursorda buna benzer bir sorgu kullanacaksınız, ve bulduğunuz sorguların v$sql_plan görüntüsünden nasıl bir execution planı olduğu bilgisini de bu ileti içine ekleyebiliriz, guzel olur;


SELECT sq.sql_text, se.status, se.username, se.osuser, se.terminal,
se.program, se.logon_time, sq.hash_value, sq.address, sq.buffer_gets,
sq.disk_reads, sq.executions, sq.fetches, sq.rows_processed,
io.block_gets, io.consistent_gets, io.physical_reads, io.block_changes,
io.consistent_changes, se.module, se.action, se.client_info, sw.event,
sw.p1text, sw.p1, sw.p2text, sw.p2, pr.pga_used_mem,
pr.pga_alloc_mem, pr.pga_freeable_mem, pr.pga_max_mem
FROM v$session se, v$sqlarea sq, v$process pr, v$session_wait sw, v$sess_io io
WHERE se.sql_hash_value = sq.hash_value
AND se.paddr = pr.addr AND se.sid = sw.sid AND se.sid = io.sid
ORDER BY sq.disk_reads DESC

bu çalışmayı da ilk plsql çalışması ile birlikte başarı ile bitiren ve hosuna giden arkadaşlarıma zevkle okuyacaklarını düşündüğüm Steven Feuerstein iki kitabını paylasacağım; pl/sql best practices ve pl/sql programming.

referans bilgiler;

v$sqlarea http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14237/dynviews_2129.htm#sthref4069
V$SQL_PLAN http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14237/dynviews_2120.htm#sthref4050
ranking http://tonguc.oracleturk.org/index.php?s=RANK+AND+DENSE_RANK veya http://psoug.org/reference/pseudocols.html#rno
utl_mail http://psoug.org/reference/utl_mail.html
htp http://psoug.org/reference/htp.html
owa_util http://psoug.org/reference/owa_util.html
htf http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14258/w_htf.htm#ARPLS390
dbms_lob http://psoug.org/reference/dbms_lob.html
pl/sql programming http://www.amazon.com/Oracle-PL-SQL-Programming-4th/dp/0596009771/sr=8-1/qid=1164733850/ref=pd_bbs_sr_1/104-7054223-2399110?ie=UTF8&s=books
pl/sql best practices http://www.amazon.com/Oracle-PL-SQL-Best-Practices/dp/0596001215/sr=8-3/qid=1164733850/ref=pd_bbs_sr_3/104-7054223-2399110?ie=UTF8&s=books

Bazı sorular ve cevaplarım

Oncelikle; sorun yasadiginizda en fazla yarım saat sonunda gelisim olmuyorsa mutlaka bana yazın veya forums.oracle.com’dan ilgili grubu secerek destek almaya calisabilirsin.
– “Attach file bakarsan bunun sonucunda disk_readlar sıfır..”
sistemde once buyuk okumalar yapacak birkac sorgu calistirmanda fayda var database acildiktan sonra ki manalı degerler gorebil. mesela select count(*) from dba_source ve select sum(line) from dba_source gibi.
– “Burada olaya v$session tablosunu fln karıştırmamız execution planla mı ilgili?”
hayir execution plan v$sql_plan ‘dan gelicek join edilerek, bu tablodaki osuser ve terminal gibi onemli alanlar html rapora konulabilir diye.


- siralama ile ilgili;

SELECT banner FROM v$version WHERE banner LIKE 'Oracle%';

Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bi

-- yontem 1, buyuk sistemler icin etkin olmayacaktir ama evdeki XE'de cok kritik degil
SELECT tm.sql_text, tm.disk_reads
FROM (SELECT *
FROM (SELECT * FROM v$sqlarea ORDER BY disk_reads DESC)
WHERE rownum <= 5) tm
ORDER BY tm.disk_reads DESC;

SQL_TEXT                                                                         DISK_READS
-------------------------------------------------------------------------------- ----------
select nvl(max((dbms_space_admin.segment_number_blocks(ts.ts#,s.file#,s.block#,s      93597
select ' ' ,nvl(max((dbms_space_admin.segment_number_blocks(ts.ts#,s.file#,s.blo      93484
SELECT MIN(CLONESTAT),MIN(REGSTAT),MAX(WHITESTAT) FROM GRI_LISTE WHERE IMEI = :B      22814
( SELECT  substr(a.imei,1,14) || 'X' imei,                                           18613
BEGIN :1 := pk_interfaces_for_channels.get_tel_statu( :2, :3, :4, :5, :6, :7 ) ;      11957

-- yontem 2, etkin yontem, sonuclar ayni iki sorgununda
SELECT tm.*
FROM (SELECT sql_text, disk_reads, rank() over(ORDER BY disk_reads DESC) AS rank
FROM v$sqlarea) tm
WHERE rank <= 5;

SQL_TEXT                                                                         DISK_READS       RANK
-------------------------------------------------------------------------------- ---------- ----------
select nvl(max((dbms_space_admin.segment_number_blocks(ts.ts#,s.file#,s.block#,s      93597          1
select ' ' ,nvl(max((dbms_space_admin.segment_number_blocks(ts.ts#,s.file#,s.blo      93484          2
SELECT MIN(CLONESTAT),MIN(REGSTAT),MAX(WHITESTAT) FROM GRI_LISTE WHERE IMEI = :B      22814          3
( SELECT  substr(a.imei,1,14) || 'X' imei,                                           18613          4
BEGIN :1 := pk_interfaces_for_channels.get_tel_statu( :2, :3, :4, :5, :6, :7 ) ;      11957          5

- bir ornek yontem bu olabilir;
...
DBMS_LOB.CREATETEMPORARY(v_text, TRUE) ;
DBMS_LOB.CREATETEMPORARY(v_sql_text, TRUE) ;
DBMS_LOB.CREATETEMPORARY(v_plan_text, TRUE) ;

v_text := HTF.TITLE(v_oracle_sid || ' ' || v_script_name) || CHR(10) ;
v_text := v_text || HTF.HEADER(3, v_oracle_sid || ' ' || v_script_name || ' ' || TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS'), 'CENTER') || CHR(10) ;

v_text := v_text || HTF.TABLEOPEN('BORDER=1', 'CENTER', NULL, NULL, 'CELLPADDING=0') || CHR(10);
v_text := v_text || HTF.TABLEROWOPEN || CHR(10);

v_text := v_text || HTF.TABLEDATA(HTF.STRONG('SQL No.'), 'CENTER') || CHR(10);
v_text := v_text || HTF.TABLEDATA(HTF.STRONG('Username'), 'CENTER') || CHR(10);
v_text := v_text || HTF.TABLEDATA (HTF.STRONG('Buffer Gets per Exec.'), 'CENTER') || CHR(10);
v_text := v_text || HTF.TABLEDATA(HTF.STRONG('Disk Reads per Exec.'), 'CENTER') || CHR(10);
...
FOR c_sql_summary_rec IN (SELECT ..
FROM   ..
WHERE ..)
...
v_text := v_text || HTF.TABLEROWOPEN || CHR(10);
v_text := v_text || HTF.TABLEDATA(v_top_sql_cnt, 'CENTER') || CHR(10);
v_text := v_text || HTF.TABLEDATA(NVL(c_sql_summary_rec.username, ' '), 'CENTER') || CHR(10);
v_text := v_text || HTF.TABLEDATA(NVL(TO_CHAR(c_sql_summary_rec.buffer_gets_per_exec), ' '), 'CENTER') || CHR(10);
v_text := v_text || HTF.TABLEDATA(NVL(TO_CHAR(c_sql_summary_rec.disk_reads_per_exec), ' '), 'CENTER') || CHR(10);
...
END LOOP ;

v_text := v_text || HTF.TABLECLOSE || CHR(10) ;
...

– execution plan icin v$sql_plan i verdigim baglantidan inceleyip join ederek aradigin satirlari bulmalisin

– maile attach olmayacak body’si bu html rapor olacak, yukarda paylastigim ornek sornasinda daha iyi olacak sanirim.

SUBAT GOREV 5

.. 2. görevde ajax çalışmasından hoşlanan arkadaşlarım çalışmalarını devam ettirmek istediler, öncelikle java ve ajax hakkında bazı bağlantılar paylaşmak istiyorum;

OTN AJAX Resources
http://www.oracle.com/technology/ajax/index.html

OTN Java Developer Center
http://www.oracle.com/technology/tech/java/index.html

Oracle® Database Java Developer’s Guide 10g Release 2 (10.2)
http://download-uk.oracle.com/docs/cd/B19306_01/java.102/b14187/toc.htm

Oracle® Database JDBC Developer’s Guide and Reference 10g Release 2 (10.2)
http://download-uk.oracle.com/docs/cd/B19306_01/java.102/b14355/toc.htm

Beşinci görevin detaylarına gelince, bu ilk 4 görevin tamamını içeren bir toparlama çalışması gibi olacak: ApEx+SQL+PLSQL+AJAX birlikte.

Building an Ajax Memory Tree by Scott Spendolini
http://www.oracle.com/technology/pub/articles/spendolini-tree.html

Bu görevde aşağıdaki örnekleri de detaylı inceleyerek, bu uygulamaya ağaç paralelinde veya dışında birkaç ajax özelliği daha katmaya çalışabilirsiniz;

Carl Backstrom ApEx-AJAX & DHTML examples;
http://htmldb.oracle.com/pls/otn/f?p=11933:5:8901671725714285254

Scott Spendolini’s AJAX Select List Demo
http://htmldb.oracle.com/pls /otn/f?p=33867:1:10730556242433798443

Scott Spendolini’s AJAX Code Generator
http://htmldb.oracle.com/pls/otn/f?p=33867:2:10730556242433798443::NO

http://htmldb-de.blogspot.com/2006/09/google-suggest-in-apex-mit-ajax.html

Örnek olarak select list olarak açılan bir checkbox grubu biliyorum, check-list-box adında yeni bir ajax yaratığı yani, “sky is the limit” bu görevde :)

Diger faydali okumalar:

Oracle® Database Express Edition 2 Day Plus Application Express Developer Guide Release 2.1
http://download-uk.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25310/toc.htm

Oracle® Database Express Edition Application Express User’s Guide Release 2.1
http://download-uk.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25309/toc.htm

http://ersin.oracleturk.org/?p=10

http://technology.amis.nl/blog/?p=1402

http://mustafatan.blogspot.com/2006/11/xml-performance-killer.html

asmis ornekler – apex icinde henuz benzerini gercekleyebilen olmadi

dhtmlxTree – AJAX powered DHTML JavaScript Tree component with rich API
http://www.scbr.com/docs/products/dhtmlxTree/

http://www.backbase.com/demos/explorer

MART GOREV 6, NISAN GOREV 7, MAYIS GOREV 8

Besinci gorevi takip eden uc gorev icinde bu calisma ornek teskil etmeli; Cost of function call

Olcum veya kiyaslama yontemi bu ornekteki gibi runstats veya 10046 sql trace olacak.

Beklentim her ay icin ilgili basliklardan en az uc tanesi icin bu kiyaslama calismasini gerceklestirerek bir rapor olarak kendi yorumlarinizi ekleyerek bana iletmeniz.

MART GOREV 6
SQL Performance Extentions

– Arraysize etkisi
– Indexlerin dml performansinaa etkisi
Analytics vs. generic sql (TopN Analysis: Rownum – Row_Number – Rank gibi)
Model clause vs. generic sql
– Nologging vs. logging operations
– Pctfree, pctused, freelist, initrans storage parametreleri etkisi
– Referential Integrity maliyeti
– Oracle Function vs. Oracle View
– Bitmap Index ile summary management farki
– Materialized View ile summary table management farki
– Benzeri kendi sececeginiz bir konu da olabilir

NISAN GOREV 7
PL/SQL Performance Extentions

– Binding;
with_bind_dynamic vs. without_bind_dynamic
with_binding vs. without_binding
– Explicit vs. implicit cursor
– Bulk; without_bulk vs. with_bulk
– Native SQL vs. PL/SQL
– Cost of function call
– RETURNING Clause etkisi
– Benzeri kendi sececeginiz bir konu da olabilir

MAYIS GOREV 8
JDBC Performance Extentions

– Auto-commit etkisi
– Prepared Statement etkisi
– Batching etkisi
– Row PreFetching etkisi
– Defining the Types of Result Set Columns etkisi
– Statement Caching etkisi
– Benzeri kendi sececeginiz bir konu da olabilir

Advertisement

4 Comments

  1. 3. görevi teslim ettikten sonra zamanladığınız görevi silmezseniz birkaç hafta sonra aşağıdaki (linkteki) gibi bir manzara ile karşılaşılması mümkün :)

    http://goo.gl/D7tX9

Leave a Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s