Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

एक नया Oracle उपयोगकर्ता बनाएँ और विशेषाधिकार प्रदान करें:सिंटैक्स और उदाहरण

इस लेख में, हम बात करेंगे कि Oracle में उपयोगकर्ता कैसे बनाया जाए। आप सीखेंगे कि नए डेटाबेस उपयोगकर्ताओं को कैसे जोड़ा जाए, यह पता लगाएं कि इस नौकरी में कौन से पूरक पहलू शामिल हैं:प्रारंभिक उपयोगकर्ता निर्माण से लेकर इसे छोड़ने तक। इसके अलावा, आपको IDENTIFY . के साथ काम करने के लिए कुछ उपयोगी टिप्स मिलेंगे और TABLESPACE खंड, साथ ही GRANT करना सीखें Oracle में भूमिकाएँ और अनुमतियाँ।

सामग्री

  • Oracle में एक नया उपयोगकर्ता कैसे बनाएं
  • Oracle CREATE USER Syntax उदाहरण
  • डिफ़ॉल्ट सेटिंग्स के साथ डिफ़ॉल्ट उपयोगकर्ता कैसे बनाएं
  • क्लॉज द्वारा पहचाने गए उपयोगकर्ता बनाएं
    • पासवर्ड क्लॉज द्वारा पहचाने गए उपयोगकर्ता बनाएं
    • बाह्य और विश्व स्तर पर क्लाज
  • टेबलस्पेस क्लॉज के साथ यूजर बनाएं
    • डिफ़ॉल्ट टेबलस्पेस
    • अस्थायी टेबलस्पेस
    • कोटा
  • उपयोगकर्ता गुण बनाएं
    • प्रोफ़ाइल
    • पासवर्ड समाप्त
    • खाता लॉक/खाता अनलॉक
  • उपयोगकर्ता को भूमिका प्रदान करें
  • Oracle में अनुमति देना
  • अनुदान कमांड सिंटैक्स
  • Oracle उपयोगकर्ता विशेषाधिकार
  • Oracle उपयोगकर्ता को सभी विशेषाधिकार कैसे बनाएं और प्रदान करें
  • Oracle में उपयोगकर्ता को तालिका विशेषाधिकार कैसे प्रदान करें
  • Oracle उपयोगकर्ता बनाएं और Oracle के लिए dbForge Studio के साथ आसानी से अनुमतियां दें
  • Oracle में उपयोगकर्ता को कैसे हटाएं (छोड़ें)
  • निष्कर्ष

Oracle में एक नया उपयोगकर्ता कैसे बनाएं

शुरू करने से पहले, आपको यह जांचना होगा कि आपके पास उपयोगकर्ता बनाने के लिए आवश्यक सिस्टम विशेषाधिकार है या नहीं। यदि नहीं, तो उन्हें अपने खाते में असाइन करना सुनिश्चित करें। उसके बाद, आप व्यावहारिक कार्यों के लिए आगे बढ़ सकते हैं। इस लेख के उदाहरण उपयोगकर्ता Oracle 19c संस्करण बनाने से संबंधित हैं, लेकिन उपयोग में आने वाले सभी Oracle संस्करणों (Oracle 10g, 11g, 12c, आदि सहित) के लिए विधियाँ समान हैं।

Oracle CREATE USER Syntax उदाहरण

शुरुआत के लिए, हम Oracle CREATE USER . में देखेंगे वाक्य - विन्यास। सबसे पहले, हम चर्चा करेंगे कि डिफ़ॉल्ट सेटिंग्स के साथ एक कैसे बनाया जाए। उसके बाद, हम IDENTIFY . के विभिन्न रूपों पर आगे बढ़ेंगे क्लॉज, टेबलस्पेस क्लॉज और CREATE USER . की अन्य विशेषताएं Oracle में वाक्य रचना।

डिफ़ॉल्ट सेटिंग्स के साथ डिफ़ॉल्ट उपयोगकर्ता कैसे बनाएं

