نشر بواسطة : Obay Salah , November 18, 2024

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

  • ORAPWD Syntax and Command Line Argument Descriptions:

تستطيع إنشاء او صيانة الPassword file من خلال الامر ORAPWD وتكون صيغة الأمر كالتالي:

 

orapwd FILE=filename

[FORCE={y|n}]

[ASM={y|n}]

[DBUNIQUENAME=dbname]

[FORMAT={12.2|12}]

[SYS={y|n|password|external('sys-external-name')|global('sys-directory-DN')}]

[SYSBACKUP={y|n|password|external('sysbackup-external-name')|global('sysbackupdirectory-

DN')}]

[SYSDG={y|n|password|external('sysdg-external-name')|global('sysdg-directory-DN')}]

[SYSKM={y|n|password|external('syskm-external-name')|global('syskm-directory-DN')}]

[DELETE={y|n}]

[INPUT_FILE=input-fname]

 

حيث:

  • FILE: هنا يتم تحديد إسم ملف الPassword file وهذا المتغير إجباري لابد من وضع إسم الملف، إذا كنت تستخدم Oracle Managed File (OMF)فيكفي أن تكتب إسم الملف فقط أما إذا كنت لا تستخدم الOMF فيجب عليك كتابة إسم الملف والمسار كاملاً.


  • FORCE: إذا أخذ هذا المتغير القيمة y فهذا يعني أنه في حال وجود ملف Password file بنفس الإسم يتم إعادة الكتابة عليه أما إذا أخذ القيمة n فسوف تظهر لك رسال خطأ تفيد بفشل المهمة.
  • ASM: في الوضع الإفتراضي يأخذ هذا المتغير القيمة n وهي تعني أنك تقوم بإنشاء ملف Password file لقاعدة البيانات، أما إذا اخذ هذا المتغير القيمة y فهذا يعني أنك تقوم بإنشاء ملف Password file للOracle ASM, وفي هذه الحالة يجب أن يتم تخزين الملف في الOracle ASM Disk Group.
  • DBUNIQUENAME: هنا يتم تحديد الإسم الفريد لقاعدة البيانات (Database unique name) وفي حال تم تحديد هذا المتغير فهذا يعني أن ملف الPassword file لقاعدة البيانات أما إذا لم يتم تعيين هذا المتغير فيمكن أن يكون ملف الPassword file لقاعدة البيانات او للOracle ASM.

FORMAT: يمكن لهذا المتغير أن يأخذ احد القيم التالية:

  • 12.2: هذه هي القيمة الإفتراضية لإنشاء ملف الPassword file، وهذه الصيغة تدعم منح الإمتيازات الإدارية للمستخدمين الخارجيين وايضاً تدعم البرتكول SSL والتحقق عن طريق ال Kerberos للمستخدمين الإداريين.
  • 12: وهذه الصيغة تدعم فقط الإمتيازات الإدارية المدعومة في الإصدار Oracle 12c، وهي (SYSBACKUP & SYSDG & SYSKM).
  • Legacy: وهذه الصيغة تدعم فقط الإمتيازات الإدارية الموجودة في الإصدارات قبل الإصدار Oracle 12c هي (SYSDBA & SYSOPER) ولا تدعم الإمتيازات الإدارية الأخري مثل SYSBACKUP or SYSKM.

وهناك عدد من المتغيرات الإختيارية الأخري تستطيع الإطلاع عليها من خلال الأمر orapwd help=y

 

  • Creating a Database Password File with ORAPWD:

تستطيع إنشاء ملف الPassword file من خلال الأمر ORAPWD, فقط قم بفتح الcommand line واكتب الأمر ORAPWD.

إليك بعض الأمثلة لانشاء ملف الPassword file:

Example 1 Creating a Database Password File Located in a File System:

هنا يتم إنشاء ملف الPassword File بصيغة (Format 12.2) واسم الملف orapworcl حيث يتم تخزين الملف في المسار الإفتراضي علي نظام التشغيل.

 orapwd FILE='/u01/oracle/dbs/orapworcl' FORMAT=12.2

 

Example 2 Creating a Database Password File Located in an Oracle ASM Disk Group:

 

هنا يتم إنشاء ملف الPassword File بصيغة (Format 12.2) واسم الملف orapworcl لكن يتم تخزين الملف علي ال Oracle ASM disk group

لاحظ ان المتغير DBUNIQUENAME هنا مطلوب لأن ملف الPassword file مخزن علي ال Oracle ASM disk group.

orapwd FILE='+DATA/orcl/orapworcl' DBUNIQUENAME='orcl' FORMAT=12.2

 

Example 3 Creating a Database Password File with a SYSBACKUP Entry:

إنشاء ملف الPassword File بالصيغة الإفتراضية Format 12.2 ولاحظ أننا إستخدمنا المتغير DBUNIQUENAME وذلك لأن الملف مخزن علي ال Oracle ASM disk group كما تمت إضافة المستخدم الإداري SYSBACKUP للملف.

orapwd FILE='+DATA/orcl/orapworcl' DBUNIQUENAME='orcl' SYSBACKUP=password FORMAT=12.2

 

Example 4 Migrating a Legacy Database Password File to Oracle Database 12c Format:

 

سنقوم بتحويل صيغة ملف الPassword File من الصيغة (Agency Format to 12.2 Format), إسم ملف الPassword File هو orapworcl وهو مخزن علي نظام التشغيل, الملف الجديد سيتم استبداله مكان الملف القديم وذلك لأننا استخدنا المتغير FORCE=y

orapwd FILE='/u01/oracle/dbs/orapworcl' FORMAT=12.2 INPUT_FILE='/u01/oracle/dbs/orapworcl' FORCE=y

 

Example 1-25 Resetting the Password for the SYS Administrative User:

                لإعادة تعيين كلمة المرور للمستخدم الإداري SYS, الملف الجديد سيتم استبداله مكان الملف القديم وذلك لأننا استخدنا المتغير FORCE=y.

orapwd FILE='/u01/oracle/dbs/orapworcl' SYS=Y INPUT_FILE='/u01/oracle/dbs/orapworcl' FORCE=y

سيطلب منك ال prompted إدخال كلمة المرور الجديدة للمستخدم SYS.

Describing a Password File:

لإستعراض بيانات ملف الPassword File.

orapwd DESCRIBE FILE='orapworcl'

               

في حال تم تغيير إسم ملف الPassword File او تم تغيير مكان تخزينه يجب عمل الأمر التالي ليتم تأثير التحديث.

SQL> ALTER SYSTEM FLUSH PASSWORDFILE_METADATA_CACHE;

بعد تنفيذ الأمر يمكنك التأكد من عمل التغيير من خلال V$PASSWORDFILE_INFO view

  • Sharing and Disabling the Database Password File:

يتم التحكم في ملف الPassword File من خلال المتغيير REMOTE_LOGIN_PASSWORDFILE, يمكن أن يأخذ هذا المتغير عدة قيم:

none: هذه القيمة توحي لقاعدة البيانات بتجاهل ملف الPassword File أو التعامل كانه لا يوجد ملف الPassword File وبالتالي لا يسمح للإتصالات ذات الإمتيازات الإدارية عبر الإتصالات غير الاّمنة.

Exclusive: وهو الوضع الإفتراضي بحيث يسمح بإستخدام ملف الPassword File لقاعدة بيانات واحدة فقط.

Shared: هذه القيمة تسمح لمشاركة ملف الPassword File مع أكثر من قاعدة بيانات, لكن يجب العلم أن ملف الPassword File هنا يكون في وضع القراءة فقط (Read only) وبالتالي لا يمكن تعديله أو إضافة مستخدم له او غيره, لذا في حالة أردت التغيير علي ملف الPassword File يجب تغيير المتغير REMOTE_LOGIN_PASSWORDFILE الي القيمة Exclusive اولاً وعمل التعديلات الازمة ومن ثم إرجاع قيمة النتغير الي الوضع Shared.

يجب التنبيه إلي أنه لا يمكن تعيين الوضع Shared للOracle ASM password file.

 

  • Keeping Administrator Passwords Synchronized with the Data Dictionary:

إذا قمت بتغيير المتغيير REMOTE_LOGIN_PASSWORDFILE من القيمة none الي القيمة exclusive or shared فيجب التأكد من أن كلمات المرور المخزنة في الData Dictionary هي نفس كلمات المرور المخزنة في ملف الPassword File لجميع المستخدمين الإداريين AS SYSDBA, SYSOPER, SYSBACKUP, SYSDG, and SYSKM ما عدا المستخدم SYS حيث وابتداءً من الإصدار Oracle Database 12c Release 2 (12.2) اصبح التحقق من المستخدم SYS عن طريق ملف الPassword File فقط.

للتأكد من عمل تزامن بين كلمات المرور للمستخدميين الإداريين في الData Dictionary وملف الPassword File يجب اتباع الخطوات التالية:

1- إيجاد جميع المستخدمين الحاصلين علي الإمتياز الإداري SYSDBA ماعدا المستخدم SYS.

SELECT USERNAME FROM V$PWFILE_USERS WHERE USERNAME != 'SYS' AND SYSDBA='TRUE';

2- سحب الإمتياز الإداري SYSDBA من المستخدمين ومنحهم مره اخري.

REVOKE SYSDBA FROM SYSDBA-user;

GRANT SYSDBA TO SYSDBA-user;

3- إيجاد جميع المستخدمين الحاصلين علي الإمتياز الإداري SYSDBA ماعدا المستخدم SYS.

SELECT USERNAME FROM V$PWFILE_USERS WHERE USERNAME != 'SYS' AND SYSOPER='TRUE';

 

4- سحب الإمتياز الإداري SYSOPER من المستخدمين ومنحهم مره اخري.

REVOKE SYSOPER FROM SYSOPER-user;

GRANT SYSOPER TO SYSOPER-user;

5- إيجاد جميع المستخدمين الحاصلين علي الإمتياز الإداري SYSBACKUP ماعدا المستخدم SYS.

SELECT USERNAME FROM V$PWFILE_USERS WHERE USERNAME != 'SYS' AND SYSBACKUP='TRUE';

 

6- سحب الإمتياز الإداري SYSBACKUP من المستخدمين ومنحهم مره اخري.

REVOKE SYSBACKUP FROM SYSBACKUP-user;

GRANT SYSBACKUP TO SYSBACKUP-user;

7- إيجاد جميع المستخدمين الحاصلين علي الإمتياز الإداري SYSDG ماعدا المستخدم SYS.

SELECT USERNAME FROM V$PWFILE_USERS WHERE USERNAME != 'SYS' AND SYSDG='TRUE';

 

8- سحب الإمتياز الإداري SYSBACKUP من المستخدمين ومنحهم مره اخري.

REVOKE SYSDG FROM SYSDG-user;

GRANT SYSDG TO SYSDG-user;

9- إيجاد جميع المستخدمين الحاصلين علي الإمتياز الإداري SYSKM ماعدا المستخدم SYS.

SELECT USERNAME FROM V$PWFILE_USERS WHERE USERNAME != 'SYS' AND SYSKM='TRUE';

 

10- سحب الإمتياز الإداري SYSKM من المستخدمين ومنحهم مره اخري.

REVOKE SYSKM FROM SYSKM-user;

GRANT SYSDG TO SYSKM-user;

 

 

  • Adding Users to a Database Password File:

عندما تقوم بمنح احد الإمتيازات الإدارية SYSDBA, SYSOPER, SYSBACKUP, SYSDG, or SYSKM إلي مستخدم ما, فإن هذا المستخدم ومعلومات الإمتياز الأداري الممنوحة يتم إضافتها الي ملف الPassword File.

يظل اسم المستخدم موجود في ملف الPassword File مادام لديه احد هذه الإمتيازات الإدارية، فإذا تم سحب جميع الإمتيازات الإدارية من المستخدم يتم حذفه من ملف الPassword File.

يجب التنبيه الي أن ملف الPassword File يجب أن يكون بأحد الصيغ (FORMAT=12.2 or FORMAT=12) لكي يدعم الإمتيازات الإدارية (SYSBACKUP, SYSDG, or SYSKM).

 

 

  • Granting and Revoking Administrative Privileges:

يتم منح الإمتيازات الإدارية بواسطة الامر GRANT ويتم سحب الإمتيازات الإدارية بواسطة الامر REVOKE.

لمنح الإمتيازات الإدارية SYSDBA, SYSOPER, SYSBACKUP, SYSDG, or SYSKM لمستخدم :

GRANT SYSDBA TO mydba;

لسحب الإمتيازات الإدارية SYSDBA, SYSOPER, SYSBACKUP, SYSDG, or SYSKM من مستخدم :

REVOKE SYSDBA FROM mydba;

 

 

يتم تجاهل الخيار WITH ADMIN OPTION إذا تم تحديده اثناء منح الإمتياز الإداري ولكن عمومأ هناك عدة قواعد:

  • المستخدم الذي يتصل بقاعدة البيانات بالإمتياز الإداري AS SYSDBA يستطيع منح أي من الإمتيازات الإدارية لأي من المستخدمين وكذلك يستطيع سحب أي من الإمتيازات الإدارية من أي مستخدم.
  • المستخدم الذي يتصل بقاعدة البيانات بالإمتياز الإداري AS SYSOPER لا يستطيع منح أي من الإمتيازات الإدارية لأي من المستخدمين وكذلك لا يستطيع سحب أي من الإمتيازات الإدارية من أي مستخدم.
  • المستخدم الذي يتصل بقاعدة البيانات بالإمتياز الإداري AS SYSBACKUP يستطيع منح وسحب الإمتياز الإداري SYSBACKUP لأي من المستخدمين وكذلك يستطيع سحب الإمتياز الإداري SYSBACKUP من أي مستخدم.
  • المستخدم الذي يتصل بقاعدة البيانات بالإمتياز الإداري AS SYSDG يستطيع منح وسحب الإمتياز الإداري SYSDG لأي من المستخدمين وكذلك يستطيع سحب الإمتياز الإداري SYSDG من أي مستخدم.
  • المستخدم الذي يتصل بقاعدة البيانات بالإمتياز الإداري AS SYSKM يستطيع منح وسحب الإمتياز الإداري SYSKM لأي من المستخدمين وكذلك يستطيع سحب الإمتياز الإداري SYSKM من أي مستخدم.

 

 

  • Viewing Database Password File Members:

V$PWFILE_USERS يحتوي علي معلومات حول المستخدمين الذين تم منحهم إمتيازات إدارية.

  • Removing a Database Password File:

تستطيع حذف ملف الPassword File إذا لم تعد هناك حاجة اليه.

إذا قررت أنك لم تعد بحاجة الي ملف الPassword File للتحقق ولمصادقة المستخدمين الإداريين تستطيع حذف عن طريق نظام التشغيل وقم إختيارياً بإعادة تعيين المتغيير REMOTE_LOGIN_PASSWORDFILE إلي القيمة none. 

بعد حذف ملف الPassword File يمكن فقط للمستخدمين الذين يملكون إمتيازات إدارية (SYSDBA, SYSOPER, SYSBACKUP, SYSDG, or SYSKM)مصادقتهم والتححق منهم عن طريق نظام التشغيل.


علامات : Database

يمكن ان يعجبك ايضا


Comments

لايوجد تعليق حتى الان