• 1
حسام فيصل

دورة في إدارة قواعد البيانات أوراكل


سؤال

السلام عليكم و رحمة الله :

إن مجال إدراة قواعد البيانات أوركل لا يجد حقه في هذا المنتدى ، لأن أغلب المشاركات تتمحور حول تطوير التطبيقات بشكل عام ، لذلك رغبت في أن أستغل فترة الصيف لنقوم بسلسلة دروس حول إدارة القاعدة ، أي يمكن أن نعتبرها دورة متكاملة في إدارة القاعدة من المستخدمين حتى البنى الفيزيائية كـDatafiles و Redo log Files و البنى المنطقية Table Spaces ، مروراً بالنسخ الإحتياطي Backup و استخدام RMAN ... إلخ بحسب ما يسمح لنا الوقت .

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

و بدلاً من كثرة الكلام لنبدأ الفعل مع القسم الأول إدارة المستخدمين .

ما هي الحاجة إلى وجود مستخدمين ؟

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

عندما يريد أحد التعامل مع أوراكل يجب أن تكون له سماحية الدخول إلى النظام و هذه السماحية تؤخذ بالطرق : :

1- Data Dictionary قاموس البيانات .

2- Operating System نظام التشغيل .

3- Networking الشبكة .

سيكون موضوع بحثنا هو الطريقتين الأولى و الثانية .

قبل البدء بعملية إنشاء المستخدمين يجب أن أوضح المصطلحات التالية :

1- Schema المخطط : و هي مجموعة objects التي يملكها المستخدم أي الجداول – index –PL/SQL CODE ....

2- Table Space الفضاء الجدولي : منطقياً هو المكان المخصص لكل مستخدم لكي يقوم بتخزين بياناته عليه ، فيزيائياً هو مجموعة من الملفات التي تخزن البيانات ندعوها data file .

3- Privileges الصلاحية : و تعني إمكانية قيام مستخدم معين بعملية ما على البيانات أو إنشاء بنى جديدة أو حذف بنى موجودة ....إلخ .

4-Quotas : و هي السماحة المخصصة للمستخدم للتخزين على فضاء tablespace معين ...

تعليمة إنشاء user :

الشكل القياسي لها :

