الانتقال إلى المحتوى

ضع اي معلومه جديده هنا


tomy3k_bakr

Recommended Posts

أخواني الأعزاء

إيه رأيكم ، عندي إقتراح جميل....
إيه رأيكم إن كل واحد فينا أياً كان مستوى معرفته يضع هنا على هذه المشاركة معلومة بحيث لا تتكرر المعلومات كهدية منه إلى باقي الأعضاء قبل حلول شهر رمضان المبارك.

وإحنا عددنا دلوقتي 4539 عضو. يعني 4539 معلومة جديدة.
وياريت تكون المعلومة مش موجودة كمان على الموقع ده قبل كده.
وسأبدا بنفسي.......

أرجو التثبيت :D

رابط هذا التعليق
شارك

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

 

 

 

أرجو أن أكون أفدتكم

 

:D كل عام وأنتم بخير وأسألكم الدعاء.

رابط هذا التعليق
شارك

معك أخى العزيز
وهذة أخر معلومة توصلت اليها
وهى عن كيفية الوصول الى جداول emp,dept,sal فى database10g
الجداول موجودة فى المستخدم scott وهو مغلق
إذن يلزمنا خطوتين :
1-- فتح المستخدم scott وجعلة متاح أى unlocked وذلك بكتابة الكود التالى فى sql*plus
alter user scott
; account unlock




2-تغيير ال password الخاصة ب scott بالكود التالى
alter user scott
identified by new password



وأستعرض الجداول بالكود التالى
select * from tab



والله المستعان

رابط هذا التعليق
شارك

الى الاخ العزيز tomy3k
شكرا للفكرة الاكثر من رائعه وجزاك الله الف خير ولكن عندي استفسار صغير
ممكن لو تكرمت تشرح لي الكلام الذي كتبته عن التجزئات بالعربي
والى الامام

رابط هذا التعليق
شارك

بسم الله الرحمن الرحيم


ليس بجديد الا فكار البنا ئه منك يا تا مر و ادعو الله ان يجعلها فى ميزان حسناتك
و للعلم فان العلم عليه زكاة يجب ان نخرجها و نعلم من لا يعلم
ولكن لدى اقتراح يا تامر
ليه منظمش المعلو مات دى و نقسمها الى اقسام حتى يسهل على القا رىء معرفتها
و نبدا من البداية خطوة خطوة من الصفر
على ما اعتقد ان الا ستفادة تكون اكبر و منظمة
النظام اساس اى نظام ناجح
وشكرا على الفكرة الجميلة

رابط هذا التعليق
شارك

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 report

Description 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 output
will not be compressed. A value of 1 through 9 will compress the PDF output and
permit users to control the compression level. A value of YES equals compression
level 6. A value of NO means compression level 0.
Default 6

رابط هذا التعليق
شارك

  • بعد 5 أسابيع...

منقدرش على زعلك يا اخى يا تامر

لو عا يز ين الوقت يظهر و احنا بنشتغل فى 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

تم تعديل بواسطة bedooracle
رابط هذا التعليق
شارك

  • بعد 1 شهر...

السلام عليكم ياشباب اخر معلومة توصلت لها امس تقريبا رغم ان الموضوع من زمان بس هي اضافة اكثر من حقل لجدول واحد في alter table واحده والطريقه هي

ALTER TABLE EMP ADD SEX CHAR(1) ADD LOCAL VARCHAR2(10) ADD LNAME VARCHAR2(20);

رابط هذا التعليق
شارك

السلام عليكم يا أخوة انا مبسوط جداً لهذة المشاركة و إليكم عرض كويس جدا لكى نعمل
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_frist
AFTER INSERT OR UPDATE OR DELETE
ON f_sla FOR EACH ROW
BEGIN
------------------------
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 THEN
begin
UPDATE SS5 SET QTY=nvl(qty,0)+:NEW.F-:OLD.F
WHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1;
end;
END IF;
--------------------------
IF DELETING THEN
begin
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_INPUT
AFTER INSERT OR UPDATE OR DELETE
ON INPUT_sla FOR EACH ROW
DECLARE
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 THEN
begin
UPDATE SS5 SET QTY=nvl(qty,0)+:NEW.QTY-:OLD.QTY
WHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1;
end;
END IF;
--------------------------
IF DELETING THEN
begin
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_OUTPUT
AFTER INSERT OR UPDATE OR DELETE
ON OUPUT_SLA FOR EACH ROW
DECLARE
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 THEN
begin
UPDATE SS5 SET QTY=nvl(qty,0)-:NEW.QTY+:OLD.QTY
WHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1;
end;
END IF;
--------------------------
IF DELETING THEN
begin
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_RET
AFTER INSERT OR UPDATE OR DELETE
ON RET_SLA FOR EACH ROW
DECLARE
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 THEN
begin
UPDATE SS5 SET QTY=nvl(qty,0)+:NEW.QTY-:OLD.QTY
WHERE SS5.MAT_NO=:NEW.MAT_NO AND SS5.V_DATE =:NEW.DATE1;
end;
END IF;
--------------------------
IF DELETING THEN
begin
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;
-----------------------------------------------------------------

رابط هذا التعليق
شارك

  • بعد 4 سنة...

السلام عليكم جميعاً
في خطوة لإعادة إحياء هذا الموضوع أحببت إضافة معلومات جديدة كأفكار لتطبيقات مختلفة وعلى من يريد الإستزاده بالقراءة أكثر في الفكره
DataWare House
1.وهي قاعده بيانات تستخدم لتخزين بيانات تاريخية بكميات ضخمه جداً وتكون لها مجموعة متغيرات Parameters تختلف عن قاعده البيانات العادية
2. يتم تصنيفها OLAP (Online Analytical Processing) وليس OLTP (Online Transaction Processing)
3. من ضمن المتغيرات التي تختلف ما بين قاعده البيانات OLTP و OLAP وأهمها DB_Block_SIZE حيث يكون في قاعده البيانات التارخية أكثر من 8K بخلاف قاعده البيانات العادية. والسبب في هذا هوه انه عند قيام قاعده البيانات بالقراءة من قاعده البيانات فإنها تقرأ بحجم DB_BLOCK_SIZE في المرة الواحده وحيث أن قاعده البيانات التاريخي يكون حجم البيانات المستعلم عنه كبير فإنه يفضل قراءة كمية بيانات اكبر في المرة الواحده لتقليل عدد مرات I/O Operations

وغداً ان شاء الله معلومه جديدة مفيدة.
وسامحوني على الشرح العربي حيث أحاول الترجمه قدر ما استطعت.

جزاكم الله خيراً في الدنيا والآخرة.

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية