"ORA-01950: टेबलस्पेस 'सिस्टम' पर कोई विशेषाधिकार नहीं": यह क्या त्रुटि है?


15

पहले मैंने एक उपयोगकर्ता बनाया था:

SQL>create user suhail identified by password
SQL>User created.
SQL>Grant create session,create table to suhail;
SQL>Grant Succeeded.

लेकिन जब मैं लॉगिन करता हूं suhailऔर बनाने की कोशिश करता हूं तो मुझे tableएक त्रुटि मिलती है ORA-01950: no privileges on tablespace 'SYSTEM'। क्या त्रुटि है? क्यों होता है?


SQL> connect suhail
Enter password:
Connected.
SQL> create table suhail_table(name char(10));
create table suhail_table(name char(10))
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'SYSTEM'

मैं Oracle डेटाबेस 11g एक्सप्रेस संस्करण रिलीज़ 11.2.0.2.0 का उपयोग कर रहा हूं

जवाबों:


22

यह त्रुटि कहती है कि उपयोगकर्ता के पास टेबलस्पेस पर कोटा नहीं है SYSTEMजो कि डिफ़ॉल्ट लगातार टेबलस्पेस के रूप में सेट है। आप एक उपयोगकर्ता को इस तरह कोटा आवंटित कर सकते हैं:

sql> alter user scott quota 50m on system;

यहां, 50mइसका मतलब है कि SYSTEMटेबलस्पेस पर उपयोगकर्ता कोटा 50 mebibytes है। आप कोटा भी निर्धारित कर सकते हैंunlimited

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

sql> create smallfile tablespace users datafile '/u01/app/oracle/oradata/ORCL/users.dbf' size 10g;

और फिर इसे डिफ़ॉल्ट डेटाबेस स्थायी टेबलस्पेस के रूप में सेट करें ताकि उपयोगकर्ताओं द्वारा बनाई गई वस्तुएं उस डिफ़ॉल्ट टेबलस्पेस में जाएं:

sql> alter database default tablespace users;

क्या आप कृपया कमांड समझा सकते हैंalter database default tablespace users
सुहैल गुप्ता

1
ओरेकल एक्सई 11 पर, उपयोगकर्ता टेबलस्पेस पहले से मौजूद हैं, इसलिए आपको केवल alter database default tablespace users;और केवलalter user scott quota 50m on system;
एंड्रयू स्पेंसर

2

आपको डेटाबेस में एक नया टेबलस्पेस बनाना होगा क्योंकि SYSTEMटेबलस्पेस एक्सेस के लिए,SYSDBA विशेषाधिकारों की आवश्यकता होती है।

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

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