[color=#CC0000][b]CREATE USER user
IDENTIFIED {BY password | EXTERNALLY}
[ DEFAULT TABLESPACE tablespace ]
[ TEMPORARY TABLESPACE tablespace ]
[ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace
[ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace
]...]
[ PASSWORD EXPIRE ]
[ ACCOUNT { LOCK | UNLOCK }]
[ PROFILE { profile | DEFAULT }][/b][/color]

مخيفة ، أليس كذلك ؟

بالطبع لا ، فهي بسيطة و سهلة و سنرى ذلك في سياق السلسة بإذن الله ..

لنبدأ بـ :

1- إنشاء Database User :

كما تحدثنا سابقاً فإنه توجد عدة طرق لإنشاء مستخدم منها Data Dictionary . و فيها يأخذ المستخدم صلاحية الدخول من أوركل أي يكون لديه password . لتعليمة الإنشاء المثال التالي:

create user Arabteam 
identified by arabteam_pass

إذا أردنا أن نتوسع أكثر فلنجعل لهذا المستخدم حصة على Users Tablespace و هو فضاء جدولي إفتراضي يتم إنشاءه عند تنصيب Oracle :

create user Arabteam 
identified by arabteam_pass
default tablespace users
quota 50m on users

في الحياة العملية لا يجب لمدير القاعدة أن يعرف كلمة السر الخاصة بمستخدم معين و هذا ما نشاهده في حالتنا فقد أسندنا كلمة السر التي نريد إلى المستخدم و هذا لا يصح . لذلك ما رأيكم لو أننا طلبنا من المستخدم أن يقوم بعملية تغيير قسرية لكلمة السر الخاصة به عند أول دخول ؟؟ بذلك " نصفي ذمتنا " (على الطريقة السورية ) ؟؟

create user Arabteam 
identified by arabteam_pass
default tablespace users
quota 50m on users
password Expire;

حتى الآن أظن أن الأمور بخير و لا يوجد شيء صعب على الفهم على ما أعتقد .....

ماذا لو أردنا عدم تفعيل الحساب مباشرة ؟ أي ننشء الحساب و لكن المستخدم لن يستطيع إستخدامه ؟

create user Arabteam 
identified by arabteam_pass
default tablespace users
quota 50m on users
password Expire
Account Lock;

2- إنشاء Operating System User :

و هنا يتم السماح للمستخدم إستخدام النظام بعد مصادقة نظام التشغيل . كلام غامض جداً جداً ؟؟؟؟؟؟

كلنا يعلم أننا يمكن إنشاء مستخدمين في نظام التشغيل الذي نعمل عليه سواء أكان Windows أو Linux أو أي نظام تشغيل آخر ، أفلا يمكننا إستخدام هذه الإمكانية في سماحية الدخول إلى أوراكل ؟ أي يكفي للمستخدم أن يقوم بستجيل الدخول إلى نظام التشغيل ثم يستدعي مثلاً SQL PLUS هكذا :

  c:\> sqlplus /

أي دون الحاجة إلى كتابة اسم المستخدم و كلمة المرور ؟؟؟ هذا ما ندعو بمصادقة نظام التشغيل ...

كيف نحقق ذلك ؟

create user Arabteam 
identified Externally

و ننشىء مستخدم اسمه ArabTeam على النظام ، و انتهت القصة .. سهلة أليس كذلك ؟؟

و لكن هناك شيء أساسي يجب ذكره : إن اسم مستخدم نظام التشغيل مرتبط بشكل أساسي بالبرامتر OS_AUTHENT_PREFIX ( البارامترات هي مجموعة من القيم التي تحدد طبيعة بعض العمليات الإدارية للقاعدة مثل اسماء data files و control files و النسخ الإحتياطي Backup ..... إلخ و هي مخزنة داخل ملف SPFILE أو PFILE الذين سيكون لهم نقاش طويل بإذن الله ) بحيث يجب أن تكون قيمته "" ... الآن كيف نستطيع فعل ذلك ؟؟؟ لنتبع الخطوات التالية :

1- سجل الدخول بالشكل التالي :

sys/pass as sysdba

2- نفذ التعليمة التالية :

alter system set OS_AUTHENT_PREFIX='' scope=spfile;

3- أغلق القاعدة بالشكل :

shutdown immediate

4- أعد تشغيل القاعدة بالشكل :

startup

و بذلك تم الأمر ..

و الآن لنسجل الدخول بالمستخدم الذي إنشأناه :

 

Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> create user arabteam
2 identified by arabteam;

User created.

SQL> connect arabteam/arabteam
ERROR:
ORA-01045: user ARABTEAM lacks CREATE SESSION privilege; logon denied


Warning: You are no longer connected to ORACLE.
SQL>

ما الذي حدث ؟؟؟؟

تحدثنا في البداية بضرورة وجود الصلاحيات التي تحكم عمل المستخدم حتى في تسجيل دخوله . لذلك نحتاج إلى منح المستخدم Arabteam القدرة على تسجيل الدخول و ذلك بالطريقة :

 SQL> connect system/pass
Connected.
SQL> grant create session to arabteam;

Grant succeeded.

SQL> connect arabteam/arabteam_pass;
Connected.
SQL>

و سيكون لنا حديث طويل جداًعن السماحيات و ذلك في الجزء القادم إن شاء الله .

التعديلات على خصائص المستخدمين :

هل نستطيع إجراء التعديلات على المستخدمين الذين أنشأناهم ؟ هل نستطيع تغيير كلمة المرور أو Quota أو الفضاء الجدولي ؟؟؟

بالطبع نستطيع و ذلك عن طريق التعليمة :

ALTER USER user
[ DEFAULT TABLESPACE tablespace]
[ TEMPORARY TABLESPACE tablespace]
[ QUOTA {integer [K | M] | UNLIMITED } ON tablespace
[ QUOTA {integer [K | M] | UNLIMITED } ON tablespace ]
...]

ما رأيكم بتغيير كلمة المرور للسمتخدم الذي أنشأناه ؟؟

SQL> alter user arabteam
2 identified by pass;

User altered.

ملاحظة : يمكن حتى للمستخدم arabteam نفسه أن ينفذ هذه التعليمة لتغيير كلمة السر الخاصة به .

ما رأيكم بتغيير المساحة المخصصة للسمتخدم للكتابة على الفضاء الجدولي USERS ؟؟؟

SQL> alter user arabteam
2 quota 50m on users;

User altered

و بذلك أنتهى الجزء الخاص بإنشاء السمتخدمين .. سوف نتحدث في الجزء القادم بإذن الله عن السماحيات ...

ملاحظة هامة جداً :

لكي تستطيع تطبيق كل التعليمات التي ذكرناها يجب أن توجد سماحيات للقيام بها ، أي لا تحاول أن تنفذ التعليمات بواسطة Scott ، و إنما أنصح تسجيل الدخول بواسطة SYSTEM ..

تم تعديل بواسطه informat
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

157 إجابة على هذا السؤال .

  • 0

جزاكم الله خيرا

كنت محتاجة جدا لهذه الدورة الشاملة

بارك الله فيكم و أحسن اليكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله الف مليون خير على هذا المجهود الجبار

وجعله الله في ميزان حسناتك يوم القيامة

وارجو منك الاستمرار والتواصل في المنتدى لما فيه الخير

واجرك على رب العباد

اخوك سليم

[email protected]

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الله يعطيك العافية يااخ حسام وارجو منك تكملة الدورة متى استطعت ذلك وشكرا لجهودك الكبير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله وبركاته اشكرك جدا اخى حسام فيصل والله ما وجد شرح لموضوع ال دى بى ايه الا من خلال لذلك اتمنى ان تستكمل الموضوع ولو حتى ننتهى هذا الايام من منهج ال WORKSHOP 1 حتى نستطيع دخول الامتحان

بالله عليك اخى لاتنسى لانه شرحك ممتاز جدا

تحياتى لك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله وبركاته

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

ونشكر الجميع على الاسئله التى افادت الجميع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا جزيلا على المجهود الجبار ولكن نطمح الى المزيد ولكم جزيل الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

المجهود رائع اخى العزيز مهندس / حسام . جزالك الله خيرا يا اخى الكريم وجعله فى ميزان حسناتك وكم كنت تمنى ان يتم تفريغ محتوى الدوره فى ملف وورد او pdf لتعم المنفعه على الجميع ويسهل طباعه الدوره ارجو منك ان تلبى لى ذلك الطلب فى القريب العاجل ولك منى كل تحيه وتقدير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

والله موضوع اكثر من رائع ونتمنى من الله ان يجعله فىميزان حسناتك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

واتمني شرح باقي الدروس وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكــم ورحمـة الله وبركاتــه

لدي مشكل لا استطيع ان ادخل في sql plus

مع العلم ان ملف tnsnames.ora في جهازي هو الاتي

# TNSNAMES.ORA Network Configuration File: F:\oracle\ora92\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

FATIHA =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = FATIHA)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = FATIHA)

)

)

