it-swarm.asia

ما الفرق بين حسابات النظام وحسابات النظام في قواعد بيانات Oracle؟

هناك طريقتان للاتصال بـ Oracle كمسؤول باستخدام sqlplus:

  1. sqlplus sys as sysdba
  2. sqlplus system/manager

أعتقد أن هذه الحسابات يجب أن تستخدم لأغراض مختلفة.

ما المهام التي يقصد بها هذان المخططان؟ متى يجب علي استخدام واحد أو آخر من بينها؟

40
Lazer

SYS

  • يتم إنشاؤها تلقائيًا عند تثبيت قاعدة بيانات Oracle
  • منح الدور DBA تلقائيًا
  • لديه كلمة مرور افتراضية: CHANGE_ON_INSTALL (تأكد من تغييره)
  • يمتلك الجداول الأساسية وطرق العرض لقاموس بيانات قاعدة البيانات
  • المخطط الافتراضي عند الاتصال كـ SYSDBA

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

SYSTEM

  • يتم إنشاؤها تلقائيًا عند تثبيت قاعدة بيانات Oracle
  • منح الدور DBA تلقائيًا
  • لديه كلمة مرور افتراضية: MANAGER (تأكد من تغييرها)
  • تُستخدم لإنشاء جداول وطرق عرض إضافية تعرض معلومات إدارية
  • تُستخدم لإنشاء جداول وطرق عرض داخلية تستخدمها خيارات وأدوات قاعدة بيانات أوراكل المختلفة

لا تستخدم أبدًا مخطط SYSTEM لتخزين الجداول التي تهم المستخدمين غير الإداريين.

/ عبر

43
Eddie Awad

من وثائق أوراكل 11g :

SYS ومستخدمي النظام

يتم تكوين حسابات المستخدمين الإدارية التالية تلقائيًا عند تثبيت Oracle Database. كلاهما تم إنشاؤه بكلمة المرور التي قدمتها عند التثبيت ، وكلاهما يتم منحهما تلقائيًا دور DBA.

  • SYS

    يمكن لهذا الحساب أداء جميع الوظائف الإدارية. يتم تخزين كافة الجداول وطرق العرض الأساسية (الأساسية) لقاعدة بيانات قاعدة البيانات في مخطط SYS. تعد الجداول وطرق العرض الأساسية هذه ضرورية لتشغيل Oracle Database. للحفاظ على تكامل قاموس البيانات ، يتم التعامل مع الجداول في مخطط SYS من خلال قاعدة البيانات فقط. لا يجب تعديلها من قبل أي مستخدم أو مسؤول قاعدة بيانات. يجب ألا تنشئ أي جداول في مخطط SYS.

    يمنح مستخدم SYS امتياز SYSDBA ، الذي يمكّن المستخدم من أداء مهام إدارية عالية المستوى مثل النسخ الاحتياطي والاسترداد.

  • SYSTEM

    يمكن لهذا الحساب أداء جميع الوظائف الإدارية باستثناء ما يلي:

    • النسخ الاحتياطي والاسترداد

    • ترقية قاعدة البيانات

    بينما يمكن استخدام هذا الحساب لأداء المهام الإدارية اليومية ، توصي Oracle بشدة بإنشاء حساب مستخدمين مسمى لإدارة قاعدة بيانات Oracle لتمكين مراقبة نشاط قاعدة البيانات.

امتيازات نظام SYSDBA و SYSOPER

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

تسمح امتيازات نظام SYSDBA و SYSOPER بالوصول إلى نسخة قاعدة البيانات حتى عندما لا تكون قاعدة البيانات مفتوحة. وبالتالي ، فإن التحكم في هذه الامتيازات خارج قاعدة البيانات نفسها تمامًا. يمكّن عنصر التحكم هذا المسؤول الذي تم منحه إحدى هذه الامتيازات للاتصال بمثيل قاعدة البيانات لبدء قاعدة البيانات.

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

يمنح مستخدم SYS تلقائيًا امتياز SYSDBA عند التثبيت. عند تسجيل الدخول كمستخدم SYS ، يجب عليك الاتصال بقاعدة البيانات مثل SYSDBA أو SYSOPER. الاتصال كمستخدم SYSDBA يستدعي امتياز SYSDBA ؛ الاتصال أثناء استدعاء SYSOPER لامتياز SYSOPER. لا يسمح لك التحكم بقاعدة بيانات Oracle Enterprise Manager بتسجيل الدخول كمستخدم SYS بدون الاتصال كـ SYSDBA أو SYSOPER.

عند الاتصال بامتياز SYSDBA أو SYSOPER ، فإنك تتصل بمخطط افتراضي ، وليس بمخطط يرتبط بشكل عام باسم المستخدم الخاص بك. مخطط SYSDBA هو SYS؛ ل SYSOPER المخطط العام.

21
Leigh Riffel

مثال على فرق كبير بين SYS (أو أي اتصال SYSDBA آخر) وكل مستخدم آخر: لا يمكن لـ SYS القراءة بشكل ثابت . أحد الآثار المترتبة على ذلك (هناك أخرى) هو أنه لا يمكنك القيام بتصدير متناسق = Y مثل SYS باستخدام أداة exp القديمة.

يرى موظف وخبير Oracle Tom Kyte أن نادرًا ما تستخدم أيًا منهما . فيما يتعلق بـ SYS ، يشير إلى أنه يعمل بشكل مختلف كما يشير المثال أعلاه ، ولكنه بشكل عام يعتبرها "مملوكة" لشركة Oracle Corporation. إذا قمت بإجراء تغيير أو أضفت شيئًا في أي من المخططين وحدثت مشكلة (على سبيل المثال ، فشلت ترقية قاعدة البيانات) ، أعتقد أن إجابة Oracle Support ستكون ، "لم يكن عليك فعل ذلك."

9
Stephen Kendall

يبدو هذا كما لو أن الملصق يقول أن هناك طريقتان فقط للتواصل:

"هناك طريقتان للاتصال بـ Oracle كمسؤول باستخدام sqlplus:

sqlplus sys as sysdba
sqlplus system/manager"

حساب المسؤول هو أي حساب مستخدم أوراكل بامتياز SYSDBA أو دور DBA. SYS هو مستخدم محدد مسبقًا مع SYSDBA ، و SYSTEM هو مستخدم محدد مسبقًا مع DBA. إذا كان هناك n حسابات مسؤول في قاعدة بيانات ، فهناك n مستخدمين يمكنهم الاتصال بامتيازات المسؤول (حسب التعريف) - ليس هناك اثنان فقط.

نقطة أخرى تتعلق بـ SQL * Plus. يمكنك الاتصال كـ SYS باستخدام مصادقة نظام التشغيل في موجه نظام التشغيل: sqlplus/as sysdba. يمكنك أيضًا بدء SQL * Plus ثم CONNECT/AS SYSDBA. يمكنك تحديد كلمة مرور في موجه OS ، أو في عبارة CONNECT ، أو مطالبة SQL * Plus بمطالبتك بذلك. يمكنك استخدام اسم خدمة صافي. يمكنك (ويجب) تغيير كلمة مرور النظام. وما إلى ذلك وهلم جرا.

أعتقد أن المقصود من الملصق أن يقول ، هو أن هناك على الأقل حسابان إداريان في قاعدة بيانات أوراكل ، وإذا كان لدى SYSTEM كلمة المرور الافتراضية ، وإذا تم إعداد مصادقة نظام التشغيل ، فهذه أمثلة (من بين العديد) كيف يمكن لـ SYS و SYSTEM تسجيل الدخول إلى قاعدة البيانات باستخدام SQL * Plus.

مسألة الفرق بين SYS و SYSTEM مختلفة وتم الإجابة عليها.

0
Lance Ashdown