الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

أفضل طريقة لعمل النسخ الاحتياطية (طريقة المحترفين)

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته،
لا يوجد حدود للإحتراف، هذا ماتعلمته من البرمجة....
بحثت قليلا وكثيرا عن طريقة لعمل نسخ إحتياطية من خلال Stored Procedure ولكني للأسف لم أجد، فقلت في نفسي أنت ضعيف في عملية البحث ولكنك قوى في البرمجة فلماذا لا تقوم بعمل شيء يستفيد منه الجميع (دائما أخذ من الناس فلماذا لا اعطيهم ولو مرة). فقمت بوضع الهدفون على أذناي وفتحت أنشودة "أمري يا ديرتي...حنا فداكي" وبدأت بالعمل، فماذا حصل...


1- قمت بعمل JAVA Source يقوم بعمل نسخة إحتياطية .

[-- Start of DDL Script for Java Source ATT.DbBackup
-- Generated 20/02/2007 14:02:14 from [email protected]

CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "DbBackup"
AS // To modify this template, edit file JavaS.txt in TEMPLATE
// directory of SQL Navigator
//
// Purpose: Briefly explain the functionality of the procedure
//
// MODIFICATION HISTORY
// Person	  Date	Comments
// ---------   ------  -------------------------------------------
//


import java.io.IOException;
import java.io.File;
import java.text.SimpleDateFormat;

/**
* Created by IntelliJ IDEA.
* User: iabuhassan
* Date: 18/02/2007
* Time: 12:32:09 ã
* To change this template use File | Settings | File Templates.
*/
public class DbBackup {
public static void Backup  (String uName, String Pass, String dir, String oraPath)
				throws IOException{


 System.out.println("Begin");
 String sysDateStr;
 java.util.Date curDate = new java.util.Date ();
 sysDateStr = new SimpleDateFormat("HHmm-ddMMyyyy").format(curDate).toString();
 String dmpFile=dir+"\\"+"NewSoft"+sysDateStr+".dmp";
 try{
	Process p = Runtime.getRuntime().exec("cmd /c "+oraPath+"\\BIN\\exp "+uName+"/"+Pass+" File="+dmpFile );
 }
 catch(Exception e){
	 e.printStackTrace();

 }
  System.out.println("End...");
}

}
/


-- End of DDL Script for Java Source ATT.DbBackup
]
2- قمت بمناداة الـ JAVA Source من خلال Stored Procedure>
[/-- Start of DDL Script for Procedure ATT.DBBACKUP
-- Generated 20/02/2007 14:04:12 from [email protected]

CREATE OR REPLACE 
PROCEDURE dbbackup( p_uNamse in varchar2, p_pass in varchar2, p_backup_dir in varchar2, p_oraHome in varchar2 )
as language java
name 'DbBackup.Backup( java.lang.String, java.lang.String, java.lang.String, java.lang.String )';
/



-- End of DDL Script for Procedure ATT.DBBACKUP
]

3- قمت بإنشا جدول في عدة متغيرا وأقوم من خلاله بتغذية الـ Stroed Procedure

[-- Start of DDL Script for Procedure ATT.GET_BACKUPS
-- Generated 20/02/2007 14:04:58 from [email protected]

CREATE OR REPLACE 
PROCEDURE get_backups
 [email protected]
 --20/02/2007
  IS

  v_backup_dir varchar2(200);
  v_orahome	varchar2(200);
  v_uname	  varchar2(200);
  v_pass	   varchar2(200);
BEGIN
----يجب إنشاء هذا الجدول
 SELECT a.backup_dir, a.orahome, a.uname, a.pass into
	  v_backup_dir,v_orahome,v_uname,v_pass
 FROM sys_path a
 where rownum=1;
 dbbackup(v_uname,v_pass,v_backup_dir,v_orahome);
 exception
 when no_data_found then
  raise_application_error(-20001,'يجب تحديد المسارات اللازمة لعملية النسخ الاحتياطية');
  
END; -- Procedure
/



-- End of DDL Script for Procedure ATT.GET_BACKUPS
]



يجب مراعاة ان يكون المستخدم الذي تعمل عليه عنده صلاحيات تنفيذ JAVA
[/grant JAVAUSERPRIV to att]
وإذا واجهتك مشكلة مع الويندوز إستخدم هذا الكود
[EXEC DBMS_JAVA.grant_permission('att', 'java.io.FilePermission', '<<ALL FILES>>', 'read ,write, execute, delete');]

وأنا مستعد لتفصيل أي جزء من الكود، وسوف أحاول أن أحمل DMP File
وأرجو ممن يقوم بتحسين هذه الطريقة أو يجد طريقة أفضل أن يرسلها لي.

طبعا هذه الطريقة تريحك من عمل Patch File ليقوم بعمل نسخ إحتياطية وتريحك من أمور كثيرة أنتم تعرفونها.

ولكم كل الحب والاحترام،

بتاريخ:

جزاك الله كل خير
نقدر لك تعبك
ساقوم بالتجربة واوافيك بالنتائج
تحياتي

بتاريخ:
  • كاتب الموضوع

السلام عليكم
هذا الملف يحتوي على DMP FILE يمكن تنزيله وإستيراده على أوراكل
إسم المستخدم وكلمة المرور ATT/ATT
يجب أن تكون صلاحيات DBA للمستخدم الذي سيستورد الملف.
يمكن من خلاله تعلم:
- بناء جافا JAVA SOURCE داخل أوراكل
- كيفية ربط الـ Procedure مع JAVA
- وطبعا الـ Backup
-يمكنك إضافة JOB ليعمل الـ Backup لوحده.

مع كل الحب والاحترام،

NewSoft0710_21022007.zip

  • بعد 4 أسابيع...
بتاريخ:

حزاك الله خيرا اخي
ولكن هل من طريقة لعملها بدون الجافا حيث انني لا اعرفها واريد هذه الطريقة
وشكرا لك اخي

  • بعد 3 أسابيع...
بتاريخ:

ممكن اعرف أخي لو سمحت أكثر عن Stored Procedure

بتاريخ:

جزاك الله خير

بتاريخ:

معلومة هامة
مشكور

بتاريخ:

thank u man

بتاريخ:
  • كاتب الموضوع

أخ alibarg31
حاولت كثيرا برمجته بإستخدام أوراكل فقط وبإستخدام الحزم الموجودة فيها ولكني لم أهتدي الى طريقة حتى الان ولذلك إستخدمت جافا، حيث أن هذه الطريقة فيها حماية كبيرة جدا بالاضافة الى أنك تمنع تدخل المستخدم في عملك.

الاخ أبومحسن Stored Procedure يمكن البحث عنها في هذا المنتدى وستجد الكثير من الشرح عنها.
مع كل الاحترام والتقدير

  • بعد 2 شهور...
بتاريخ:

السلام عليكم :
مرفق طريقه لاستخراج ملف دامب من خلال ال
PL
ان شاء الله يكون فيه فائدة
علاء

EXPORT_DMPFILE.TXT

IMPORT_DMPFILE.TXT

بتاريخ:

الاستاذ amh1106 عمل رائع

  • بعد 4 شهور...
بتاريخ:
  • كاتب الموضوع

عمل رائع أستاذي العزيز.

بتاريخ:

شكرا لكم على المواضيع والردود المميزه
التي تعتبر اقصر طريق لاكتساب الخبره

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.