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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

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


13 رد (ردود) على هذا الموضوع

#1 tomy3k_bakr

tomy3k_bakr

    عضو نشط

  • الأعضــاء
  • 470 مشاركة

تاريخ المشاركة 10 October 2004 - 04:04 PM

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

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

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

أرجو التثبيت :D
Tamer F. Bakr
Senior Database, Application Server, IBM Domino Administrator
TheGroup For Securities
Doha, Qatar

#2 tomy3k_bakr

tomy3k_bakr

    عضو نشط

  • الأعضــاء
  • 470 مشاركة

تاريخ المشاركة 10 October 2004 - 04:26 PM

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 كل عام وأنتم بخير وأسألكم الدعاء.
Tamer F. Bakr
Senior Database, Application Server, IBM Domino Administrator
TheGroup For Securities
Doha, Qatar

#3 AHMED_sa

AHMED_sa

    عضو

  • الأعضــاء
  • 30 مشاركة

تاريخ المشاركة 10 October 2004 - 10:48 PM

معك أخى العزيز
وهذة أخر معلومة توصلت اليها
وهى عن كيفية الوصول الى جداول 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


والله المستعان
المشاركة والتعاون أسرع الطرق إلى القمة

أحمد سيد - مصر

ASA_3000eg@yahoo.com

#4 FAI2004SAL US

FAI2004SAL US

    عضو

  • الأعضــاء
  • 22 مشاركة

تاريخ المشاركة 11 October 2004 - 02:40 AM

الى الاخ العزيز tomy3k
شكرا للفكرة الاكثر من رائعه وجزاك الله الف خير ولكن عندي استفسار صغير
ممكن لو تكرمت تشرح لي الكلام الذي كتبته عن التجزئات بالعربي
والى الامام
WITH ME .... FOR THE LIFE MEANING !!!FAI2005SAL US

#5 عبدالله أسعد

عبدالله أسعد

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,194 مشاركة

تاريخ المشاركة 11 October 2004 - 04:26 AM

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


ليس بجديد الا فكار البنا ئه منك يا تا مر و ادعو الله ان يجعلها فى ميزان حسناتك
و للعلم فان العلم عليه زكاة يجب ان نخرجها و نعلم من لا يعلم
ولكن لدى اقتراح يا تامر
ليه منظمش المعلو مات دى و نقسمها الى اقسام حتى يسهل على القا رىء معرفتها
و نبدا من البداية خطوة خطوة من الصفر
على ما اعتقد ان الا ستفادة تكون اكبر و منظمة
النظام اساس اى نظام ناجح
وشكرا على الفكرة الجميلة
الدعاء نجى يونس وأهلك قوم نوح ورفع قدر سليمان وأظهر دين محمد عليه الصلاة و السلام فلا تتردد و قل يارب يارب يارب
Oracle DBA@Amig.com.eg

#6 mustafa76

mustafa76

    عضو مميز

  • الأعضــاء
  • 551 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 11 October 2004 - 08:39 AM

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
للاستفسار

mmms76@hotmail.com
00966562365615

#7 naif224

naif224

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 461 مشاركة

تاريخ المشاركة 11 October 2004 - 09:24 AM

فكرة رائعة ........................


ليه لا
:D :D :ph34r:
Oracle, IT is worth

#8 almokhtar

almokhtar

    مشترك

  • الأعضــاء
  • 59 مشاركة

تاريخ المشاركة 11 October 2004 - 11:02 AM

ok man we are ready for any godd idea iw ill put my project in this web site
almokhtar

#9 m_ahmed

m_ahmed

    مشترك

  • الأعضــاء
  • 121 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 12 October 2004 - 10:54 AM

فكرة جميلة يا تامر جزاك الله خيرا :D

#10 tomy3k_bakr

tomy3k_bakr

    عضو نشط

  • الأعضــاء
  • 470 مشاركة

تاريخ المشاركة 10 November 2004 - 01:27 PM

فين يا جماعة المعلومات الجديدة


أنا كده هزعل منكم
:D
Tamer F. Bakr
Senior Database, Application Server, IBM Domino Administrator
TheGroup For Securities
Doha, Qatar

#11 عبدالله أسعد

عبدالله أسعد

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,194 مشاركة

تاريخ المشاركة 10 November 2004 - 05:51 PM

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

لو عا يز ين الوقت يظهر و احنا بنشتغل فى 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, 11 November 2004 - 02:15 AM.

الدعاء نجى يونس وأهلك قوم نوح ورفع قدر سليمان وأظهر دين محمد عليه الصلاة و السلام فلا تتردد و قل يارب يارب يارب
Oracle DBA@Amig.com.eg

#12 Mo7B

Mo7B

    مشترك

  • الأعضــاء
  • 86 مشاركة

تاريخ المشاركة 02 January 2005 - 08:55 AM

السلام عليكم ياشباب اخر معلومة توصلت لها امس تقريبا رغم ان الموضوع من زمان بس هي اضافة اكثر من حقل لجدول واحد في alter table واحده والطريقه هي
ALTER TABLE EMP ADD SEX CHAR(1) ADD LOCAL VARCHAR2(10) ADD LNAME VARCHAR2(20);


#13 Amrooracle

Amrooracle

    مشترك

  • الأعضــاء
  • 192 مشاركة

تاريخ المشاركة 02 January 2005 - 09:10 PM

السلام عليكم يا أخوة انا مبسوط جداً لهذة المشاركة و إليكم عرض كويس جدا لكى نعمل
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;
-----------------------------------------------------------------
لا إله إلا الله ؛ محمد رســــول الله
سبحان الله و الحمد لله و لا إله إلا الله و الله اكبر و لا حول و لا قوة إلا باللهamrooracle@yahoo.com

#14 tomy3k_bakr

tomy3k_bakr

    عضو نشط

  • الأعضــاء
  • 470 مشاركة

تاريخ المشاركة 10 June 2009 - 05:09 PM

السلام عليكم جميعاً
في خطوة لإعادة إحياء هذا الموضوع أحببت إضافة معلومات جديدة كأفكار لتطبيقات مختلفة وعلى من يريد الإستزاده بالقراءة أكثر في الفكره
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

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

جزاكم الله خيراً في الدنيا والآخرة.
Tamer F. Bakr
Senior Database, Application Server, IBM Domino Administrator
TheGroup For Securities
Doha, Qatar