tomy3k_bakr بتاريخ: 10 أكتوبر 2004 تقديم بلاغ مشاركة بتاريخ: 10 أكتوبر 2004 أخواني الأعزاءإيه رأيكم ، عندي إقتراح جميل....إيه رأيكم إن كل واحد فينا أياً كان مستوى معرفته يضع هنا على هذه المشاركة معلومة بحيث لا تتكرر المعلومات كهدية منه إلى باقي الأعضاء قبل حلول شهر رمضان المبارك.وإحنا عددنا دلوقتي 4539 عضو. يعني 4539 معلومة جديدة.وياريت تكون المعلومة مش موجودة كمان على الموقع ده قبل كده.وسأبدا بنفسي.......أرجو التثبيت اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
tomy3k_bakr بتاريخ: 10 أكتوبر 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 10 أكتوبر 2004 Partitioning What is Partitioning? Partitioning is the process of deviding large table data into smaller tables called partitions. Partitioning Types: 1- Range Partition Example: Create table Sales (ACC_NO NUMBER(5), PERSON VARCHAR2(200), SALES_AMOUNT NUMBER(10), WEEK_NO NUMBER(3)) PARTITION BY RANGE (WEEK_NO) (PARTITION P1 VALUES LESS THAN (4) TABLESPACE TS1, PARTITION P2 VALUES LESS THAN (8) TABLESPACE TS2, PARTITION OTHERS VALUES LESS THAN (MAXVALUE) TABLESPACE TS3) MAXVALUE: is used to accept null week_no values or values that do not belong to a valid range. 2- Hash Partition: CREATE TABLE product (id NUMBER( 5), name VARCHAR2( 30), amount NUMBER( 5)) STORAGE (INITIAL 10M) PARTITION BY HASH( id) PARTITIONS 16 STORE IN (ts1, ts2, ts3, CREATE TABLE product (id NUMBER( 5), name VARCHAR2( 30), amount NUMBER( 5)) STORAGE (INITIAL 10M) PARTITION BY HASH( id) PARTITIONS 16 STORE IN (ts1, ts2, ts3, ts4); أرجو أن أكون أفدتكم كل عام وأنتم بخير وأسألكم الدعاء. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
AHMED_sa بتاريخ: 10 أكتوبر 2004 تقديم بلاغ مشاركة بتاريخ: 10 أكتوبر 2004 معك أخى العزيزوهذة أخر معلومة توصلت اليهاوهى عن كيفية الوصول الى جداول emp,dept,sal فى database10gالجداول موجودة فى المستخدم scott وهو مغلق إذن يلزمنا خطوتين :1-- فتح المستخدم scott وجعلة متاح أى unlocked وذلك بكتابة الكود التالى فى sql*plusalter user scott; account unlock 2-تغيير ال password الخاصة ب scott بالكود التالىalter user scottidentified by new passwordوأستعرض الجداول بالكود التالىselect * from tab والله المستعان اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
FAI2004SAL US بتاريخ: 10 أكتوبر 2004 تقديم بلاغ مشاركة بتاريخ: 10 أكتوبر 2004 الى الاخ العزيز tomy3kشكرا للفكرة الاكثر من رائعه وجزاك الله الف خير ولكن عندي استفسار صغير ممكن لو تكرمت تشرح لي الكلام الذي كتبته عن التجزئات بالعربيوالى الامام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبدالله أسعد بتاريخ: 11 أكتوبر 2004 تقديم بلاغ مشاركة بتاريخ: 11 أكتوبر 2004 بسم الله الرحمن الرحيم ليس بجديد الا فكار البنا ئه منك يا تا مر و ادعو الله ان يجعلها فى ميزان حسناتكو للعلم فان العلم عليه زكاة يجب ان نخرجها و نعلم من لا يعلمولكن لدى اقتراح يا تامرليه منظمش المعلو مات دى و نقسمها الى اقسام حتى يسهل على القا رىء معرفتهاو نبدا من البداية خطوة خطوة من الصفر على ما اعتقد ان الا ستفادة تكون اكبر و منظمة النظام اساس اى نظام ناجح وشكرا على الفكرة الجميلة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mustafa76 بتاريخ: 11 أكتوبر 2004 تقديم بلاغ مشاركة بتاريخ: 11 أكتوبر 2004 hi when we deploy reports on the web using oracle application server and PDF format there is aparameter calld PDFCOM we can send this parameter to reportDescription Use PDFCOMP to specify whether PDF output should be compressed.Syntax PDFCOMP={ any value 0 through 9) OR {YES|NO}Values Any value 0 though 9 or YES (6) or NO (0). A value of 0 means PDF outputwill not be compressed. A value of 1 through 9 will compress the PDF output andpermit users to control the compression level. A value of YES equals compressionlevel 6. A value of NO means compression level 0.Default 6 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
naif224 بتاريخ: 11 أكتوبر 2004 تقديم بلاغ مشاركة بتاريخ: 11 أكتوبر 2004 فكرة رائعة ........................ليه لا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
almokhtar بتاريخ: 11 أكتوبر 2004 تقديم بلاغ مشاركة بتاريخ: 11 أكتوبر 2004 ok man we are ready for any godd idea iw ill put my project in this web sitealmokhtar اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
m_ahmed بتاريخ: 12 أكتوبر 2004 تقديم بلاغ مشاركة بتاريخ: 12 أكتوبر 2004 فكرة جميلة يا تامر جزاك الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
tomy3k_bakr بتاريخ: 10 نوفمبر 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 10 نوفمبر 2004 فين يا جماعة المعلومات الجديدةأنا كده هزعل منكم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبدالله أسعد بتاريخ: 10 نوفمبر 2004 تقديم بلاغ مشاركة بتاريخ: 10 نوفمبر 2004 (معدل) منقدرش على زعلك يا اخى يا تامر لو عا يز ين الوقت يظهر و احنا بنشتغل فى Sql*Plus لمعرفة الوقت الذى تستغرقه الجملة فى التنفيذ You want to know how long a SQL query ran? You want to know how long a PL/SQL job took to complete? You can fetch the system date and format in before and after the SQL*Plus operation you want to perform. A better way to check the time is to set a SQL*Plus variable named time. If you type this at the SQL*Plus prompt: set time on then the completion of each command will display a prompt with the current time. You can figure out the amount of time your procedure ran by subtracting the two times displayed at the SQL*Plus prompt. 14:30:10 SQL > execute mylongprocedure();PL/SQL procedure successfully completed.14:50:10 SQL > Your procedure took 20 minutes to run تم تعديل 10 نوفمبر 2004 بواسطة bedooracle اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Mo7B بتاريخ: 2 يناير 2005 تقديم بلاغ مشاركة بتاريخ: 2 يناير 2005 السلام عليكم ياشباب اخر معلومة توصلت لها امس تقريبا رغم ان الموضوع من زمان بس هي اضافة اكثر من حقل لجدول واحد في alter table واحده والطريقه هي ALTER TABLE EMP ADD SEX CHAR(1) ADD LOCAL VARCHAR2(10) ADD LNAME VARCHAR2(20); اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amrooracle بتاريخ: 2 يناير 2005 تقديم بلاغ مشاركة بتاريخ: 2 يناير 2005 السلام عليكم يا أخوة انا مبسوط جداً لهذة المشاركة و إليكم عرض كويس جدا لكى نعمل data warehosing*------------------------------------How to make data warehousing or (collect the data from tables into one table:Exp: على برنامج المخازن1-هنعمل table --with un form on sql only: Create table ss5 (v_date date, V_no NUMBER (30), TYPE varchar2 (100), Store no varchar2 (30), Unit varchar2(20), dec varchar2(80), mat_no varchar2(30), dec_1 varchar2(80), place VARCHAR2(40), QQ VARCHAR2(1), qty NUMBER(10,2) );2-نعمل database trigger ياخذ من table مثلا رصيد اول المدة: CREATE OR REPLACE TRIGGER T_fristAFTER INSERT OR UPDATE OR DELETEON f_sla FOR EACH ROWBEGIN------------------------IF INSERTING THEN begin UPDATE ss5 SET qty =nvl(qty,0)+:NEW.F WHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1; IF SQL%NOTFOUND THEN insert into SS5(v_date,store_no,MAT_NO,dec,dec_1,uint,place,qty) values (:new.DATE1,:new.store_no,:new.MAT_NO,:new.dec, :new.dec_1,:new.uint,:new.place,:new.F); END IF; end;END IF;-------------------------------------------------IF UPDATING THENbeginUPDATE SS5 SET QTY=nvl(qty,0)+:NEW.F-:OLD.FWHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1; end;END IF;--------------------------IF DELETING THENbegin UPDATE SS5 SET QTY =nvl(qty,0)-:OLD.F WHERE SS5.MAT_NO=:OLD.MAT_NO AND SS5.V_DATE =:OLD.DATE1; end;END IF;END ;/3- نعمل database trigger ياخذ من table مثلا الاضافة:CREATE OR REPLACE TRIGGER T_INPUTAFTER INSERT OR UPDATE OR DELETEON INPUT_sla FOR EACH ROWDECLARE w number := 0;BEGIN------------------------IF INSERTING THEN begin UPDATE ss5 SET qty =nvl(qty,0)+:NEW.QTY WHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1; IF SQL%NOTFOUND THEN insert into SS5(v_date,store_no,MAT_NO,dec,dec_1,uint,place,qty) values (:new.DATE1,:new.store_no,:new.MAT_NO,:new.dec, :new.dec_1,:new.uint,:new.place,:new.QTY); END IF; end;END IF;-------------------------------------------------IF UPDATING THENbeginUPDATE SS5 SET QTY=nvl(qty,0)+:NEW.QTY-:OLD.QTYWHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1; end;END IF;--------------------------IF DELETING THENbegin UPDATE SS5 SET QTY =nvl(qty,0)-:OLD.QTY WHERE SS5.MAT_NO=:OLD.MAT_NO AND SS5.V_DATE =:OLD.DATE1; end;END IF;END ;/4- نعمل database trigger ياخذ من table مثلا الصرف:CREATE OR REPLACE TRIGGER T_OUTPUTAFTER INSERT OR UPDATE OR DELETEON OUPUT_SLA FOR EACH ROWDECLARE w number := 0;BEGIN------------------------IF INSERTING THEN begin UPDATE ss5 SET qty =nvl(qty,0)-:NEW.QTY WHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1; IF SQL%NOTFOUND THEN insert into SS5(v_date,store_no,MAT_NO,dec,dec_1,uint,place,qty) values (:new.DATE1,:new.store_no,:new.MAT_NO,:new.dec, :new.dec_1,:new.uint,:new.place,:new.QTY); END IF; end;END IF;-------------------------------------------------IF UPDATING THENbeginUPDATE SS5 SET QTY=nvl(qty,0)-:NEW.QTY+:OLD.QTYWHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1; end;END IF;--------------------------IF DELETING THENbegin UPDATE SS5 SET QTY =nvl(qty,0)+:OLD.QTY WHERE SS5.MAT_NO=:OLD.MAT_NO AND SS5.V_DATE =:OLD.DATE1; end;END IF;END ;/5- نعمل database trigger ياخذ من table مثلا الارتجاع:CREATE OR REPLACE TRIGGER T_RETAFTER INSERT OR UPDATE OR DELETEON RET_SLA FOR EACH ROWDECLARE w number := 0;BEGIN------------------------IF INSERTING THEN begin UPDATE ss5 SET qty =nvl(qty,0)+:NEW.QTY WHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1; IF SQL%NOTFOUND THEN insert into SS5(v_date,store_no,MAT_NO,dec,dec_1,uint,place,qty) values (:new.DATE1,:new.store_no,:new.MAT_NO,:new.dec, :new.dec_1,:new.uint,:new.place,:new.QTY); END IF; end;END IF;-------------------------------------------------IF UPDATING THENbeginUPDATE SS5 SET QTY=nvl(qty,0)+:NEW.QTY-:OLD.QTYWHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1; end;END IF;--------------------------IF DELETING THENbegin UPDATE SS5 SET QTY =nvl(qty,0)-:OLD.QTY WHERE SS5.MAT_NO=:OLD.MAT_NO AND SS5.V_DATE =:OLD.DATE1; end;END IF;END ;/نعمل table اسمة ss6:create table ss6( v_date date, TYPE varchar2(100), store_no varchar2(30), uint varchar2(20), dec varchar2(80), mat_no varchar2(30), dec_1 varchar2(80), place VARCHAR2(40), QQ VARCHAR2(1), qty1 NUMBER(10,2), qty2 NUMBER(10,2), qty3 NUMBER(10,2), qty4 NUMBER(10,2), qty5 NUMBER(10,2) );نعمل فى ال ss6 table cursor و نضع فى:declare cursor c1 is select V_DATE,MAT_NO,DEC,DEC_1,PLACE,UINT,STORE_NO,QTY from SS5 WHERE V_DATE BETWEEN :FROM1 AND :TO1 ; my_record c1%rowtype; id1 number; id2 number; id3 number; id4 number; n_sal number; alert1 number; begin if(:from1 is null)then message('ادخل تاريخ بداية الفترة فى الاستعلام'); message('ادخل تاريخ بداية الفترة فى الاستعلام'); raise form_trigger_failure; else if(:to1 is null)then message('ادخل تاريخ نهاية الفترة فى الاستعلام'); message('ادخل تاريخ نهاية الفترة فى الاستعلام'); raise form_trigger_failure; else delete from SS6; commit; go_block('SS6'); open c1; loop fetch c1 into my_record; exit when c1%notfound; ----------------------------------------------- select sum(F) into id1 from F_sla where MAT_NO= my_record.MAT_NO and DATE1=my_record.V_DATE ; if(id1 is null) then id1:=0; end if; ----------------------------------------------- select sum(QTY) into id2 from input_sla where MAT_NO= my_record.MAT_NO and DATE1=my_record.V_DATE ; if(id2 is null) then id2:=0; end if; ------------------------------------------------------- select sum(QTY) into id3 from RET_sla where MAT_NO= my_record.MAT_NO and DATE1=my_record.V_DATE ; if(id3 is null) then id3:=0; end if; ------------------------------------------------------- select sum(QTY) into id4 from OUPUT_sla where MAT_NO= my_record.MAT_NO and DATE1=my_record.V_DATE ; if(id4 is null) then id4:=0; end if; ------------------------------------------------------- insert into SS6(V_DATE,MAT_NO,DEC,DEC_1,PLACE,UINT,STORE_NO,QTY1,QTY2,QTY3,QTY4,QTY5) values(my_record.V_DATE,my_record.MAT_NO,my_record.DEC, my_record.DEC_1,my_record.PLACE,my_record.UINT,my_record.STORE_NO,ID1,ID2,ID3,ID4,my_record.QTY); COMMIT; end loop; close c1; execute_query; end if;end if; end; ----------------------------------------------------------------- اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
tomy3k_bakr بتاريخ: 10 يونيو 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 10 يونيو 2009 السلام عليكم جميعاًفي خطوة لإعادة إحياء هذا الموضوع أحببت إضافة معلومات جديدة كأفكار لتطبيقات مختلفة وعلى من يريد الإستزاده بالقراءة أكثر في الفكرهDataWare House1.وهي قاعده بيانات تستخدم لتخزين بيانات تاريخية بكميات ضخمه جداً وتكون لها مجموعة متغيرات Parameters تختلف عن قاعده البيانات العادية2. يتم تصنيفها OLAP (Online Analytical Processing) وليس OLTP (Online Transaction Processing) 3. من ضمن المتغيرات التي تختلف ما بين قاعده البيانات OLTP و OLAP وأهمها DB_Block_SIZE حيث يكون في قاعده البيانات التارخية أكثر من 8K بخلاف قاعده البيانات العادية. والسبب في هذا هوه انه عند قيام قاعده البيانات بالقراءة من قاعده البيانات فإنها تقرأ بحجم DB_BLOCK_SIZE في المرة الواحده وحيث أن قاعده البيانات التاريخي يكون حجم البيانات المستعلم عنه كبير فإنه يفضل قراءة كمية بيانات اكبر في المرة الواحده لتقليل عدد مرات I/O Operationsوغداً ان شاء الله معلومه جديدة مفيدة.وسامحوني على الشرح العربي حيث أحاول الترجمه قدر ما استطعت.جزاكم الله خيراً في الدنيا والآخرة. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.