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 ;
Web Util Configuration
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Configuring WebUtil at OS: 1.Download WebUtil http://www.oracle.com/technology/software/products/forms/files/webutil/webutil_106.zip 2. Download Java Com Library http://prdownloads.sourceforge.net/jacob-project/jacob_18.zip 3. Extract both zips to some directory. 4. Copy File frmwebutil.jar From folder: webutil_106\webutil_106\java To: $ORACLE_HOME/forms/java File: jacob.jar From folder: jacob_18 To: $ORACLE_HOME/forms/java File: d2kwut60.dll, JNIsharedstubs.dll From folder: webutil_106\webutil_106\webutil To: $ORACLE_HOME/forms/webutil File: jacob.dll From folder: jacob_18 To: $ORACLE_HOME/forms/webutil File: forms_base_ie.js, forms_ie.js - From folder: webutil_106\webutil_106\java To: $ORACLE_HOME/forms/java File: webutil.olb, webutil.pll and create_webutil_db.sql From folder: webutil_106\webutil_106 To: $ORACLE_HOME/forms ...
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
SQL Developer Dil Ayarları IncludeConfFile ../../ide/bin/ide.conf SetJavaHome ../../jdk AddVMOption -Doracle.ide.util.AddinPolicyUtils.OVERRIDE_FLAG=true AddVMOption -Dsun.java2d.ddoffscreen=false AddVMOption -Dwindows.shell.font.languages= AddVMOption -XX:MaxPermSize=128M AddVMOption -Duser.language=en AddVMOption -Duser.region=US AddVMOption -Doracle.jdbc.mapDateToTimestamp=false IncludeConfFile sqldeveloper-nondebug.conf
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
DBMS_SQL paketinin kullanılması DECLARE Source_Cursor INTEGER; Num_Rows_Processed Integer; BEGIN Source_Cursor := Dbms_Sql.Open_Cursor; Dbms_Sql.Parse(Source_Cursor, 'select * from dba_source where object_name = ', 1); Num_Rows_Processed := Dbms_Sql.EXECUTE(Source_Cursor); Dbms_Sql.Close_Cursor(Source_Cursor); end;
DBMS_SCHEDULER_JOBS İnceleme
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
SELECT * FROM dba_scheduler_jobs where job_name=:job_name; SELECT * FROM dba_scheduler_job_log WHERE job_name=:job_name ; SELECT * FROM dba_scheduler_job_run_details where job_name=:job_name; SELECT 'SELECT * FROM '||object_name||';' FROM dba_objects where OBJECT_name like 'DBA_SCHEDULER%' and object_type='VIEW';
Farklı Databaselerdeki Indexleri Oluşturma
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
declare CURSOR c1 IS SELECT p.index_owner,p.table_owner,p.table_name,p.index_name, wm_concat(p.column_name) kolonlar FROM DBA_IND_COLUMNS p WHERE table_name =:TABLE_NAME AND NOT EXISTS (SELECT 1 FROM dba_ind_columns@diger_db r WHERE p.index_name=r.index_name AND p.index_owner=r.index_owner ) GROUP BY p.index_owner,p.table_owner,p.table_name,p.index_name; BEGIN FOR r1 IN c1 loop dbms_output.put_line('CREATE INDEX '||r1.index_owner||'.'||r1.index_name||' ON '||r1.table_owner||'.'||r1.table_name||' ('||r1.kolonlar||');' ); end loop; end;
DBA SCHEDULER JOB
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
DBA SCHEDULER JOB OLUŞTURMA BEGIN SYS.DBMS_SCHEDULER.CREATE_JOB ( job_name => 'isci', job_type => 'PLSQL_BLOCK', job_action => 'BEGIN islemi_yapacak_prosedur; END;', job_class => 'DEFAULT_JOB_CLASS', repeat_interval => 'FREQ=DAILY; byhour=7', enabled => true, comments => 'Bu program gunluk olarak calisacak'); END; /******* Değiştirme ******/ BEGIN DBMS_SCHEDULER.set_attribute ( NAME => 'ISCI', ATTRIBUTE => 'repeat_interval', VALUE => 'FREQ=DAILY; byhour=9'); END; BEGIN dbms_scheduler.DISABLE ('ISCI'); END; /******* Çalıştırma ve Durdurma ******/ BEGI...
Case kullanarak Update
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
UPDATE table A SET (A.cikis_tarihi,A.giris_tarihi)= (SELECT CASE WHEN b.sekli in ('H','O','N') THEN b.alma_tarihi+1 WHEN b.type='K' AND b.user_id IS NOT NULL THEN b.alma_tarihi+5 WHEN b.type='K' AND b. user_id is null THEN b.alma_tarihi+6 END AS cikis_tarihi, b.tarih AS giris_tarihi FROM table b WHERE b.tarih=to_date('01092012','ddmmyyyy') AND A.ROWID=b.ROWID ) WHERE tarih=to_date('01092012','ddmmyyyy') and hata=0 ;
Materialized View Kullanımı
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
--Önce kullanacağımız tablo ve materialized VIEW varsa onları bir DROP edelim de problem çıkarmasınlar. DROP TABLE tablo1 ; DROP materialized VIEW mv_tablo1; DROP MATERIALIZED VIEW LOG ON tablo1; /*Elimizde bulunan kaynak tablodaki dataları kullanacağımız tabloya aktarıyoruz. Çünkü MATERIALIZED VIEW güncellemesini görebilmek için kullandığımız bu tablo1 tablosunda veri değişikliği yapacağız*/ CREATE TABLE tablo1 AS SELECT fis_numarasi, islem_tarihi, brut_tahsilat, referans FROM kaynak_tablo WHERE islem_tarihi = to_date('01062012', 'ddmmyyy') ; SELECT * FROM tablo1 ; -- tabloya kayıtlar atıldı ALTER TABLE tablo1 ADD CONSTRAINT tablo1_pk PRIMARY KEY(referans) ; -- Tablo1'e primary key ekliyoruz,Kayıt değişikliklerini loglamak için kullanacak -- tablo1 deki data değişikliklerini loglaması CREATE MATERIALIZED VIEW LOG ON tablo1 WITH (fis_numarasi, brut_tahsilat), rowid including NEW VALUES ; ALTER MATERIALIZED VIEW LOG ON tablo1 ; /*Niha...
Windows 7/ Windows Vista Oracle DevSuite 10g kurulumu
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Internet Explorer note: On Windows Vista, IE CANNOT be used to run the Web Forms runtime. It crashes immediately when you try to run a form. Instead, I can use either Firefox (Firefox 2, NOT Firefox 3 ) or Netscape, as long as they are set to disable java. [ Correction: IE7 on Vista now runs the Forms 10g forms. You just need to add "?config=jpi" to the browser URL when starting the Web Forms session. More IE/Vista info: Vista JInitiator Problem ] The Oracle Developer Suite download page: http://www.oracle.com/technology/software/products/ids/index.html Oracle Developer Suite Installation Guide: http://download.oracle.com/docs/cd/B25016_07//doc/dl/core/B16012_04/toc.htm The steps below are those I followed to install Forms 10g (version 10.1.2.0.2) I. Preliminary system changes in Windows When I started installing, I got the following error message: Insta...