मूल बातें से शुरू करना हमेशा सबसे अच्छा होता है। इस प्रकार, आइए हम CREATE USER . पर ध्यान दें अपने आप से आदेश। जैसा कि, यह डिफ़ॉल्ट विशेषताओं वाला उपयोगकर्ता बनाएगा। आगे इस लेख में, हम देखेंगे कि कैसे उपयोगकर्ताओं को अधिक सूक्ष्मता से कॉन्फ़िगर किया जाए और यह सामान्य रूप से डेटाबेस की सुरक्षा को कैसे बढ़ाता है।

क्लॉज द्वारा पहचाने गए उपयोगकर्ता बनाएं

IDENTIFIED क्लॉज आपको यह इंगित करने देता है कि Oracle डेटाबेस किसी उपयोगकर्ता को कैसे प्रमाणित करता है। आइए IDENTIFY . के विभिन्न उदाहरणों पर करीब से नज़र डालें Oracle में वाक्य रचना।

पासवर्ड क्लॉज द्वारा उपयोगकर्ता की पहचान बनाएं

सबसे सीधे मामले में, हम उपयोगकर्ता नाम के तहत एक नया स्थानीय उपयोगकर्ता बना रहे हैं। उपयोगकर्ता को सिस्टम में लॉग इन करने के लिए पासवर्ड दर्ज करना होगा:

CREATE USER <username> IDENTIFIED BY <password>;

उपयोगकर्ता नाम कुछ भी हो सकता है। हालाँकि, पासवर्ड में डेटाबेस कैरेक्टर सेट से सिंगल-बाइट कैरेक्टर होने चाहिए। यदि वर्ण सेट में भी मल्टीबाइट वर्ण हैं, तो यह पासवर्ड की आवश्यकता को नहीं बदलता है - केवल सिंगल-बाइट वर्णों का उपयोग करें।

CREATE USER visitor
  IDENTIFIED BY psw4visits;

बाह्य और विश्व स्तर पर क्लॉज

पासवर्ड द्वारा पहचानने के अलावा, आप उपयोगकर्ता प्रमाणीकरण के दो अन्य माध्यमों में से एक का उपयोग कर सकते हैं। यह बाहरी उपयोगकर्ता या वैश्विक उपयोगकर्ता को कॉन्फ़िगर कर रहा होगा। ऐसा करने के लिए, आपको EXTERNALLY . शामिल करना होगा या GLOBALLY CREATE USER . में क्लॉज ओरेकल कमांड।

EXTERNALLY बाहरी उपयोगकर्ता बनाने की अनुमति देता है। इस मामले में, उपयोगकर्ता को बाहरी सिस्टम, जैसे ऑपरेटिंग सिस्टम द्वारा प्रमाणित किया जाता है। उदाहरण के लिए, Oracle डेटाबेस उपयोगकर्ता एक Windows उपयोगकर्ता है। इस प्रकार, वे अन्य पासवर्ड दर्ज किए बिना विंडोज द्वारा प्रमाणित होने के बाद डेटाबेस तक पहुंच सकते हैं। बाहरी उपयोगकर्ता के तहत काम करना नियमित डेटाबेस उपयोगकर्ताओं के लिए एक मानक विकल्प है। लेकिन ऐसे उपयोगकर्ताओं के पास व्यवस्थापक या डेटाबेस ऑपरेटर विशेषाधिकारों के बिना केवल मानक भूमिकाएँ (कनेक्ट और संसाधन) होती हैं।

बाहरी उपयोगकर्ता बनाने के लिए, हम नीचे दिए गए कथन को निष्पादित करते हैं:

CREATE USER external_user1
  IDENTIFIED EXTERNALLY
  DEFAULT TABLESPACE tbs_new_10
  QUOTA 10M ON tbs_new_10
  PROFILE external_user_profile1;

इस तरह, हमने अपने डेटाबेस के लिए एक नया बाहरी उपयोगकर्ता बनाया है। नाम है external_user1. कोई अतिरिक्त पासवर्ड की आवश्यकता नहीं है। हमने इस उपयोगकर्ता को 10 एमबी के कोटा के साथ डिफ़ॉल्ट टेबलस्पेस tbs_new_10 असाइन किया है। अन्य सीमाएं इस उपयोगकर्ता पर लागू बाहरी_उपयोगकर्ता_प्रोफाइल1 द्वारा परिभाषित की गई हैं।

जैसा कि हमने पहले उल्लेख किया है, विभिन्न बाहरी सिस्टम Oracle डेटाबेस में बाहरी उपयोगकर्ताओं को बनाए और प्रबंधित कर सकते हैं। ऑपरेटिंग सिस्टम की क्षमताओं का उपयोग करना सबसे आम विकल्प है। इस प्रकार, यदि हम ऑपरेटिंग सिस्टम में सिस्टम खाते द्वारा सुलभ एक बाहरी डेटाबेस उपयोगकर्ता बनाना चाहते हैं, तो हमें केवल अपने विवरण को थोड़ा संशोधित करने की आवश्यकता है। हम उपयोगकर्ता नाम में ops$ उपसर्ग जोड़ेंगे:

CREATE USER ops$external_user1
  IDENTIFIED EXTERNALLY
  DEFAULT TABLESPACE tbs_new_10
  QUOTA 10M ON tbs_new_10
  PROFILE external_user_profile1;

GLOBALLY वैश्विक उपयोगकर्ता बनाने की अनुमति देता है। इसका मतलब है कि उनके लॉगिन और पासवर्ड विशिष्ट डेटाबेस के बजाय केंद्रीय ओरेकल सुरक्षा सर्वर पर संग्रहीत हैं। इसके अलावा, उस केंद्रीय सर्वर पर वैश्विक उपयोगकर्ताओं को सौंपी गई भूमिकाएँ किसी भी डेटाबेस में इस उपयोगकर्ता पर लागू होती हैं। एक अलग डेटाबेस में उपयोगकर्ता भूमिका को कॉन्फ़िगर करना आवश्यक नहीं होगा। ध्यान दें कि आपको वैश्विक उपयोगकर्ताओं के लिए एकल साइन-ऑन विकल्प को सक्षम करने की आवश्यकता है।

वैश्विक डेटाबेस उपयोगकर्ता बनाने के लिए, हम निम्नलिखित कथन का उपयोग करते हैं:

CREATE USER global_user1
  IDENTIFIED GLOBALLY AS 'CN=manager, OU=division, O=oracle, C=US'
  DEFAULT TABLESPACE USERS
  QUOTA 10M on USERS;

अब हमारे पास global_user1 . के नाम से एक नया वैश्विक डेटाबेस उपयोगकर्ता है . हमने उपयोगकर्ता . असाइन किया है 10M की बोली के साथ उस उपयोगकर्ता के लिए डिफ़ॉल्ट टेबलस्पेस।

टेबलस्पेस क्लॉज के साथ यूजर बनाएं

अब, हम मूल Oracle क्रिएट न्यू यूजर स्क्रिप्ट की समीक्षा करते हैं। यह नीचे है:

CREATE USER username
    IDENTIFIED BY password
    DEFAULT TABLESPACE tablespace
    TEMPORARY TABLESPACE tbs_temp_01
    QUOTA {size | UNLIMITED} ON tablespace;

जैसा कि आप देखते हैं, स्क्रिप्ट में कई खंड शामिल हैं जिन्हें हमें ध्यान में रखना चाहिए:

डिफ़ॉल्ट टेबलस्पेस

यह खंड उपयोगकर्ता द्वारा बनाई गई वस्तुओं के लिए डिफ़ॉल्ट टेबलस्पेस निर्दिष्ट करता है। अन्यथा, ऐसी वस्तुओं को डेटाबेस के डिफ़ॉल्ट टेबलस्पेस में संग्रहीत किया जाता है। यदि इस विशेष डेटाबेस के लिए कोई डिफ़ॉल्ट टेबलस्पेस निर्दिष्ट नहीं है, तो ऑब्जेक्ट सिस्टम टेबलस्पेस में आ जाएंगे।

प्रतिबंध:स्थानीय रूप से प्रबंधित अस्थायी टेबलस्पेस (जैसे पूर्ववत टेबलस्पेस या डिक्शनरी-प्रबंधित अस्थायी टेबलस्पेस) निर्दिष्ट न करें ताकि ओरेकल उपयोगकर्ता डिफ़ॉल्ट टेबलस्पेस बना सके।

अस्थायी टेबलस्पेस

यह खंड उपयोगकर्ता के अस्थायी खंडों को समाहित करने के लिए टेबलस्पेस/टेबलस्पेस समूह को निर्दिष्ट करता है। इसके बिना, उन उपयोगकर्ताओं के अस्थायी खंड सिस्टम टेबलस्पेस के डेटाबेस के डिफ़ॉल्ट अस्थायी टेबलस्पेस में संग्रहीत होते हैं। जब आप स्क्रिप्ट में टेबलस्पेस_ग्रुप_नाम मान सहित टेबलस्पेस समूह निर्दिष्ट करते हैं, तो उपयोगकर्ताओं के अस्थायी खंड उस समूह के किसी भी टेबलस्पेस में सहेजे जा सकते हैं।

नोट :
अस्थायी टेबल स्पेस को मानक ब्लॉक आकार के साथ निर्दिष्ट करना सुनिश्चित करें। यह पूर्ववत तालिका स्थान या स्वचालित खंड-स्थान प्रबंधन के साथ तालिका स्थान नहीं हो सकता।

कोटा

यह क्लॉज निर्दिष्ट करता है कि यह उपयोगकर्ता टेबलस्पेस में कितनी जगह आवंटित कर सकता है। एकाधिक QUOTA एक Oracle में खंड CREATE USER यदि आपको कई टेबलस्पेस निर्दिष्ट करने की आवश्यकता है तो कमांड मौजूद हो सकता है।
खंड में UNLIMITED शामिल हो सकते हैं परिभाषा इस निश्चित उपयोगकर्ता को बिना सीमा के, जितना आवश्यक हो, टेबलस्पेस आवंटित करने की अनुमति देती है।

प्रतिबंध :QUOTA क्लॉज अस्थायी टेबलस्पेस पर लागू नहीं होता है।

उपयोगकर्ता गुण बनाएं

अतिरिक्त, वैकल्पिक Oracle CREATE USER . हैं विशेषताएँ जिन्हें आप सिंटैक्स में शामिल कर सकते हैं। निम्न उदाहरण पर एक नज़र डालें:

CREATE USER username
    IDENTIFIED BY password
    [DEFAULT TABLESPACE tablespace]
    [QUOTA {size | UNLIMITED} ON tablespace]
    [PROFILE profile]
    [PASSWORD EXPIRE]
    [ACCOUNT {LOCK | UNLOCK}];

आइए हम इन वैकल्पिक खंडों की समीक्षा करें।

प्रोफ़ाइल

यह वैकल्पिक खंड आपको इस विशिष्ट उपयोगकर्ता के लिए डेटाबेस संसाधनों को एक बार में सीमित करने देता है जब विशेष प्रोफ़ाइल में सीमाएं परिभाषित की जाती हैं। इस खंड के बिना, एक नया उपयोगकर्ता स्वचालित रूप से डिफ़ॉल्ट प्रोफ़ाइल के अंतर्गत आता है।

पासवर्ड की समय सीमा समाप्त

क्लॉज वैकल्पिक है, लेकिन कई डेटाबेस प्रशासक इसे अधिक प्रभावी सुरक्षा के लिए सेट करते हैं। यदि शामिल किया जाता है, तो यह खंड उपयोगकर्ता की ओर से पासवर्ड के जबरन परिवर्तन का निर्धारण करेगा। आमतौर पर, ऐसा तब होता है जब उपयोगकर्ता पहली बार डेटाबेस में लॉग इन करने का प्रयास करता है।

खाता लॉक/खाता अनलॉक

आप इनमें से किसी एक उपवाक्य का प्रयोग कर सकते हैं। LOCK के साथ लागू होने पर, Oracle उपयोगकर्ता खाता बनाता है, लेकिन उस खाते की डेटाबेस तक पहुंच नहीं होगी। यदि आप UNLOCK लागू करते हैं खंड या इन दो खंडों में से कोई भी निर्दिष्ट न करें, खाता एक ही बार में उपयोग करने योग्य होगा। अनलॉक की गई स्थिति डिफ़ॉल्ट है।

CREATE USER इन अतिरिक्त मापदंडों के साथ विवरण इस प्रकार होगा:

CREATE USER visitor
    IDENTIFIED BY migzw23ter
    DEFAULT TABLESPACE tbs_new_10
    QUOTA 50M ON tbs_new_10
    TEMPORARY TABLESPACE tbs_temp_10
    QUOTA 5M ON system 
    PROFILE qualified_user
    PASSWORD EXPIRE;
ACCOUNT UNLOCK	

यहां, स्टेटमेंट विज़िटर . नामक एक नया Oracle डेटाबेस उपयोगकर्ता बनाता है , पासवर्ड के साथ migzw23ter . इस उपयोगकर्ता को डिफ़ॉल्ट तालिका स्थान दिया गया है tbs_new_10 50Mb के कोटा के साथ। इस उपयोगकर्ता को अस्थायी टेबलस्पेस tbs_temp_10 . का उपयोग करने की भी अनुमति है ।

उपयोगकर्ता को भूमिका प्रदान करें

पहला कदम एक उपयोगकर्ता का निर्माण है। अगला उपयोगकर्ता के अधिकारों को निर्धारित करना है। एक नए बनाए गए उपयोगकर्ता को डेटाबेस से कनेक्ट करने के लिए भी कुछ भी करने की अनुमति नहीं है।

Oracle डेटाबेस के साथ काम करना अनिवार्य रूप से डेटाबेस उपयोगकर्ता बनाने का कार्य शामिल है। ऐसे सिस्टम उपयोगकर्ता खाते हैं जो Oracle स्वयं बनाता है - hr , ओई , sys , आदि। इन खातों में अधिकारों और सीमाओं के साथ पूर्वनिर्धारित कॉन्फ़िगरेशन हैं। हालांकि, दैनिक कार्य के लिए हमेशा अन्य उपयोगकर्ताओं की आवश्यकता होगी।

DBA के कर्तव्यों में से एक अतिरिक्त डेटाबेस उपयोगकर्ता बनाना है। कार्य में उपयोगकर्ता खातों को कॉन्फ़िगर करना, विशेषाधिकार निर्धारित करना और व्यावसायिक लक्ष्यों के अनुसार उपयोगकर्ताओं को प्रबंधित करना शामिल है।

Oracle में अनुमति देना

GRANT . का उपयोग करके कमांड, आप उपयोगकर्ताओं को कुछ विशेषाधिकार प्रदान कर सकते हैं और अपनी आवश्यकताओं के अनुसार उनकी भूमिकाओं को कॉन्फ़िगर कर सकते हैं। Oracle में, आप दूसरों को अपनी अनुमति दे सकते हैं ताकि वे आपके डेटाबेस में डेटा में हेरफेर और प्रबंधन कर सकें। GRANT कई संभावित विकल्पों के साथ एक बहुत शक्तिशाली कथन है, लेकिन पूरे डेटाबेस में उपयोगकर्ताओं और भूमिकाओं दोनों के विशेषाधिकारों का प्रबंधन करना मुख्य कार्यक्षमता है।

GRANT कमांड सिंटेक्स

उपयोगकर्ता को कुछ विशेषाधिकार प्रदान करने के लिए क्वेरी का मूल सिंटैक्स निम्नलिखित है:

GRANT <permission> to <user>;

Oracle उपयोगकर्ता विशेषाधिकार

GRANT कमांड उपयोगकर्ताओं को डेटाबेस ऑब्जेक्ट बनाने, बदलने, छोड़ने और प्रबंधित करने के विशेषाधिकार दे सकता है। उदाहरण के लिए, टेबल स्पेस बनाने और डेटाबेस में किसी भी टेबल की पंक्तियों को हटाने के विशेषाधिकार सिस्टम विशेषाधिकार हैं।

Oracle में 100 से अधिक सिस्टम विशेषाधिकार हैं जो SYSTEM_PRIVILEGE_MAP तालिका में पाए जा सकते हैं।

क्लस्टर कोई भी बनाएं/बनाएं/कोई भी बदलें/कोई भी क्लस्टर छोड़ें
डेटाबेस डेटाबेस बदलें, सिस्टम बदलें, ऑडिट सिस्टम
इंडेक्स कोई भी बनाएं/बदलें/कोई भी इंडेक्स छोड़ें
प्रोफाइल प्रोफ़ाइल बनाएं/बदलें/छोड़ें
भूमिका कोई भी बनाएं/बदलें/कोई भी छोड़ें/अनुदान दें (निरस्त करने की अनुमति देता है)
रोलबैक सेगमेंट रोलबैक सेगमेंट बनाएं/बदलें/छोड़ें
उपयोगकर्ता उपयोगकर्ता बनाएं/बदलें/बनें/छोड़ें
देखें कोई भी दृश्य बनाएं/बनाएं/कोई भी दृश्य छोड़ें
समानार्थी कोई भी बनाएं/बनाएं/सार्वजनिक बनाएं/कोई भी छोड़ें/सार्वजनिक पर्यायवाची छोड़ें
सत्र सत्र बनाएं/बदलें/प्रतिबंधित करें, संसाधन लागत बदलें
टेबल कोई भी बनाएं/बनाएं/कोई भी बदलें/कोई भी छोड़ें/कोई भी चुनें/कोई भी डालें/कोई भी अपडेट करें/कोई भी हटाएं/किसी भी तालिका को लॉक करें
टेबलस्पेस टेबलस्पेस बनाएं/बदलें/छोड़ें/प्रबंधित करें

आमतौर पर, डेटाबेस का व्यवस्थापक उपयोगकर्ताओं को विशेषाधिकार प्रदान करता है। हालाँकि, ऐसे मामले हैं जब व्यवस्थापक को अपने Oracle उपयोगकर्ता विशेषाधिकारों को स्थानांतरित करने की आवश्यकता होती है। यह तब होता है जब डीबीए विशेषाधिकार आते हैं। यदि किसी डीबीए को किसी अन्य व्यक्ति को सिस्टम विशेषाधिकार प्रदान करने की आवश्यकता है, तो इसे व्यवस्थापक विकल्प के साथ करना होगा:

GRANT create session TO user;
GRANT create session TO user with admin option;
Revoke create session from user;

Oracle सिस्टम विशेषाधिकारों के अलावा, डेटाबेस ऑब्जेक्ट पर ऑब्जेक्ट विशेषाधिकार दिए जाते हैं:टेबल, दृश्य, प्रक्रियाएं, और इसी तरह।

Oracle उपयोगकर्ता को सभी विशेषाधिकार कैसे बनाएं और प्रदान करें

सबसे पहले, हमें अपने उपयोगकर्ताओं को डेटाबेस में लॉग इन करने के लिए सिस्टम विशेषाधिकार प्रदान करने की आवश्यकता है। उसके लिए हम निम्नलिखित कथन का उपयोग करते हैं:

GRANT CREATE SESSION to visitor;

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

आप अन्य विशेषाधिकारों को एक-एक करके, प्रत्येक को एक अलग कथन द्वारा लागू कर सकते हैं। या, इन अनुमतियों को एक में जोड़ना संभव है, जैसा कि नीचे दिखाया गया है:

GRANT CREATE VIEW, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER to visitor;

यदि इस निश्चित उपयोगकर्ता को तालिकाओं, प्रक्रियाओं, ट्रिगर्स आदि को बदलने की अनुमति है, तो प्रत्येक मामले के लिए आवश्यक विशेषाधिकार सेट करने का सिंटैक्स नीचे है। फिर से, उपयोगकर्ता को किसी भी तत्व को बदलने की अनुमति देते समय बहुत सावधान रहें, क्योंकि यह अनुमति वैश्विक है।

GRANT ALTER ANY TABLE to visitor;
GRANT ALTER ANY PROCEDURE to visitor;
GRANT ALTER ANY TRIGGER to visitor;

उपयोगकर्ता को तत्वों को हटाने की अनुमति देने के लिए, हम निम्नलिखित कथनों का उपयोग करते हैं:

GRANT DELETE ANY TABLE to visitor;
GRANT DROP ANY PROCEDURE to visitor;
GRANT DROP ANY TRIGGER to visitor;
GRANT DROP ANY VIEW to visitor;

Oracle में उपयोगकर्ता को तालिका विशेषाधिकार कैसे प्रदान करें

इससे पहले कि आप विशेष उपयोगकर्ता को विशेषाधिकार सेट करें, आपको यह विचार करना चाहिए कि उस व्यक्ति को डेटाबेस में कौन से कार्य करने चाहिए। सबसे आम परिदृश्यों में टेबल, विचार, प्रक्रियाएं, ट्रिगर बनाना शामिल है। कुछ मामलों में उन तत्वों को बदलने या हटाने की संभावना की आवश्यकता होती है। स्थिति के आधार पर, व्यवस्थापक परिभाषित करता है कि कौन-सा सिस्टम विशेषाधिकार प्रदान करना है।

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

GRANT CREATE TABLE to visitor;

Oracle उपयोगकर्ता बनाएं और Oracle के लिए dbForge Studio के साथ आसानी से अनुमतियां दें

यदि आप दैनिक आधार पर Oracle डेटाबेस के साथ काम कर रहे हैं और एक सुविधाजनक ऑल-इन-वन शक्तिशाली IDE की तलाश कर रहे हैं, तो आपकी खोज यहाँ समाप्त होती है। Oracle के लिए dbForge Studio डेवलपर्स को PL/SQL कोडिंग को गति देने में मदद करता है, इन-डेटाबेस और बाहरी डेटा के प्रबंधन के लिए बहुमुखी डेटा संपादन उपकरण प्रदान करता है।

इस लेख में, हम एक Oracle उपयोगकर्ता बनाएंगे और इस बहुउद्देश्यीय स्क्रिप्ट का उपयोग करके DBA विशेषाधिकार प्रदान करेंगे:

DECLARE
 schema_name VARCHAR2(255):='username1'; -- Insert your username instead of 'username1'
 row_count NUMBER;
BEGIN
 FOR r IN (SELECT sid,serial# FROM v$session WHERE username = schema_name)
 LOOP
   EXECUTE IMMEDIATE 'ALTER SYSTEM DISCONNECT SESSION ''' || r.sid || ',' || r.serial# || ''''||' IMMEDIATE';
   EXECUTE IMMEDIATE 'ALTER SYSTEM KILL SESSION ''' || r.sid || ',' || r.serial# || '''';
 END LOOP;

 SELECT count(*) INTO row_count FROM dba_users WHERE username = schema_name;
 IF row_count > 0 THEN
   EXECUTE IMMEDIATE 'DROP USER '||schema_name||' CASCADE';
 END IF;
 EXECUTE IMMEDIATE 'CREATE USER '||schema_name||' IDENTIFIED BY ' || schema_name;
 EXECUTE IMMEDIATE 'GRANT dba TO '|| schema_name;
 EXECUTE IMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA = '||schema_name;
END;
/ 

प्रदान की गई स्क्रिप्ट में हम जो कर रहे हैं, वह है:

  • नया उपयोगकर्ता बनाना
  • नए बनाए गए उपयोगकर्ता को DBA विशेषाधिकार प्रदान करना
  • नए बनाए गए उपयोगकर्ता को वर्तमान सत्र के लिए डिफ़ॉल्ट उपयोगकर्ता के रूप में सेट करना

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

आइए एक विभाग . बनाएं नए उपयोगकर्ता को सूची में प्रदर्शित करने के लिए तालिका। ऐसा करने के लिए, निम्नलिखित स्क्रिप्ट का उपयोग करने के लिए स्वतंत्र महसूस करें:

CREATE TABLE departments (
  department_id NUMBER CONSTRAINT PK_DepID PRIMARY KEY,
  department_name varchar2(255) NOT NULL,
  location_id NUMBER  NOT NULL);

ध्यान रखें कि इस ऑपरेशन के लिए आपको कोई भिन्न SQL दस्तावेज़ खोलने की आवश्यकता नहीं है। Oracle के लिए dbForge Studio आपको केवल आंशिक रूप से कोड निष्पादित करने की अनुमति देता है। बस CREATE TABLE चुनें खंड, राइट-क्लिक करें, और चयन निष्पादित करें choose चुनें ।

यदि आपके पास AutoComit . है सुविधा चालू है, पिछला चरण अंतिम चरण होगा। हालाँकि, यदि यह बंद है, तो आपको परिवर्तन करने की आवश्यकता होगी। फिर, डेटाबेस एक्सप्लोरर को रिफ्रेश करने पर, आपको username1 . दिखाई देगा सूची में।

ऐसे उदाहरण हैं जब पुराने सत्र सर्वर पर चलते रहते हैं। वे नए आदेशों के निष्पादन में हस्तक्षेप कर सकते हैं। उपरोक्त कोड में, सभी पुराने सत्र स्वचालित रूप से सर्वर से स्थित और हटा दिए जाते हैं। यदि आपको अपना वर्तमान सत्र पुनः आरंभ करने की आवश्यकता है, तो आप इनमें से किसी एक प्रश्न का उपयोग करके इसे डिस्कनेक्ट या समाप्त कर सकते हैं:

  • ALTER SYSTEM DISCONNECT SESSION
  • ALTER SYSTEM KILL SESSION

Oracle में उपयोगकर्ता को कैसे हटाएं (ड्रॉप) करें

यदि आपको किसी भी कारण से किसी उपयोगकर्ता को हटाने की आवश्यकता है, तो आपको DROP USER . का उपयोग करना चाहिए निम्नलिखित सिंटैक्स के साथ कमांड:

DROP USER <username>;

हमारे परीक्षण मामले में, हम उपयोगकर्ता को हटा रहे हैं आगंतुक पहले बनाया गया:

DROP USER visitor;

हालांकि, ऐसे कई प्रतिबंध हैं जिन पर आपको उपयोगकर्ता को छोड़ने से पहले ध्यान देने की आवश्यकता है:

  • आप सभी संबंधित वस्तुओं को हटाए बिना उपयोगकर्ताओं को नहीं हटा सकते। इस प्रकार, आपको DROP कमांड पर आगे बढ़ने से पहले इस उपयोगकर्ता द्वारा बनाई गई सभी तालिकाओं, विचारों, प्रक्रियाओं आदि को छोड़ देना चाहिए।
  • आप उन उपयोगकर्ताओं को नहीं हटा सकते जो डेटाबेस से जुड़े हैं। सबसे पहले, आपको उन सभी सत्रों को साफ़ करना होगा जो उपयोगकर्ता के पास थे। उसके बाद, आप उपयोगकर्ता को ही छोड़ सकते हैं।

एक विशेष कमांड है जो उपयोगकर्ता को उसके सभी डेटाबेस ऑब्जेक्ट के साथ एक ही शॉट में छोड़ने की अनुमति देता है:

DROP USER <username> CASCADE;

निष्कर्ष

संक्षेप में, अब आप Oracle SQL CREATE USER . का उपयोग कर सकते हैं नए उपयोगकर्ताओं को जोड़ने, कॉन्फ़िगर करने और उन्हें प्रबंधित करने का आदेश। हमने मैन्युअल प्रदर्शन के लिए उदाहरणों का उपयोग किया। हालाँकि, Oracle डेटाबेस के लिए आधुनिक सॉफ़्टवेयर समाधानों की क्षमताएँ इस कार्य को सरल बना सकती हैं, इसे तेज़ और अधिक सटीक बना सकती हैं। बेझिझक dbForge Studio को एक के साथ आज़माएँ।

उपयोगी लिंक

  • Oracle में एक नया उपयोगकर्ता खाता सेट करना
  • Oracle डेटाबेस व्यवस्थापन उपकरण
  • Oracle में एक डेटाबेस बनाएं
  • Oracle का नाम बदलें तालिका
  • ओरेकल ऑल्टर टेबल


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IPv6 के लिए रेगुलर एक्सप्रेशन (RegEx) IPv4 से अलग है

  2. स्कीमा नाम को छोड़कर अन्य स्कीमा में एक तालिका का संदर्भ लें

  3. Oracle इंटरवल डे टू सेकेंड डेटाटाइप के लिए NHibernate मैपिंग

  4. एक अपवाद प्राप्त करना ORA-00942:तालिका या दृश्य मौजूद नहीं है - किसी मौजूदा तालिका में सम्मिलित करते समय

  5. ओरेकल में साइन () फ़ंक्शन