السلام عليكم ورحمة الله وبركاته
أخواني هذه أسرع طريقة لعمل CLONE لقاعدة البيانات الحالية وتشغيلها مباشرة فقط ننفذ الخطوات التالية :
1- ندخل على ال SQL*PLUS SYS/PASSWORD AS SYSDBA وننفذ مايلي
نتيجة هذا الأمر هي عبارة عن نسخه من ال CONTROLFILE تجدها في ORACLE_HOME/ADMIN/oracleSID/udump
بإسم myoradb_ora_1536) SID_ORA_NO ) نقوم بالتعديل في نفس الملف كمايلي :
@ نقوم بتغيير القيمة REUSE DATABASE "OLDDB" إلى SET DATABASE "NEWDB" حيث أن OLDDB هي اسم قاعدة البيانات
القديمة وال NEWDB هي اسم قاعدة البيانات الجديدة مثال :
SET DATABASE MYORA2
@نقوم بمسح مايلي من الملف :
# Recovery is required if any of the datafiles are restored
# backups, or if the last shutdown was not normal or immediate.
RECOVER DATABASE
# Database can now be opened normally.
ALTER DATABASE OPEN;
@نغير NORESETLOGS إلى RESETLOGS الموجودة في بداية الملف .
@ نغير ال path القديم الى path قاعدة البيانات الجديد مثلا :
نقوم بتغيير '/u01/oradata/myora/system01.dbf', إلى '/u01/oradata/myora2/system01.dbf'
ونطبق هذا على كل ال FILES PATHS في الملف .
@نمسح أيضا أي سطر يبدء بــــ # لإننا في هذه الخطوة نقوم بإنشاء سكريبت لإنشاء controlfile جديد .
نحفظ هذا الملف بأي اسم نريده بإمتداد sql.* لإننا سوف ننفذه في برنامج sql*plus تقريبا سوف يصبح الملف كما يلي
2-نقوم بنسخ جميع الملفات من نوع datafiles,REDO FILES الى المكان الجديد مثلا u01/oradata/myora2/
3-نقوم بإنشاء المجلدات التالية في ORACLE_HOME/ADMIN/
-مجلد بإسم قاعدة البيانات الجديدة مثلا MYORA2
-نقوم بإنشاء المجلدات التالية داخل المجلد MYORA2
BDUMP - UDUMP -CDUMP - PFILE
4-نقوم بعمل نسخة من ملف initalization parameter file سواء pfile او spfile ونحفظها بإسم SIDspfile.ora أو initSID.ORA في
نفس مكان والذي يكون دائما ORACLE_HOME\database ونعدل البارميترات التالية:
* background_dump_dest الى المكان الجديد مثلا e:\Oracle9iDB\admin\myora2\bdump
* CONTROL_FILES الى المكان الجديد مثلا e:\Oracle9iDB\admin\myora2\bdump
* core_dump_dest الى المكان الجديد مثلا e:\Oracle9iDB\admin\myora2\cdump
* db_name='myoradb2'
الى الأسم الجديد طبعا
* instance_name='myoradb2'
الى الأسم الجديد
* user_dump_dest الى المكان الجديد مثلا e:\Oracle9iDB\admin\myoradb2\udump
5-نقوم بإنشاء SERVICE جديدة لقاعدة البيانات الجديدة كمايلي :
oradim -new -sid MYORA2 -intpwd password -startmode auto -pfile E:\Oracle9iDB\database\SPFILEMYORA2.ORA
حيث أن MYORA2 هي إسم قاعدة البيانات الجديدة
PASSWORD هي كلمة المرور
PFILE وهو ال PATH الخاص بال initalization parameter file الذي قمنا بإنشائه في الخطوة السابقة .
6-نقوم بإضافة مايلي إلى ملف LISTNER.ORA والموجود في ORACLE_HOME/SID/NETWORK/ADMIN/
-نقوم بعمل TNSNAME لقاعدة البيانات الجديدة في ملف TNSNAMES.ORA كمايلي :
7-نقوم بتشغيل ال LISTNER وندخل على ال SQL*PLUS SYS/PASSWORD AS SYSDBA ونقوم بتنفيذ مايلي :
- STARTUP NOMOUNT
- تنفيذ ملف ال SQL الذي قمنا بإعداده مسبقا في الخطوة رقم 1 كمايلي
ليتم إنشاء ملفات ال CONTROLFILES
الآن أصبحت قاعدة البيانات جاهزة للعمل ، طبق هذا الموضوع على :
WIN2000 OS
ORACLE9i DATABASE
NOARCHIVELOG MODE
ان شاء الله يكون الشرح واضح وأي إستفسار جاهزين بس لاتنوسونا من دعوة صالحة
أخواني هذه أسرع طريقة لعمل CLONE لقاعدة البيانات الحالية وتشغيلها مباشرة فقط ننفذ الخطوات التالية :
1- ندخل على ال SQL*PLUS SYS/PASSWORD AS SYSDBA وننفذ مايلي
alter database backup controlfile to trace;
نتيجة هذا الأمر هي عبارة عن نسخه من ال CONTROLFILE تجدها في ORACLE_HOME/ADMIN/oracleSID/udump
بإسم myoradb_ora_1536) SID_ORA_NO ) نقوم بالتعديل في نفس الملف كمايلي :
@ نقوم بتغيير القيمة REUSE DATABASE "OLDDB" إلى SET DATABASE "NEWDB" حيث أن OLDDB هي اسم قاعدة البيانات
القديمة وال NEWDB هي اسم قاعدة البيانات الجديدة مثال :
SET DATABASE MYORA2
@نقوم بمسح مايلي من الملف :
# Recovery is required if any of the datafiles are restored
# backups, or if the last shutdown was not normal or immediate.
RECOVER DATABASE
# Database can now be opened normally.
ALTER DATABASE OPEN;
@نغير NORESETLOGS إلى RESETLOGS الموجودة في بداية الملف .
@ نغير ال path القديم الى path قاعدة البيانات الجديد مثلا :
نقوم بتغيير '/u01/oradata/myora/system01.dbf', إلى '/u01/oradata/myora2/system01.dbf'
ونطبق هذا على كل ال FILES PATHS في الملف .
@نمسح أيضا أي سطر يبدء بــــ # لإننا في هذه الخطوة نقوم بإنشاء سكريبت لإنشاء controlfile جديد .
نحفظ هذا الملف بأي اسم نريده بإمتداد sql.* لإننا سوف ننفذه في برنامج sql*plus تقريبا سوف يصبح الملف كما يلي
STARTUP NOMOUNT CREATE CONTROLFILE SET DATABASE "MYORA2" RESETLOGS NOARCHIVELOG -- SET STANDBY TO MAXIMIZE PERFORMANCE MAXLOGFILES 50 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXINSTANCES 1 MAXLOGHISTORY 226 LOGFILE GROUP 1 'F:\ORACLE9IDB\ORADATA\MYORA2\REDO01.LOG' SIZE 50M, GROUP 2 'F:\ORACLE9IDB\ORADATA\MYORA2\REDO02.LOG' SIZE 50M, GROUP 3 'F:\ORACLE9IDB\ORADATA\MYORA2\REDO03.LOG' SIZE 50M -- STANDBY LOGFILE DATAFILE 'F:\ORACLE9IDB\ORADATA\MYORA2\SYSTEM01.DBF', 'F:\ORACLE9IDB\ORADATA\MYORA2\UNDOTBS01.DBF', 'F:\ORACLE9IDB\ORADATA\MYORA2\CWMLITE01.DBF', 'F:\ORACLE9IDB\ORADATA\MYORA2\DRSYS01.DBF', 'F:\ORACLE9IDB\ORADATA\MYORA2\EXAMPLE01.DBF', 'F:\ORACLE9IDB\ORADATA\MYORA2\INDX01.DBF', 'F:\ORACLE9IDB\ORADATA\MYORA2\ODM01.DBF', 'F:\ORACLE9IDB\ORADATA\MYORA2\TOOLS01.DBF', 'F:\ORACLE9IDB\ORADATA\MYORA2\USERS01.DBF', 'F:\ORACLE9IDB\ORADATA\MYORA2\XDB01.DBF', 'F:\ORACLE9IDB\ORADATA\MYORA2\DESGINERTB01.DBF' CHARACTER SET AR8MSWIN1256 ; ALTER DATABASE OPEN RESETLOGS;
2-نقوم بنسخ جميع الملفات من نوع datafiles,REDO FILES الى المكان الجديد مثلا u01/oradata/myora2/
3-نقوم بإنشاء المجلدات التالية في ORACLE_HOME/ADMIN/
-مجلد بإسم قاعدة البيانات الجديدة مثلا MYORA2
-نقوم بإنشاء المجلدات التالية داخل المجلد MYORA2
BDUMP - UDUMP -CDUMP - PFILE
4-نقوم بعمل نسخة من ملف initalization parameter file سواء pfile او spfile ونحفظها بإسم SIDspfile.ora أو initSID.ORA في
نفس مكان والذي يكون دائما ORACLE_HOME\database ونعدل البارميترات التالية:
* background_dump_dest الى المكان الجديد مثلا e:\Oracle9iDB\admin\myora2\bdump
* CONTROL_FILES الى المكان الجديد مثلا e:\Oracle9iDB\admin\myora2\bdump
* core_dump_dest الى المكان الجديد مثلا e:\Oracle9iDB\admin\myora2\cdump
* db_name='myoradb2'
الى الأسم الجديد طبعا
* instance_name='myoradb2'
الى الأسم الجديد
* user_dump_dest الى المكان الجديد مثلا e:\Oracle9iDB\admin\myoradb2\udump
5-نقوم بإنشاء SERVICE جديدة لقاعدة البيانات الجديدة كمايلي :
oradim -new -sid MYORA2 -intpwd password -startmode auto -pfile E:\Oracle9iDB\database\SPFILEMYORA2.ORA
حيث أن MYORA2 هي إسم قاعدة البيانات الجديدة
PASSWORD هي كلمة المرور
PFILE وهو ال PATH الخاص بال initalization parameter file الذي قمنا بإنشائه في الخطوة السابقة .
6-نقوم بإضافة مايلي إلى ملف LISTNER.ORA والموجود في ORACLE_HOME/SID/NETWORK/ADMIN/
(SID_DESC = (GLOBAL_DBNAME = myoradb2) (ORACLE_HOME = e:\Oracle9iDB) (SID_NAME = myoradb2) )
-نقوم بعمل TNSNAME لقاعدة البيانات الجديدة في ملف TNSNAMES.ORA كمايلي :
MYORA2 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = MMKNC)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = MYORA2) ) )
7-نقوم بتشغيل ال LISTNER وندخل على ال SQL*PLUS SYS/PASSWORD AS SYSDBA ونقوم بتنفيذ مايلي :
- STARTUP NOMOUNT
- تنفيذ ملف ال SQL الذي قمنا بإعداده مسبقا في الخطوة رقم 1 كمايلي
CTRLMYORA2.SQL @
ليتم إنشاء ملفات ال CONTROLFILES
الآن أصبحت قاعدة البيانات جاهزة للعمل ، طبق هذا الموضوع على :
WIN2000 OS
ORACLE9i DATABASE
NOARCHIVELOG MODE
ان شاء الله يكون الشرح واضح وأي إستفسار جاهزين بس لاتنوسونا من دعوة صالحة
تعليقات
إرسال تعليق