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
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