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

عمل Format مع الاحتفاظ بقاعدة البيانات


decent

Recommended Posts

السلام عليكم و رحمة الله و بركاته
اخواني الاعزاء ارجو مساعتدي في هذا الموضوع
لقد قمت بعمل format للقرص اللذي يحتوي على نظام التشغيل ويندوز و عندي اوراكل 9i على القرص الاخر و هو
D:
و قمت بأنزال windows xp
هل توجد هنالك طريقة لاسترجاع قاعدة البيانات القديمة مع العلم انني قمد بحزف الاوراكل كذلك لكن قاعدة البيانات موجودة .
ارجو ان يكون هنالك حل لهذه المشكلة و شكراً :unsure:

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

السلام عليكم ورحمة الله وبركاته،،
أخي هل ملف initalization parameter file موجود أو تم حذفه ، فضلا أكتب أسماء الملفات الموجودة حاليا لديك وإن شاء الله أقدر أساعدك :unsure:
تحياتي

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

اخي الكريم اشكرك كثيراً
و اسماء الملفات هي:
CONTROL01.CTL
CONTROL02.CTL
CONTROL03.CTL
CWMLITE01.DBF
DRSYS01.DBF
EXAMPLE01.DBF
INDX01.DBF
REDO01.LOG
REDO02.LOG
REDO03.LOG
SYSTEM01.DBF
TEMP01.DBF
TOOLS01.DBF
UNDOTBS01.DBF
USERS01.DBF
هنالك شيء اخر و هو اني كنت استخدم oracle 9i 1 و الان امتلك oracle 9i 2 و لم اقوم باعدادها بعد
و لك اخي كل التحية

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

السلام عليكم ورحمة الله وبركاته
أخي decent حياك الله وآسف على التأخير في الرد أرجوا ملاحظة مايلي :

أولا / من الأفضل تنزيل نفس الإصدار السابق Oracle 9i relase 1 لكي لايحدث تعارض.
ثانيا / سوف تحتاج لمعرفة بعض المعلومات عن القاعدة القديمة مثلا :
ماهو NLS الخاص بقاعدة البيانات لكي لايحصل تعارض وتصبح البيانات غير مفهومة (ممكن تطلع بااللغة السريالية مثلا ) ؟
أين مكان الملفات الحالية لقاعدة البيانات وال path لكل منهم ؟

ثالثا / لاحظ أنه عند تطبيق مايلي سوف تغير ال path لكل من ملفات logfiles,datafiles,redologs,controlfiles حسب مكانها عندك في الجهاز وهذا ينطبق على كل الملفات يجب أن تحدد مكان الملفات كما هي في جهازك وليس كما هي في هذا المثال لإنه عند وجود نقص أو خطأ في أماكنها فلن تعمل قاعدة البيانات .
وإليك الخطوات :

قبل البداية يجب حذف ملفات ال CONTROLFILE القديمة بعد ذلك :
1- نقوم بإنشاء سكريبت يقوم بإنشاء ال CONTROLFILES الجديدة ونسميه مثلا BLDCONT.SQL مع الإنتباه إلى تغير ال PATH لكل LOGFILE ,DATAFILE حسب ماهي موجودة لديك في الجهاز :

CREATE CONTROLFILE SET DATABASE "ORADB2" RESETLOGS  NOARCHIVELOG
--  SET STANDBY TO MAXIMIZE PERFORMANCE
  MAXLOGFILES 50
  MAXLOGMEMBERS 5
  MAXDATAFILES 100
  MAXINSTANCES 1
  MAXLOGHISTORY 226
LOGFILE
GROUP 1 'F:\Ora9iDB\oradata\oradb\oradb2\REDO01.LOG'  SIZE 50M,
GROUP 2 'F:\Ora9iDB\oradata\oradb\oradb2\REDO02.LOG'  SIZE 50M,
GROUP 3 'F:\Ora9iDB\oradata\oradb\oradb2\REDO03.LOG'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'F:\Ora9iDB\oradata\oradb\oradb2\SYSTEM01.DBF',
'F:\Ora9iDB\oradata\oradb\oradb2\UNDOTBS01.DBF',
'F:\Ora9iDB\oradata\oradb\oradb2\CWMLITE01.DBF',
'F:\Ora9iDB\oradata\oradb\oradb2\DRSYS01.DBF',
'F:\Ora9iDB\oradata\oradb\oradb2\EXAMPLE01.DBF',
'F:\Ora9iDB\oradata\oradb\oradb2\INDX01.DBF',
'F:\Ora9iDB\oradata\oradb\oradb2\ODM01.DBF',
'F:\Ora9iDB\oradata\oradb\oradb2\TOOLS01.DBF',
'F:\Ora9iDB\oradata\oradb\oradb2\USERS01.DBF',
'F:\Ora9iDB\oradata\oradb\oradb2\XDB01.DBF'
CHARACTER SET AR8MSWIN1256;

ALTER DATABASE OPEN RESETLOGS;



2- نقوم بإنشاء المجلدات التالية في ORACLE_HOME/ADMIN

-مجلد بإسم قاعدة البيانات الجديدة مثلا ORADB2
-نقوم بإنشاء المجلدات التالية داخل المجلد ORADB2
BDUMP - UDUMP -CDUMP - PFILE