ماذا يجب ان اكتب في

user name

password

host name

ارجوكم الرد

شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اسعد الله مساءك

ارجو منكم مساعدتكم لي في برنامج اوركل ربط الشاشات

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً لك اخي الكريم فيصل

والله اني في غاية السعادة عندما وجدت الرد على موضوعي وان لم يكن رد كاف وللكنني سررت بقراة الملفات التي ارسلت لي مثل ادارة قواعد البيانات ولكنني الان ما زلت اتعلم مع الدفلوبر وفي ما بعد ساتجه للـ dba فاعذرني على عدم توجيهي لك باي سؤال علما انها اول مشاركتي في المنتديات بشكل عام فارجو المساعدة في كل الاحوال للانني ولله الحمد امتلك همتة ونشاط عندما ابداء في اي موضوع فعينوني الله يعينكم.

تم تعديل بواسطه اباكري
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

المجهود رائع اخى العزيز مهندس / حسام . جزالك الله خيرا يا اخى الكريم وجعله فى ميزان حسناتك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً جزيلاً على الدوره المفيده

تعرفت على اوراكل من خلالها

:)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكوووووور عزيزي الموضوع كلش رائع ومفيد جدا

وحديثة وإن شاء الله اليوفيق نحو الأفضل في مواضيع مهمة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

في البداية ألف ألف مليون شكر على هذا لجهد الرائع و أذكرك بحديث رسولنا الكريم محمد صلى الله عليه و سلم (لو قامت الساعة و في يد أحدكم فسيلة - نبته- فليغرسها)أو كما رسول الله صلى الله عليه و سلم أنت قدم ماعندك و ارجو الثواب من الله و اعلم ان الفائدة ستعم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بصراحة الشرح تحفة والتسلسل فى الشرح جميل

انا عضوة جديدة و يشرفنى ان اشترك معكم فى الدورة

انا بصراحة فاهمة الشرح كويس

بس فى التنفيذ فى بعض المشاكل

الاول انا مسطبة اوراكل 10g ومسطبة الديفولبر ورابطة بينهم وكلو تمام

انا لماجيت اسطب قاعدة جديدة خد وقت كتير جدا فى التسطيب وفى الاخر متسطبش بيقف عند %89

يريد تقولولى المشكلة منين

ثانيا انا عايزة اشغل em

انا شغلتو من محرر الاوامر وشتغل

ولما جيت اشغلو من browser اليوزر نام و الباسورد مش عايزين يقبلو اى حاجة

معرفش لية مع انى جربت الى حضرتك قولت علية

فيريد تقولى اة المفروض يكتب

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

دروس اكثر من رائعة مشكوراخى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بصراحة الموضوع هايل (الدورة) وكمان الخطوات بسيطة دون تعقيد بس ياريت لو تزود الموضوع بصور او مثل

تحميل البرنامج والخطوات فى لينكات للمستخدمين الى سرعتهم قليلة عشان الموضوع يبقى متكامل وياريت لو مثلا ترفع الشرح فى صورة ملفات pdf للتسهيل

وجزاك الله خيرا على ضميرك فى الشرح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

انا بس كنت عايز اعرف حاجة وياريت تفدنى فيها للاهمية انا حملت oracle database 10g وبعد ما خلصت تسطيبه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عليك بتغيير الباراميتر nls_language من الريجستيري لتصبح AMERICAN_AMERICA ..

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

دورة مهمة جداً .

استفدت منها بقدر كبير على الرغم من أني قد أتممت دورة ساباقاً في dba administration

ولكن هناك الكثير في هذه الدورة كان جديد بالنسبة لي .

أسلوبك سلس جداً

الشكر في حقك قليل.

جزاك الله خير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

المجهود رائع اخى العزيز مهندس / حسام . جزالك الله خيرا يا اخى الكريم وجعله فى ميزان حسناتك وكم كنت اتمنى ان يتم تفريغ محتوى الدوره فى ملف وورد او pdf لتعم المنفعه على الجميع ويسهل طباعه الدوره ارجو منك ان تلبى لى ذلك الطلب فى القريب العاجل ولك منى كل تحيه وتقدير

ahmdsyd

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .