Oracle डेटाबेस में sys और सिस्टम अकाउंट के बीच अंतर क्या है?


39

Sqlplus का उपयोग करके एक व्यवस्थापक के रूप में Oracle से जुड़ने के दो तरीके हैं:

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

इन खातों का उपयोग विभिन्न उद्देश्यों के लिए किया जाना चाहिए, मुझे लगता है।

इन दो स्कीमाओं के लिए कौन से कार्य हैं? मुझे उनमें से एक या दूसरे का उपयोग कब करना चाहिए?

जवाबों:


43

SYS

  • Oracle डेटाबेस स्थापित होने पर स्वचालित रूप से बनाया जाता है
  • स्वचालित रूप से DBAभूमिका दी
  • एक डिफ़ॉल्ट पासवर्ड है: CHANGE_ON_INSTALL (सुनिश्चित करें कि आप इसे बदलते हैं)
  • डेटाबेस डेटा डिक्शनरी के लिए आधार तालिकाओं और विचारों का मालिक है
  • जब आप कनेक्ट करते हैं तो डिफ़ॉल्ट स्कीमा SYSDBA

SYSस्कीमा में तालिकाओं को केवल डेटाबेस द्वारा हेरफेर किया जाता है। उन्हें कभी भी किसी उपयोगकर्ता या डेटाबेस व्यवस्थापक द्वारा संशोधित नहीं किया जाना चाहिए, और किसी को भी उपयोगकर्ता के स्कीमा में कोई तालिका नहीं बनानी चाहिए SYS। डेटाबेस उपयोगकर्ताओं को SYSखाते का उपयोग करके Oracle डेटाबेस से कनेक्ट नहीं होना चाहिए ।

SYSTEM

  • Oracle डेटाबेस स्थापित होने पर स्वचालित रूप से बनाया जाता है
  • स्वचालित रूप से DBAभूमिका दी
  • एक डिफ़ॉल्ट पासवर्ड है: MANAGER (सुनिश्चित करें कि आप इसे बदलते हैं)
  • प्रशासनिक जानकारी प्रदर्शित करने वाली अतिरिक्त तालिकाएँ और दृश्य बनाने के लिए उपयोग किया जाता है
  • विभिन्न ओरेकल डेटाबेस विकल्प और टूल द्वारा उपयोग किए जाने वाले आंतरिक तालिकाओं और विचारों को बनाने के लिए उपयोग किया जाता है

SYSTEMगैर-प्रशासनिक उपयोगकर्ताओं के लिए ब्याज की तालिकाओं को संग्रहीत करने के लिए स्कीमा का उपयोग कभी न करें ।

/के जरिए


19
व्यवहार में, प्रत्येक डीबीए sqlplus / as sysdbaदिन-प्रतिदिन के काम के लिए करता है - 15 वर्षों में दर्जनों अनुभवी डीबीए के साथ काम करते हुए मैं कभी भी किसी के साथ नहीं आया हूं जो SYSTEMखाते से परेशान है ।
गयुस

21

से 11g ओरेकल प्रलेखन :

SYS और सिस्टम उपयोगकर्ता

जब आप Oracle डेटाबेस स्थापित करते हैं, तो निम्न प्रशासनिक उपयोगकर्ता खाते स्वचालित रूप से बनाए जाते हैं। वे दोनों उस पासवर्ड से बनाए गए हैं जिसे आपने इंस्टालेशन पर सप्लाई किया था, और वे दोनों डीबीए की भूमिका के लिए स्वचालित रूप से स्वीकृत हैं।

  • SYS

    यह खाता सभी प्रशासनिक कार्य कर सकता है। डेटाबेस डेटा शब्दकोश के लिए सभी बेस (अंतर्निहित) तालिकाओं और विचारों को SYS स्कीमा में संग्रहीत किया जाता है। ये बेस टेबल और व्यू ओरेकल डेटाबेस के संचालन के लिए महत्वपूर्ण हैं। डेटा शब्दकोश की अखंडता को बनाए रखने के लिए, SYS स्कीमा में तालिकाओं को केवल डेटाबेस द्वारा हेरफेर किया जाता है। उन्हें कभी भी किसी उपयोगकर्ता या डेटाबेस व्यवस्थापक द्वारा संशोधित नहीं किया जाना चाहिए। आपको SYS स्कीमा में कोई तालिका नहीं बनानी चाहिए।

    SYS उपयोगकर्ता को SYSDBA विशेषाधिकार दिया जाता है, जो उपयोगकर्ता को बैकअप और पुनर्प्राप्ति जैसे उच्च-स्तरीय प्रशासनिक कार्य करने में सक्षम बनाता है।

  • SYSTEM

    यह खाता निम्नलिखित को छोड़कर सभी प्रशासनिक कार्य कर सकता है:

    • बैकअप और रिकवरी

    • डेटाबेस अपग्रेड

    जबकि इस खाते का उपयोग दिन-प्रतिदिन के प्रशासनिक कार्यों को करने के लिए किया जा सकता है, Oracle डेटाबेस गतिविधि की निगरानी को सक्षम करने के लिए Oracle डेटाबेस को प्रशासित करने के लिए नामित उपयोगकर्ता खाते बनाने की दृढ़ता से अनुशंसा करता है।

SYSDBA और SYSOPER सिस्टम प्रिविलेज

SYSDBA और SYSOPER उच्च-स्तरीय प्रशासनिक संचालन करने के लिए आवश्यक प्रशासनिक विशेषाधिकार हैं जैसे कि डेटाबेस बनाना, शुरू करना, बंद करना, बैकअप लेना या डेटाबेस को पुनर्प्राप्त करना। SYSDBA सिस्टम विशेषाधिकार पूरी तरह से सशक्त डेटाबेस व्यवस्थापकों के लिए है और SYSOPER सिस्टम विशेषाधिकार एक उपयोगकर्ता को बुनियादी परिचालन कार्यों को करने की अनुमति देता है, लेकिन उपयोगकर्ता डेटा को देखने की क्षमता के बिना।

SYSDBA और SYSOPER सिस्टम विशेषाधिकार डेटाबेस के उपयोग की अनुमति देते हैं, भले ही डेटाबेस खुला न हो। इसलिए इन विशेषाधिकारों का नियंत्रण डेटाबेस के बाहर पूरी तरह से है। यह नियंत्रण एक व्यवस्थापक को सक्षम करता है, जिसे डेटाबेस शुरू करने के लिए डेटाबेस इंस्टेंस से जुड़ने के लिए इन विशेषाधिकारों में से एक दिया जाता है।

आप SYSDBA और SYSOPER विशेषाधिकारों के प्रकार के बारे में भी सोच सकते हैं जो आपको कुछ डेटाबेस संचालन करने में सक्षम बनाते हैं जिसके लिए विशेषाधिकार किसी अन्य तरीके से प्रदान नहीं किए जा सकते हैं। उदाहरण के लिए, यदि आपके पास SYSDBA विशेषाधिकार है, तो आप AS SYBABA का उपयोग करके डेटाबेस से जुड़ सकते हैं।

SYS उपयोगकर्ता को स्थापना पर स्वतः SYSDBA विशेषाधिकार प्रदान किया जाता है। जब आप उपयोगकर्ता SYS के रूप में लॉग इन करते हैं, तो आपको डेटाबेस को SYSDBA या SYSOPER के रूप में कनेक्ट करना होगा। SYSDBA उपयोगकर्ता के रूप में कनेक्ट करना SYSDBA विशेषाधिकार को आमंत्रित करता है; SYSOPER के रूप में कनेक्ट करना SYSOPER विशेषाधिकार को आमंत्रित करता है। Oracle एंटरप्राइज़ प्रबंधक डेटाबेस नियंत्रण आपको SYSDBA या SYSOPER के रूप में कनेक्ट किए बिना उपयोगकर्ता SYS के रूप में लॉग इन करने की अनुमति नहीं देता है।

जब आप SYSDBA या SYSOPER विशेषाधिकार से जुड़ते हैं, तो आप एक डिफ़ॉल्ट स्कीमा के साथ जुड़ते हैं, उस स्कीमा के साथ नहीं जो आमतौर पर आपके उपयोगकर्ता नाम से जुड़ी होती है। SYSDBA के लिए यह स्कीमा SYS है; स्कीप के लिए स्कीम सार्वजनिक है।


8

SYS (या किसी अन्य SYSDBA कनेक्शन) और हर दूसरे उपयोगकर्ता के बीच एक प्रमुख अंतर का एक उदाहरण: SYS लगातार पढ़ा नहीं जा सकता है । इसका एक निहितार्थ (कुछ अन्य हैं) यह है कि आप पुराने एक्सपोज़र का उपयोग करके SYS के रूप में एक CONSISTENT = Y निर्यात नहीं कर सकते।

ओरेकल के कर्मचारी और विशेषज्ञ टॉम कायटे की राय है कि आपको शायद ही कभी किसी एक का उपयोग करना चाहिए । एसवाईएस के बारे में, वह बताते हैं कि यह ऊपर दिए गए उदाहरण के अनुसार अलग-अलग काम करता है, लेकिन आम तौर पर वह उन्हें ओरेकल कॉर्पोरेशन द्वारा "स्वामित्व" मानता है। यदि आप कोई परिवर्तन करते हैं या स्कीमा में कुछ जोड़ते हैं और एक समस्या उत्पन्न होती है (जैसे, एक डेटाबेस अपग्रेड विफल रहता है), मुझे संदेह है कि ओरेकल सपोर्ट का जवाब होगा, "आपको ऐसा नहीं करना चाहिए था।"


0

ऐसा लगता है जैसे कि पोस्टर कह रहा है कि कनेक्ट करने के केवल दो तरीके हैं:

"Sqlplus का उपयोग कर व्यवस्थापक के रूप में Oracle से जुड़ने के दो तरीके हैं:

sqlplus sys as sysdba
sqlplus system/manager"

एक व्यवस्थापक खाता या तो SYSDBA विशेषाधिकार या DBA भूमिका वाला कोई Oracle उपयोगकर्ता खाता है। SYS SYSDBA वाला एक पूर्वनिर्धारित उपयोगकर्ता है, और DBA वाला सिस्टम एक पूर्वनिर्धारित उपयोगकर्ता है। यदि किसी डेटाबेस में n व्यवस्थापक खाते हैं, तो ऐसे n उपयोगकर्ता हैं जो व्यवस्थापक विशेषाधिकारों (परिभाषा के अनुसार) से जुड़ सकते हैं - उनमें से केवल दो नहीं हैं।

एक अन्य बिंदु SQL * प्लस की चिंता करता है। आप ओएस प्रॉम्प्ट पर एसवाईएस के रूप में ओएस प्रॉम्प्ट पर उपयोग कर कनेक्ट कर सकते हैं: एसक्यूएलएस / एसआईएसडीबीए के रूप में। आप SQL * Plus और उसके बाद CONNECT / AS SYSDBA भी शुरू कर सकते हैं। आप CONNECT स्टेटमेंट में, OS प्रॉम्प्ट पर एक पासवर्ड निर्दिष्ट कर सकते हैं, या इसके लिए SQL * Plus प्रॉम्प्ट कर सकते हैं। आप एक नेट सेवा नाम का उपयोग कर सकते हैं। आप सिस्टम पासवर्ड बदल सकते हैं (और चाहिए)। और इसी तरह।

पोस्टर का मतलब क्या है, मुझे लगता है, यह है कि ओरेकल डेटाबेस में कम से कम दो प्रशासक खाते हैं, और यदि सिस्टम में डिफ़ॉल्ट पासवर्ड है, और अगर ओएस प्रमाणीकरण स्थापित किया गया है, तो ये दो (कई के) उदाहरण हैं SQL * प्लस का उपयोग करके डेटाबेस में SYS और सिस्टम कैसे लॉग इन कर सकते हैं।

एसवाईएस और सिस्टम के बीच अंतर का सवाल अलग है और इसका उत्तर दिया गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.