Kayıtlar

Oracle Lock Modların Tipleri 0 - NONE: lock requested but not yet obtained 1 - NULL 2 - ROWS_S (SS): Row Share Lock 3 - ROW_X (SX): Row Exclusive Table Lock 4 - SHARE (S): Share Table Lock 5 - S/ROW-X (SSX): Share Row Exclusive Table Lock 6 - Exclusive (X): Exclusive Table Lock EXCLUSIVE MODE: Bu seçenek tüm tabloyu LOCK eder ve tablo üzerinde DML işlemlerine tek bir satır için bile izin vermez. Bu tablo üzerinde sadece SELECT sorgularına izin verilir. Tablo üzerinde işlem yapılabilmesi için LOCK kaldırılmalıdır ROW SHARE MODE: Bu seçenek tablo üzerinde DML ve SELECT işlemlerine izin verir. Tablonun tamamını LOCK edilmesini izin vermez ROW EXCLUSIVE MODE: Bu seçenek Oracle’ın varsayılan LOCK mekanizmasıdır. DML işlemlerindeki ROW LOCK bu metot ile yapılır SHARE MODE: Bu seçenek tabloya SELECT sorgusu atılmasına izin verilir fakat DML işlemlerine izin vermez. INDEX oluşturulurken kullanılan yöntemdir SHARE ROW EXCLUSIVE MODE: BU seçe...

Window Group, Window kullanarak DB Job çalıştırma

-- Window Group Drop Etme begin DBMS_SCHEDULER.drop_window_group (     group_name => 'UC_BES_YEDI_GROUP',     force       => TRUE); end;   / -- Window Drop Etme begin DBMS_SCHEDULER.drop_window (     window_name => 'TEST_WINDOW_BES,TEST_WINDOW_YEDI',     force       => TRUE); end; / -- DB job Drop Etme BEGIN DBMS_SCHEDULER.drop_job (job_name => 'OTOMATIK_MAIL_JOB_20,OTOMATIK_MAIL_JOB_25,OTOMATIK_MAIL_JOB_LAST'); end; / begin DBMS_SCHEDULER.create_window (     window_name     => 'TWENTIETH_DAY_WINDOW',     resource_plan   => null,     repeat_interval => 'FREQ=MONTHLY; BYMONTHDAY=20; BYHOUR=09',     duration    => INTERVAL '1' HOUR,     comments        => 'Her ayın 20''sinde saat 9''da çalışacak işler için kullanılır.'); end;   / begin DBMS_SCHEDULE...

PL/SQL ile Data Mining

Bu yazı  ileride tamamlanacaktır. Dbms_Data_Mining paketinin nasıl kullanılabileceği ile alakalı bir yazı olacak.

Explain Plan Kullanımı ve PLAN_TABLE'ı tekrar oluşturma

Resim
Hazırladığımız sorgunun hangi indexleri kullandığı vs. gibi nasıl bir plan ile çalışacağını incelemek için explain plan kullanırız. Aşağıda kod örneğimi paylaşıyorum. EXPLAIN PLAN FOR select * from emp_table where emp_no=180;  SELECT * FROM TABLE(dbms_xplan.display); Bu sorgu size aşağıdaki gibi bir sonuç dönecektir.  Sonucu yorumlamak başka bir yazımın konusu olacağı için bu kısmı geçiyorum. Peki aşağıdaki gibi bir hata alırsak ne yapacağız. Plan_table'da bir problem var :)  Seçenek 1)   SQL> drop table  plan_table; Table dropped. SQL> @$ORACLE_HOME/rdbms/admin/utlxplan.sql Table created. ile plan_table'ı tekrar oluşturmayı deneyebilirsiniz. Tabi gerçekten utlxplan.sql dosyasını bulabilirseniz. Seçenek 2) Kolları sıvayıp bu işi siz yapabilirsiniz, benim gibi drop table PLAN_TABLE;  create table PLAN_TABLE (         statement_id       varchar2(30...

Drop Edilen Tabloyu Geri Getirme

Eğer drop ettiğiniz bir tabloyu geri getirmek isterseniz; Aşağıdaki sorgu ile drop ettiğiniz tabloları, indexleri vs sorgulayabilirsiniz. Select Object_Name, Original_Name, Type, Operation, Droptime From User_Recyclebin; FLASHBACK TABLE <table_name> TO BEFORE DROP komut satırı ile drop ettiğiniz tabloyu flashback'ten dönebilirsiniz. Aşağıda kod örneğim var. F LASHBACK TABLE drop_ettigim_tablo TO BEFORE DROP;

Windows 10 Oracle Forms Çalıştırma

Resim
Windows 7/Vista/10 kullanırken Oracle Forms kullanan menüye bağlanırken aşağıdaki şekilde bir hata alıyorsanız yapmanız gerekenleri aşağıda anlatmaya çalışacağım. 1- Öncelikle C:\Program Files (x86)\Oracle\JInitiator 1.3.1.22\bin\hotspot altındaki jvm.dll dosyasının yedeğini alın. 2- C:\Program Files (x86)\Java\j2re1.4.2_11\bin\client altındaki jvm.dll dosyasını kopyalayın ve C:\Program Files (x86)\Oracle\JInitiator 1.3.1.22\bin\hotspot altına kopyalayın. Not: orjinal jvm.dll dosyasını alacağınız jre versiyonunuz farklı olabilir. 3- IE'dan tekrar denediğiniz zaman problem çözülmüş olacaktır.

ORA-20001

DBMS_SCHEDULER job işlemlerinde alınan hata  Bu hata işlem yapılmak istenen job'ta herhangi bir özel karakter varsa oluşuyor. BEGIN DBMS_SCHEDULER.DROP_JOB( job_name => 'cyurter.borclari?guncelle' ); END ; ORA-20001: comma-separated list invalid near T ORA-06512: in "SYS.DBMS_UTILITY" , regel 236 ORA-06512: in "SYS.DBMS_UTILITY" , regel 272 ORA-06512: in "SYS.DBMS_SCHEDULER" , regel 623 ORA-06512: in line 2 "?" özel karakter olduğu için hata olşuyor. Çözüm için kodu aşağıdaki gibi " kullanarak düzenleyebilirsiniz. BEGIN DBMS_SCHEDULER.DROP_JOB( job_name => 'cyurter."borclari?guncelle"' ); END ;