3- نقوم بإنشاء ملف initalization parameter file في المجلد ORACLE_HOME\database ونسميه initSID.ora حيث أن ال sid

هو إسم قاعدة البيانات وفي هذا المثال سيكون initoradb2.ora وسيحتوي على مايلي :

*.aq_tm_processes=1

*.background_dump_dest='e:\Ora9iDB\admin\oradb2\bdump'

*.compatible='9.2.0.0.0'
*.control_files='F:\Ora9iDB\oradata\oradb\oradb2\CONTROL01.CTL',
'F:\Ora9iDB\oradata\oradb\oradb2\CONTROL02.CTL',
'F:\Ora9iDB\oradata\oradb\oradb2\CONTROL03.CTL'

*.core_dump_dest='e:\Ora9iDB\admin\oradb2\cdump'

*.db_block_size=8192

*.db_cache_size=25165824

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='oradb2'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=oradb2XDB)'

*.fast_start_mttr_target=300

*.hash_join_enabled=TRUE

*.instance_name='oradb2'

*.java_pool_size=33554432

*.job_queue_processes=10

*.large_pool_size=8388608

*.open_cursors=300

*.pga_aggregate_target=25165824

*.processes=150

*.query_rewrite_enabled='FALSE'

*.remote_login_passwordfile='EXCLUSIVE'

*.shared_pool_size=50331648

*.sort_area_size=524288

*.star_transformation_enabled='FALSE'

*.timed_statistics=TRUE

*.undo_management='AUTO'

*.undo_retention=10800

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='e:\Ora9iDB\admin\oradb2\udump'



لاحظ أننا قمنا بالتغيير في السطر الأول background dump dest إلى ال path الجديد وكذالك نفس العملية مع ال control_files أيضا لاتنسى تغيير إسم قاعدة البيانات db_name إلى الإسم الذي لديك وايضا ال instance_name

4- نقوم بإنشاء SERVICE جديدة لقاعدة البيانات بكتابة مايلي في START----> RUN :

oradim -new -sid ORADB2 -intpwd password -startmode auto -pfile E:\Oracle9iDB\database\initoradb2


حيث أن ORADB2 هي إسم قاعدة البيانات
PASSWORD هي كلمة المرور
PFILE وهو ال PATH الخاص بال initalization parameter file الذي قمنا بإنشائه في الخطوة السابقة .

5- نقوم بعمل TNSNAME لقاعدة البيانات الجديدة في ملف TNSNAMES.ORA كمايلي :

ORADB2 =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = MMKNC)(PORT = 1521))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = ORADB2)
  )
)

#لاحظ أن HOST هو إسم جهاز الكومبيوتر أو ال IP ADDRESS .



6- نقوم بتشغيل ال LISTNER وندخل على COMMAND LINE عن طريق START--->RUN--->CMD سوف تفتح لنا شاشة COMMAND

نقوم بكتابة مايلي :

SET ORACLE_SID=ORADB2


حيث أن ORADB2 هي إسم قاعدة البيانات الذي حددناه سابقا بعد ذلك نقوم بالدخول على SQL * PLUS بكتابة SQLPLUS في COMMAND LINE و معلومات الدخول هي SYS/PASSWORD AS SYSDBA ونقوم بتنفيذ مايلي :

STARTUP NOMOUNT 



تنفيذ ملف ال SQL الذي قمنا بإعداده مسبقا في الخطوة رقم 1

@ BLDCONT.SQL



وسوف تعمل قاعدة البيانات مباشرة إن شاء الله ، لاتتردد في طرح أي سؤال ولك خالص تحياتي :unsure: ولاتنسانا من دعوة صالحة

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

اخي الكريم msh
لقد قمت بالخطوات التي ذكرتها و عند تنفيز ملف BLDCONT.SQL يعطيني خطاء و يتم زكر قاعدة البيانات التي انشأتها عند انزال الاوراكل و عندما اقوم بعمل Remove لقاعدة البيانات لا يمكنني فتح ال sql plus ارجو افادتي
و اعتزر كثيراً على الاطالة , و فقك الله اخي.

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

اعتزر اخي عن هذه الغلبة التي اقوم بها :)
لقد حاولت مرة و اظن اني قد نجحت بعض الشئ :D و لاكن يظهر هذا الخطاء :)
كذلك هذين الملفين غير موجودين عندي ODM01.DBF , XDB01.DBF وقد قمت بحزفهم من ملف ال slq

post-23-1103212696_thumb.jpg

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

أخي decent قبل عمل فورمات للجهازهل قمت بإغلاق قاعدة البيانات بشكل طبيعي أ إحد الحالات (normal - transactional-immediate) ؟
هل قمت بعمل نسخة إحتياطية من ملفات قاعدة البيانات سابقا ؟
في إنتظار الرد ويأخي شو ها الغلبه :)

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

لا ازكر اني قد أغلقت قاعدة البيانات , لا اظن ذلك و لم اقم بعمل نسخة احتياطية لقاعدة البيانات.
يبدو ان الامر ازداد سوء
كان الله في عوني
اشكرك اخي لهذا الجهد الذي تبذله معي

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

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

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

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

×   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.

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

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

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