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...
Kayıtlar
Window Group, Window kullanarak DB Job çalıştırma
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
-- 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...
Explain Plan Kullanımı ve PLAN_TABLE'ı tekrar oluşturma
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
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
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
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
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
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
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
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 ;