नवीनतम लेख
घर / मोबाइल ओएस / मैन्युअल रूप से Oracle डेटाबेस बनाएँ। डेटाबेस बनाने के लिए DBCA का उपयोग करना Oracle में डेटाबेस बनाना

मैन्युअल रूप से Oracle डेटाबेस बनाएँ। डेटाबेस बनाने के लिए DBCA का उपयोग करना Oracle में डेटाबेस बनाना

डेटाबेस कॉन्फ़िगरेशन सहायक का उपयोग करके Oracle 12c डेटाबेस बनाना

1. भागो। अपने कीबोर्ड पर विंडोज बटन दबाएं, आपको स्टार्ट स्क्रीन पर ले जाया जाएगा ( शुरुस्क्रीन), स्क्रीन के निचले भाग में एप्लिकेशन स्क्रीन को कॉल करने के लिए एक बटन होता है ( ऐप्सस्क्रीन)। इसे क्लिक करें।

2. स्क्रीन पर ऐप्सआइकन चुनें डेटाबेस कॉन्फ़िगरेशन सहायक.

3. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक - डेटाबेस ऑपरेशन. चुनते हैं एक डेटाबेस बनाएं. क्लिक अगला.

4. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक—निर्माण मोड. चुनते हैं उन्नत मोड. क्लिक अगला.

5. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक - डेटाबेस टेम्पलेट. चुनते हैं कस्टम डेटाबेस. क्लिक अगला.

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

7. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक—प्रबंधन विकल्प. बॉक्स को चेक करें एंटरप्राइज़ मैनेजर (EM) डेटाबेस एक्सप्रेस कॉन्फ़िगर करें. खेत मेँ ईएम डाटाबेस एक्सप्रेसपोर्टपोर्ट नंबर दर्ज करें (डिफ़ॉल्ट पोर्ट नंबर 5500 है - इसे छोड़ दें)। क्लिक अगला.

8. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक - डेटाबेस क्रेडेंशियल. सिस्टम उपयोगकर्ताओं के लिए पासवर्ड सेट करें (इस उदाहरण में, सभी सिस्टम उपयोगकर्ताओं के लिए समान पासवर्ड सेट किया गया है, औद्योगिक डेटाबेस पर ऐसा करना आवश्यक नहीं है)। जाँच सभी के लिए समान प्रशासनिक पासवर्ड का प्रयोग करें हिसाब किताब, पास वर्ड दर्ज करें। के लिए पासवर्ड दर्ज करें Oracle होम यूजर पासवर्ड- Oracle होम का स्वामी, जिसकी ओर से Oracle सेवाएँ लॉन्च की गई हैं (यह उपयोगकर्ता जिसे आप बनाते हैं या निर्दिष्ट करते हैं कि कब Oracle स्थापित करना-)। क्लिक अगला.

9. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक—नेटवर्क कॉन्फ़िगरेशन. एक श्रोता प्रक्रिया चुनें या एक नई प्रक्रिया बनाएं। क्लिक अगला.

10. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक - संग्रहण स्थान. डेटाबेस फ़ाइलों के लिए भंडारण तंत्र निर्दिष्ट करें (इस उदाहरण में, फ़ाइल सिस्टम निर्दिष्ट है)। चुनते हैं फ़ाइलप्रणाली. आधार फ़ाइलों का स्थान निर्दिष्ट करें (इस उदाहरण में, डिफ़ॉल्ट पथ का उपयोग किया जाएगा)। जाँच उपयोगडेटाबेसफ़ाइलस्थानोंसेटेम्पलेट.

डेटाबेस पुनर्प्राप्ति विकल्प निर्दिष्ट करें (इस उदाहरण में, पुनर्प्राप्ति विकल्पों का उपयोग नहीं किया जाता है)। बॉक्स को चेक करें उल्लिखित करनातेज़स्वास्थ्य लाभक्षेत्र. यह डिफ़ॉल्ट फ़ोल्डर है जहाँ RMAN का बैकअप लिया जाता है और फिर से लॉग फ़ाइलों की संग्रहीत प्रतियाँ संग्रहीत की जाती हैं। डिफ़ॉल्ट रूप से, फ़ोल्डर (ORACLE_BASE)\fast_recovery_area पर स्थित होता है। खेत मेँ तेज़स्वास्थ्य लाभक्षेत्रआप इस पथ को बदल सकते हैं और फ़ोल्डर को स्पष्ट रूप से सेट कर सकते हैं आरक्षित प्रति. पैरामीटर में तेज़स्वास्थ्य लाभक्षेत्र आकारइस फ़ोल्डर के आकार पर एक सीमा निर्धारित की गई है (इसे संपूर्ण की मात्रा के बराबर बनाना बेहतर है हार्ड ड्राइव) पैरामीटर सक्षमसंग्रहलॉग फ़ाइलों को संग्रहीत करने के लिए मोड चालू करता है। अगर आप बटन दबाते हैं संपादित करेंपुरालेखतरीकामापदंडोंफिर आप फिर से संग्रह के नामों के लिए टेम्पलेट को बदल सकते हैं, साथ ही साथ संग्रहीत प्रतियों को बहुसंकेतन करने के लिए अतिरिक्त पथ भी बदल सकते हैं। सब कुछ डिफ़ॉल्ट के रूप में छोड़ दें।

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

क्लिक अगला.

11. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक - डेटाबेस विकल्प. आवश्यक आधार घटकों का चयन करें। क्लिक अगला.

12. खिड़की। बुकमार्क याद. आवंटन विधि और स्मृति का आकार निर्धारित करें। चुनते हैं ठेठ. खेत मेँ प्रतिशतमात्रा निर्धारित करें भौतिक स्मृति, जिसे Oracle को आवंटित किया जाएगा। आमतौर पर यह 70-80% . यदि Oracle के अलावा सर्वर पर अन्य संसाधन-गहन प्रक्रियाएं चल रही हैं, तो इससे कम संख्या चुनें 70% .

13. बटन पर क्लिक करें ... विंडो सभी आरंभीकरण पैरामीटर. मानों को ठीक करें (फ़ील्ड मूल्य) निम्नलिखित पैरामीटर:

आवश्यक पैरामीटर (बदलने के लिए आवश्यक!)।

; बड़ी संख्या में सक्रिय उपयोगकर्ताओं के लिए (70-80 से अधिक)।

; वास्तविक उपयोगकर्ताओं की गणना करें,

; नेटवर्क पर कंप्यूटरों की संख्या नहीं।

; यदि 70-80 से कम उपयोगकर्ता हैं, तो इन मापदंडों को स्पर्श न करें।

; यदि 100-200 से अधिक उपयोगकर्ता हैं, तो शायद अधिक कुशलता से

; साझा सर्वर मोड का उपयोग करें।

प्रक्रियाएं = उपयोगकर्ताओं की संख्या*2

सत्र = 1.1*प्रक्रियाएं +5

क्लिक बंद करना. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक - आरंभीकरण पैरामीटर.

14. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक - आरंभीकरण पैरामीटर. बुकमार्क आकार. डेटाबेस ब्लॉक के आकार का चयन करें। डेटाबेस ब्लॉक का आकार कम से कम होना चाहिए 8Kb. यदि सर्वर में एक अच्छा डिस्क सबसिस्टम है ( एससीएसआईडिस्क या छापा) चुन सकते हैं 16केबीऔर उच्चतर (ब्लॉक आकार से अधिक 8Kbकेवल बड़े ठिकानों के लिए समझ में आता है)। खेत मेँ ब्लॉक का आकारवांछित मान दर्ज करें ( 8192 या 16384 ).

15. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक - आरंभीकरण पैरामीटर. बुकमार्क चरित्रसेट. डेटाबेस के लिए एन्कोडिंग का चयन करें। एन्कोडिंग होना चाहिए CL8MSWIN1251. डिफ़ॉल्ट रूप से चयनित डिफ़ॉल्ट का उपयोग करें. यदि सही एन्कोडिंग निर्दिष्ट है, तो कुछ भी बदलने की आवश्यकता नहीं है। यदि निर्दिष्ट एन्कोडिंग सही नहीं है। इस मामले में, चुनें वर्ण सेट की सूची में से चुनेंऔर सूची से सही एन्कोडिंग का चयन करें CL8MSWIN1251. खेत मेँ चूक जानाभाषा: हिन्दीड्रॉप-डाउन सूची से मूल्य का चयन करें रूसी» और अगले क्षेत्र में डिफ़ॉल्ट क्षेत्र- अर्थ " रूस».

14. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक - आरंभीकरण पैरामीटर. बुकमार्क संपर्क मोड. चुनते हैं सर्वर मोड समर्पित करें. क्लिक अगला.

15. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक - निर्माण विकल्प. चुनते हैं डेटाबेस बनाएं. क्लिक अगला.

16. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक—सारांश. जांचें कि क्या सेटिंग्स सही हैं। क्लिक ठीक.

17. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक - प्रगति पृष्ठ. डेटाबेस बनाने की प्रक्रिया जारी है। पूरा होने की प्रतीक्षा करें।

18. खिड़की डेटाबेस कॉन्फ़िगरेशन सहायक. डेटाबेस निर्माण पूरा हुआ। डेटाबेस कंट्रोल के लिए वेब एड्रेस को नोट कर लें। क्लिक बंद करना.

19. डेटाबेस बनाया जा चुका है और पहले से ही चल रहा है। अन्य ORACLE_HOME से किसी डेटाबेस से कनेक्ट करने के लिए, आपको उनके लिए Oracle नेटवर्क वातावरण सेट करना होगा।

20. डेटाबेस बनाने के बाद, आप डेटाबेस के लिए कुछ सेटिंग्स बदल सकते हैं। ऐसा करने के लिए, आपको SYS के तहत sqlplus (या TOAD) में कुछ sql कमांड निष्पादित करने और डेटाबेस को पुनरारंभ करने की आवश्यकता है।

एसक्लप्लस/नोलॉग चलाएं।

सी:\> sqlplus /nolog

डेटाबेस से उपयोगकर्ता sys के रूप में sysdba के रूप में कनेक्ट करें

एसक्यूएल> conn sys/sys as sysdba

डीबी में रीसायकल बिन के उपयोग को अक्षम करें

एसक्यूएल> सिस्टम सेट रिसाइकिलबिन = ऑफ स्कोप = एसपीफाइल बदलें;

पासवर्ड केस संवेदनशीलता अक्षम करें

एसक्यूएल> परिवर्तन प्रणाली सेट sec_case_संवेदनशील_लॉगऑन=गलत दायरा=दोनों;

ORA-29471 के साथ समस्या को ठीक करें: DBMS_SQL एक्सेस अस्वीकृत

एसक्यूएल> सिस्टम सेट बदलें "_dbms_sql_security_level"=384 स्कोप=spfile;

(वैकल्पिक) प्रत्येक 60 दिनों में उपयोगकर्ताओं के लिए पासवर्ड नहीं बदलना

असीमित के बजाय, आप संख्या = दिनों की संख्या डाल सकते हैं

एसक्यूएल> प्रोफ़ाइल बदलें डिफ़ॉल्ट सीमा password_life_time असीमित;

डीबी पुनरारंभ

एसक्यूएल> तत्काल बंद करें

एसक्यूएल> चालू होना

21. क्लाइंट के पुराने संस्करण 8, 9, 10, 11 त्रुटियों के साथ Oracle 12c से कनेक्ट नहीं हो सकते हैं:

ORA-28040: कोई मिलान प्रमाणीकरण प्रोटोकॉल नहीं - प्रपत्र 6i . के लिए

ORA-01031: अपर्याप्त विशेषाधिकार - 11g क्लाइंट के लिए

समस्या को हल करने के लिए, आपको सर्वर पर sqlnet.ora में जोड़ना होगा

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

22. कुछ ओरेकल 10 और 11 क्लाइंट ORA-01031 के साथ क्रैश हो जाते हैं: निष्पादित करने का प्रयास करते समय अपर्याप्त विशेषाधिकार

यू.नाम चुनें
sys. USER$u
जहाँ तुम। प्रकार# = 1
1 . द्वारा आदेश

12c से, कोई भी शब्दकोश चुनें विशेषाधिकार अब सुरक्षा संवेदनशील डेटा डिक्शनरी टेबल DEFAULT_PWD$, ENC$, LINK$, USER$, USER_HISTORY$, और XS$VERIFIERS तक पहुंच की अनुमति नहीं देता है। यह परिवर्तन किसी भी शब्दकोश का चयन करें विशेषाधिकार के माध्यम से डेटा डिक्शनरी टेबल के सबसेट तक पहुंच की अनुमति नहीं देकर डेटाबेस की डिफ़ॉल्ट सुरक्षा को बढ़ाता है।

घुमाव युद्धाभ्यास:

sys. पर अनुदान का चयन करें। सार्वजनिक करने के लिए उपयोगकर्ता $;

मैन्युअल रूप से Oracle डेटाबेस बनाने में कई चरण शामिल होते हैं। उनमें से कुछ पर निर्भर हैं ऑपरेटिंग सिस्टम. उदाहरण के लिए, Windows परिवेश में, डेटाबेस बनाने से पहले, आपको पहले डेटाबेस सेवा बनाने के लिए उपयोग किए जाने वाले oracle प्रोग्राम को चलाना होगा। मैन्युअल रूप से डेटाबेस बनाने के चरण:

  1. डेटाबेस निर्माण स्क्रिप्ट लिखें। ऐसे परिदृश्य का एक उदाहरण चरण 6 में दिया गया है।
  2. एक निर्देशिका संरचना बनाएं जो नए डेटाबेस को होस्ट करेगी। इष्टतम लचीली वास्तुकला बनाने के लिए निर्देशों का पालन करें।
  3. नए डेटाबेस के लिए सेटिंग्स को प्रतिबिंबित करने के लिए Oracle द्वारा अनुरक्षित मौजूदा नमूना init.ora फ़ाइल को संशोधित करें।
  4. Oracle के लिए SID नाम का वर्णन करें। विंडोज प्लेटफॉर्म पर, ऑपरेटिंग सिस्टम प्रॉम्प्ट पर, दर्ज करें: सेट ORACLE_SID = mydb

    यूनिक्स में, दर्ज करें:

    निर्यात ORACLE_SID = mydb

  1. SQL* प्लस के माध्यम से एक डेटाबेस कनेक्शन स्थापित करें सिस्टम / प्रबंधक sysdba . के रूप मेंया कैसे / के रूप में sysdbaऔर डेटाबेस को नोमाउंट मोड में प्रारंभ करने के लिए निम्न कमांड दर्ज करें: स्टार्टअप nomount pfile= D:/oracleadmin/mydbscripts/initMYDB.ora; यहां दिए गए pfile पैरामीटर मानों के स्थान पर अपने आरंभीकरण मापदंडों को प्रतिस्थापित करें।
  2. डेटाबेस शुरू करने के बाद, Oracle डेटाबेस बनाने के लिए आपके द्वारा लिखी गई स्क्रिप्ट का उपयोग करें। यहां एक नमूना है: डेटाबेस बनाएं MYNEW अधिकतम उदाहरण 1 maxloghistory 1 maxlogfiles 5 maxlogmembers 5 maxdatafiles 100 डेटाफ़ाइल d:/oracle/oradata/mydb/system01.dbf आकार 325M अगले 10240K पर स्वत: विस्तार का पुन: उपयोग करें असीमित वर्ण सेट को अधिकतम करें WE8MSWIN1252 राष्ट्रीय वर्ण सेट AL16UTF16 लॉगफ़ाइल समूह 1 (d :/oracle/oradata/mydb/edo01.log) आकार 100M, समूह 2 (d:/oracle/oradata/mydb/edo02.log) आकार 100M, समूह 3 (d:/oracle/oradata/mydb/edo03. लॉग) आकार 100M डिफ़ॉल्ट अस्थायी टेबलस्पेस TEMP tempfile d:/oracle/oradata/mydbemp01.dbf सीमा प्रबंधन स्थानीय वर्दी आकार 1M तालिका स्थान पूर्ववत करें UND0_TS डेटाफ़ाइल d:/oracle/oradata/mydb/emp0.dbf आकार 150M पुन: उपयोग autextend अगले 10240K अधिकतम आकार असीमित ;
  • डेटाबेस बनाने के बाद, कैटलॉग.एसक्यूएल, कैटप्रोक.एसक्यूएल, कैटएक्सपी.एसक्यूएल स्क्रिप्ट और आपके द्वारा इंस्टॉल किए गए उत्पादों का समर्थन करने के लिए आवश्यक कोई भी नई स्क्रिप्ट चलाएँ। UNIX सिस्टम पर, स्क्रिप्ट $ORACLE_HOME\rdbms\admin निर्देशिका में और Windows परिवेश में $ORACLE_HOME/rdbms/admin में स्थित होती हैं। स्क्रिप्ट चलाने से पहले उनकी समीक्षा करें, क्योंकि कई कैटलॉग स्क्रिप्ट अन्य स्क्रिप्ट को कॉल करती हैं।
  • अतिरिक्त सुरक्षा के लिए, डिफ़ॉल्ट MANAGER और CHANGE_ON_INSTALL पासवर्ड को छोड़ने के बजाय, SYS और SYSTEM के लिए कम से कम कुछ अन्य पासवर्ड दर्ज करें। चरण 6 में नमूना स्क्रिप्ट एक UNDO टेबलस्पेस बनाता है। इसके लिए इनिशियलाइज़ेशन विकल्प हैं: undo_management=AUTO undo_tablespce=UNDOTBS डेटाबेस बनने के बाद आप केवल एक ही विकल्प नहीं बदल सकते हैं, वह है डेटाबेस ब्लॉक साइज़, जिसका वर्णन आपने init.ora फ़ाइल के बनने से पहले किया था। इस मान को सेट करने के लिए DB_BLOCK_SIZE पैरामीटर का उपयोग किया जाता है। उदाहरण के लिए, निम्न पंक्ति डिफ़ॉल्ट डेटाबेस ब्लॉक आकार को 8 KB पर सेट करती है। DB_BL0CK_SIZE=8k अपने डेटाबेस में प्रभावी पैरामीटर देखने के लिए, V$PARAMETER डायनेमिक लुकअप का अनुरोध करें: V$PARAMETER से नाम, मान, IsDefault चुनें;

लैब #1

Oracle डेटाबेस 11g एक्सप्रेस संस्करण डेटाबेस। SQL क्वेरी डिज़ाइन करना

उद्देश्य

Oracle डाटाबेस 11g एक्सप्रेस संस्करण के यूजर इंटरफेस (DB) का अध्ययन करना और SQL प्रश्नों का निर्माण करना।

कार्य

Oracle डेटाबेस 11g एक्सप्रेस संस्करण के लिए एक डेटाबेस कनेक्शन बनाना। एचआर स्कीमा ऑब्जेक्ट्स की खोज करना और डेटा मॉडल संकलित करना। क्वेरी संपादक और क्वेरी बिल्डर मोड में डेटा का चयन करने के लिए SQL क्वेरीज़ डिज़ाइन करना।


सैद्धांतिक भाग

3.1. सामान्य जानकारीडीबी . के बारे में

Oracle डेटाबेस 11g एक्सप्रेस संस्करण (Oracle Database XE) दुनिया के सबसे शक्तिशाली रिलेशनल डेटाबेस का एक मुफ़्त (मुक्त) संस्करण है। यह स्थापना के लिए आदर्श है शिक्षण संस्थानोंछात्रों को पढ़ाने के उद्देश्य से आधुनिक तरीके Oracle रिलेशनल डेटाबेस के साथ काम करना और उपयोगकर्ता डेटा प्रदर्शित करने और डेटा में हेरफेर करने के लिए एप्लिकेशन विकसित करना।

Oracle डेटाबेस XE को स्थापित करना आसान है और प्रबंधन में आसान है। आप आधिकारिक Oracle वेबसाइट http://www पर विभिन्न प्लेटफार्मों के लिए इंस्टॉलेशन फाइल डाउनलोड कर सकते हैं। /technetwork/डेटाबेस/डेटाबेस-तकनीक/एक्सप्रेस-संस्करण/डाउनलोड/index. एचटीएमएल.

Oracle डेटाबेस XE को किसी भी संख्या में प्रोसेसर (प्रति कंप्यूटर एक डेटाबेस) के साथ कंप्यूटर (होस्ट मशीन) पर स्थापित किया जा सकता है, लेकिन Oracle डेटाबेस XE केवल 11 GB तक उपयोगकर्ता डेटा संग्रहीत करेगा, 1 GB मेमोरी का उपयोग करेगा, और उपयोग करेगा प्रति होस्ट-कार केवल एक प्रोसेसर।

Oracle डेटाबेस 11g एक्सप्रेस संस्करण एक रिलेशनल डेटाबेस है जो संबंधित जानकारी के संग्रह को संग्रहीत और पुनर्प्राप्त करता है। एक रिलेशनल डेटाबेस में, सूचना भंडारण वस्तुओं को तालिकाओं नामक संरचनाओं में व्यवस्थित किया जाता है। प्रत्येक तालिका में पंक्तियाँ (रिकॉर्ड) होती हैं जो स्तंभों (फ़ील्ड) से बनी होती हैं। डेटाबेस में टेबल्स को स्कीमा नामक संरचनाओं में संग्रहीत किया जाता है। स्कीमा तार्किक डेटा संरचनाएं हैं जिसमें डेटाबेस उपयोगकर्ता अपनी तालिकाओं और अन्य वस्तुओं को संग्रहीत करते हैं।


Oracle डेटाबेस XE को डेटाबेस होम पेज का उपयोग करके एक्सेस किया जाता है, जिसमें एक सहज ग्राफिकल इंटरफ़ेस है। होम पेज तक पहुंच वेब सेवा के आधार पर व्यवस्थित की जाती है। होम पेज उपयोगकर्ता को डेटाबेस प्रशासन के लिए वेब टूल प्रदान करता है, टेबल, दृश्य और अन्य स्कीमा ऑब्जेक्ट बनाता है, आयात, निर्यात, देखने, तालिका डेटा संपादित करता है। ये उपकरण आपको SQL क्वेरी और SQL स्क्रिप्ट चलाने, PL/SQL प्रोग्राम बनाने और डीबग करने, डेटाबेस एप्लिकेशन विकसित करने और रिपोर्ट तैयार करने की अनुमति देते हैं।

Oracle डेटाबेस XE में एक एम्बेडेड HR (मानव संसाधन) स्कीमा है, जो एक लिंक्ड टेबल स्कीमा का एक उदाहरण है। एचआर स्कीमा में कर्मचारियों और विभागों के बारे में काल्पनिक जानकारी संग्रहीत करने के लिए टेबल हैं। तालिकाओं में सामान्य स्तंभ होते हैं जो एक तालिका के डेटा को अन्य तालिकाओं के डेटा से संबंधित होने की अनुमति देते हैं। HR स्कीमा HR नाम के उपयोगकर्ता के स्वामित्व में है।

3.2. Oracle डाटाबेस XE तक पहुंचना

उपयोगकर्ता Oracle डाटाबेस 11g एक्सप्रेस संस्करण के माध्यम से एक्सेस करते हैं हेतुडेटाबेस उपयोगकर्ता। डेटाबेस स्थापित करते समय, SYS और सिस्टम उपयोगकर्ता खाते स्वचालित रूप से बनाए जाते हैं - ये डेटाबेस प्रशासन विशेषाधिकार वाले उपयोगकर्ता हैं। एक एचआर उपयोगकर्ता खाता जिसमें प्रशासनिक विशेषाधिकार नहीं हैं, वह भी स्वचालित रूप से बनाया जाता है।

हालाँकि, सुरक्षा कारणों से, HR उपयोगकर्ता खाता लॉक कर दिया गया है। इससे पहले कि आप HR स्कीमा ऑब्जेक्ट के साथ काम करना शुरू करें, आपको इस खाते को अनलॉक करना होगा। ऐसा करने के लिए आप SQL*Plus कमांड लाइन का उपयोग कर सकते हैं।


का उपयोग कर एक उपयोगकर्ता खाते को अनलॉक करने के लिए कमांड लाइनएसक्यूएल * प्लस, आपको चाहिए:

प्रारंभ बटन -> सभी प्रोग्राम -> Oracle डेटाबेस 11g एक्सप्रेस संस्करण -> SQL कमांड लाइन चलाएँ। सिस्टम उपयोगकर्ता के रूप में कनेक्ट करें:

    कनेक्ट टाइप करें कनेक्ट करने के लिए एक नाम दर्ज करें: सिस्टम पासवर्ड दर्ज करें:<пароль-для-SYSTEM >
एक सफल कनेक्शन (संदेश कनेक्टेड) ​​के बाद, निम्न SQL कथन दर्ज करें:

एसक्यूएल> उपयोगकर्ता एचआर खाता अनलॉक बदलें;

निम्नलिखित SQL कथन का उपयोग करके उपयोगकर्ता HR के लिए पासवर्ड दर्ज करें:

SQL> ALTER User HR को HR द्वारा पहचाना जाता है;

संपादक से बाहर निकलने के लिए, SQL कथन दर्ज करें:

SQL*Plus कमांड लाइन एडिटर विंडो को चित्र 1 में दिखाया गया है। 1.1.

चावल। 1.1. एसक्यूएल * प्लस कमांड लाइन संपादक विंडो

Oracle डेटाबेस XE डेटाबेस से कनेक्ट करना होम पेज के माध्यम से होता है, जो विभिन्न डेटाबेस प्रशासन कार्यों को करने के लिए एक ब्राउज़र-आधारित वेब इंटरफ़ेस है, जिसमें निम्नलिखित शामिल हैं:

    भंडारण आधार निगरानी (भंडारण); डेटाबेस सत्रों की निगरानी (सत्र); डेटाबेस आरंभीकरण पैरामीटर देखें (पैरामीटर); Oracle एप्लिकेशन एक्सप्रेस (एप्लिकेशन एक्सप्रेस) के साथ शुरुआत करना।

होम पेज एक्सेस: स्टार्ट बटन -> सभी प्रोग्राम -> ओरेकल डाटाबेस 11 जी एक्सप्रेस संस्करण -> प्रारंभ करें।

Oracle डेटाबेस XE होम पेज वेब ब्राउज़र विंडो में दिखाई देता है (चित्र 1.2)।

चावल। 1.2. Oracle डाटाबेस XE होम पेज

एप्लिकेशन एक्सप्रेस बटन पर क्लिक करें। जब लॉगिन जानकारी के लिए कहा जाए, तो दर्ज करें: उपयोगकर्ता नाम - सिस्टम, पासवर्ड -<пароль-для-SYSTEM >, जैसा कि SQL*Plus कमांड लाइन संपादक में है। लॉग इन बटन पर क्लिक करें (चित्र 1.3)।


चावल। 1.3. उपयोगकर्ता को डेटाबेस व्यवस्थापक भूमिका के साथ Oracle डेटाबेस XE से जोड़ना

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

चावल। 1.4. Oracle अनुप्रयोग एक्सप्रेस कार्यक्षेत्र बनाना

एप्लिकेशन एक्सप्रेस उपयोगकर्ता नाम कार्यक्षेत्र का नाम है। आप या तो उपयोगकर्ता नाम (एचआर) या किसी अन्य (उदाहरण के लिए, hr_apex) का उपयोग कर सकते हैं। पासवर्ड की पुष्टि करें। कार्यक्षेत्र बनाएँ पर क्लिक करें। अगले पृष्ठ पर, कार्यक्षेत्र में प्रवेश करने के लिए यहां क्लिक करें। पहली बार जब आप कार्यस्थान तक पहुँचने का प्रयास करते हैं, तो आपको कार्यस्थान के लिए पासवर्ड रीसेट करने के लिए कहा जाएगा (आप एक ही पासवर्ड या किसी भिन्न का उपयोग कर सकते हैं)।

Oracle एप्लिकेशन एक्सप्रेस कार्यक्षेत्र बनाना केवल एक बार करने की आवश्यकता है। अगले डेटाबेस कनेक्शन के लिए, पहले से ही खाते में हैं? यहां लॉगिन करें। कार्यक्षेत्र में प्रवेश करने के लिए, Oracle एप्लिकेशन एक्सप्रेस के लिए एक फॉर्म दिखाया जाएगा, अंजीर। 1.5.

सिस्टम उपयोगकर्ता के प्राधिकरण के चरणों को छोड़ने और प्रपत्र अंजीर में संक्रमण के लिए। 1.5, इस फ़ॉर्म के URL को कॉपी और सेव करें (उदाहरण के लिए, http://127.0.0.1:8080/apex/f?p=4550:1:494885012264286) और इसे वेब ब्राउज़र में सीधे प्राधिकरण के साथ काम करना शुरू करने के लिए उपयोग करें प्रपत्र।


Oracle एप्लिकेशन एक्सप्रेस कार्यक्षेत्र में लॉग इन करने के बाद, होम पेज खुलता है, जिस पर मुख्य नियंत्रण स्थित होते हैं - एप्लिकेशन बिल्डर, SQL वर्कशॉप, टीम डेवलपमेंट, एडमिनिस्ट्रेशन आइकन (चित्र। 1.6)।

चित्र 1.6। Oracle अनुप्रयोग एक्सप्रेस कार्यक्षेत्र मुख पृष्ठ नियंत्रण चिह्न

आइकन की छवि पर क्लिक करने से अनुमत संचालन के आइकन वाले नए पृष्ठ पर संक्रमण हो जाता है। SQL वर्कशॉप आइकन पर क्लिक करने से आप डेटाबेस ऑब्जेक्ट्स (ऑब्जेक्ट ब्राउजर, यूटिलिटीज) को एक्सप्लोर करने और इसके साथ काम करने के लिए टूल्स एक्सेस कर सकते हैं। एसक्यूएल प्रश्नकमांड, एसक्यूएल स्क्रिप्ट, क्वेरी बिल्डर (चित्र। 1.7)।

चावल। 1.7. डेटाबेस ऑब्जेक्ट की खोज करने और SQL क्वेरी के साथ काम करने के लिए उपकरण

3.3. SQL के साथ डेटा एक्सेस करना

SQL डेटाबेस एक्सेस के लिए एक गैर-प्रक्रियात्मक भाषा है। SQL कथन विभिन्न कार्यों को करने के लिए डिज़ाइन किए गए हैं, जैसे Oracle डेटाबेस XE में तालिकाओं से डेटा पुनर्प्राप्त करना। सभी डेटाबेस ऑपरेशन SQL स्टेटमेंट का उपयोग करके किए जाते हैं। आप SQL कथनों का उपयोग करके निम्नलिखित कार्य कर सकते हैं:

    तालिकाओं में डेटा को क्वेरी करना, सम्मिलित करना और अद्यतन करना; डेटा को स्वरूपित करना, डेटा के आधार पर गणना करना, क्वेरी परिणामों को संग्रहीत करना और प्रिंट करना; तालिकाओं की संरचना का अध्ययन करना और डेटाबेस वस्तुओं को परिभाषित करना।

डेटा फ़ेच क्वेरी बनाना

सभी टेबल रिकॉर्ड्स को चुनने के लिए सेलेक्ट स्टेटमेंट सिंटैक्स


आप एक सीमांकक के रूप में स्थान का उपयोग करके, चयन सूची में स्तंभ नाम के बाद एक उपनाम निर्दिष्ट कर सकते हैं। यदि उपनाम में रिक्त स्थान या विशेष वर्ण हैं जैसे संख्या चिह्न # या डॉलर चिह्न $, या यदि यह मामला संवेदनशील है, तो उपनाम को उद्धरण चिह्नों में संलग्न करें ""। उदाहरण:

कर्मचारी_आईडी "कर्मचारी आईडी नंबर" चुनें,

last_name "कर्मचारी अंतिम नाम",

first_name "कर्मचारी का पहला नाम"

पंक्ति नमूनाकरण सीमा

आप SQL कथन में WHERE क्लॉज का उपयोग करके डेटाबेस से पुनर्प्राप्त की जाने वाली पंक्तियों की संख्या को सीमित कर सकते हैं। WHERE क्लॉज जोड़कर, आप एक शर्त निर्दिष्ट कर सकते हैं जिसे पूरा किया जाना चाहिए, और केवल उन पंक्तियों को लौटाया जाएगा जो शर्त से मेल खाते हैं।

WHERE क्लॉज का उपयोग करते समय:

    WHERE क्लॉज तुरंत SQL स्टेटमेंट सिंटैक्स में FROM क्लॉज का अनुसरण करता है; WHERE क्लॉज में WHERE कीवर्ड और एक शर्त (या कई शर्तें) शामिल हैं; WHERE क्लॉज की स्थिति उन मानों की तुलना निर्दिष्ट करती है जो क्वेरी द्वारा लौटाई गई पंक्तियों की संख्या को सीमित करती हैं।

तालिकाओं को मिलाना

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


उदाहरण के लिए, कर्मचारी तालिका में, DEPARTMENT_ID कॉलम कर्मचारी की विभाग संख्या को दर्शाता है। DEPARTMENTS तालिका में एक DEPARTMENT_ID कॉलम के साथ-साथ एक DEPARTMENT_NAME कॉलम भी होता है। आप DEPARTMENT_ID कॉलम का उपयोग करके EMPLOYEES और DEPARTMENTS तालिकाओं के डेटा को जोड़ सकते हैं और एक रिपोर्ट तैयार कर सकते हैं जो कर्मचारी के नाम और विभाग के नाम दिखाएगी।

आंतरिक तालिका जुड़ती है

एक सामान्य फ़ील्ड या सामान्य फ़ील्ड के संयोजन के आधार पर एक आंतरिक जुड़ाव संबंधित तालिकाओं के स्तंभों में शामिल होता है। इस जुड़ाव के साथ, परिणाम सेट में ऐसी किसी भी तालिका की पंक्तियाँ शामिल नहीं होती हैं जिनका किसी अन्य तालिका में मिलान नहीं होता है। इनर जॉइन में, जॉइन कंडीशन को सख्ती से देखा जाना चाहिए।

प्राकृतिक संघ

एक प्राकृतिक जुड़ाव आपको दो तालिकाओं से डेटा प्रदर्शित करने की अनुमति देता है जब एक तालिका में एक कॉलम का मान दूसरी तालिका में दूसरे कॉलम के मान से सीधे मेल खाता है। यदि दो तालिकाओं में एक या एक से अधिक कॉलम होते हैं जिनमें समान नाम और डेटा प्रकार होते हैं, तो एक प्राकृतिक जुड़ाव उन दो तालिकाओं से सभी पंक्तियों को लौटाता है जिनका सभी मिलान स्तंभों में समान मान होता है। अक्सर इस प्रकार के जुड़ाव में प्राथमिक कुंजी और विदेशी कुंजी कॉलम शामिल होते हैं।

वाक्य - विन्यास

उदाहरण:

कर्मचारी_आईडी चुनें, अंतिम_नाम, प्रथम_नाम, विभाग_आईडी,

विभाग_नाम, प्रबंधक_आईडी

कर्मचारियों से प्राकृतिक विभागों में शामिल हों

USING कथन के साथ दो तालिकाओं को जोड़ना

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


वाक्य - विन्यास


स्तंभ पहचान के साथ तालिकाओं में शामिल हों। बयान पर

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

वाक्य - विन्यास

कर्मचारियों से जॉब_इतिहास में शामिल हों

अतिरिक्त शामिल होने की शर्तें लागू करना

दो तालिकाओं से डेटा को संयोजित करना अक्सर आवश्यक होता है ताकि कुछ अतिरिक्त शर्तें पूरी हों। उदाहरण के लिए, मान लें कि आप केवल उस कर्मचारी के लिए कर्मचारी और विभाग तालिका में शामिल होने का परिणाम दिखाना चाहते हैं, जिसकी आईडी 149 है। ON ऑपरेटर में और शर्तें जोड़ने के लिए, आप AND ऑपरेटर जोड़ सकते हैं। आप तालिका पंक्तियों को पूर्व-चयनित करने के लिए अतिरिक्त शर्तें लागू करने के लिए WHERE क्लॉज का भी उपयोग कर सकते हैं।

AND ऑपरेटर का उपयोग करना

और ई. मैनेजर_आईडी = 149

WHERE क्लॉज का उपयोग करना

ई चुनें। कर्मचारी_आईडी ई. last_name ई. विभाग_आईडी,


डी। विभाग_आईडी, डी. स्थान_आईडी

कर्मचारियों से ई विभागों में शामिल हों d

चालू (e.department_id = d.department_id)

जहां ई. मैनेजर_आईडी = 149

टेबल उपनाम

उदाहरण दिखाते हैं कि टेबल नामों की पहचान करने के लिए उपनामों का उपयोग कैसे किया जाता है। FROM क्लॉज में, संक्षिप्त नाम तालिका के नाम के बाद दिखाई देता है। इस संक्षिप्त नाम को उपनाम कहा जाता है। एक बार FROM क्लॉज में एक उपनाम बन जाने के बाद, इसे SELECT क्लॉज के किसी भी हिस्से में इस्तेमाल किया जा सकता है।

एकाधिक तालिकाओं में शामिल होना

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

वाक्य - विन्यास

FROM क्लॉज में शामिल होने के लिए तालिकाओं को निर्दिष्ट करना होगा।

उदाहरण

ई चुनें। अंतिम_नाम, डी। फर्स्ट_नाम, डब्ल्यू। विभाग का नाम
कर्मचारियों से ई

आश्रितों में शामिल हों d

पर घ. रिश्तेदार_आईडी = ई. कर्मचारी कामतत्व

विभागों में शामिल हों w

डब्ल्यू पर विभाग_आईडी = ई. विभाग_आईडी

सेल्फ जॉइन टेबल

ON स्टेटमेंट का उपयोग अलग-अलग नामों वाले कॉलम में शामिल होने के लिए भी किया जा सकता है (एक ही टेबल में या किसी अन्य टेबल में)। यदि शामिल होने वाले विभिन्न नामों के कॉलम एक ही तालिका में स्थित हैं, तो तालिकाएँ स्वयं-सम्मिलित हैं। उदाहरण के लिए, आप EMPLOYEE_ID और MANAGER_ID कॉलम के आधार पर EMPLOYEES तालिका में स्वयं शामिल हो सकते हैं।

तालिकाओं के बाहरी जोड़

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

वाक्य - विन्यास

लेफ्ट एक लेफ्ट आउटर जॉइन है। निर्दिष्ट करता है कि तालिका 1 एक आवश्यक तालिका है (परिणाम सेट में इसकी सभी पंक्तियां होंगी) और तालिका 2 वैकल्पिक है। तालिका 1 में उन पंक्तियों के लिए जो तालिका 2 में मेल नहीं खातीं, NULL वापस आ जाता है।

राइट एक सही बाहरी जुड़ाव है। अनिवार्य तालिका तालिका 2, तालिका 1 वैकल्पिक।

FULL एक पूर्ण बाहरी जुड़ाव है। यह एक द्विदिश बाहरी जुड़ाव है। परिणामी सेट में शामिल हैं:

    आंतरिक तालिका की सभी पंक्तियाँ जुड़ती हैं; तालिका 1 में पंक्तियाँ जो तालिका 2 में मेल नहीं खातीं; तालिका 2 में पंक्तियाँ जो तालिका 1 में मेल नहीं खाती हैं।

OUTER एक वैकल्पिक कीवर्ड है। इंगित करता है कि एक बाहरी जुड़ाव प्रगति पर है।

कर्मचारियों का चयन करें।*, job_history.*

कर्मचारियों से LEFT JOIN job_history
कर्मचारियों पर। हायर_डेट = जॉब_हिस्ट्री. आरंभ करने की तिथि


समूह संचालन

समूह संचालन कई पंक्तियों को संसाधित करता है और एक सामान्यीकृत परिणाम देता है। वास्तव में, वे आपको डेटाबेस से लौटाई गई जानकारी के एक रूप या किसी अन्य समान आइटम में संयोजित करने की अनुमति देते हैं। समूह संचालन करने के लिए, Oracle सामान्य कार्य और समूह निर्देश (GROUP BY, HAVING, और अन्य) प्रदान करता है।

अधिकांश सामान्य कार्यों का सिंटैक्स है:

जेनेरिक_फंक्शन (अभिव्यक्ति)

Generalizing_function - सामान्यीकरण फ़ंक्शन का नाम निर्दिष्ट करता है: COUNT (गिनती), AVG (औसत मान), MAX (अधिकतम मान), MIN (न्यूनतम मान), STDDEV (मानक मानक विचलन), SUM (योग), VARIANCE (सांख्यिकीय)।

DISTINCT - इंगित करता है कि सामान्यीकरण फ़ंक्शन को अभिव्यक्ति के केवल गैर-दोहराए जाने वाले मूल्यों पर विचार करना चाहिए।

ALL - इंगित करता है कि सामान्यीकरण फ़ंक्शन को डुप्लिकेट सहित अभिव्यक्ति के सभी मूल्यों को ध्यान में रखना चाहिए। डिफ़ॉल्ट सभी का उपयोग करना है।

एक्सप्रेशन - उस कॉलम या किसी अन्य एक्सप्रेशन को निर्दिष्ट करता है जिस पर संक्षेप में प्रस्तुत करना है।

सामान्य कार्यों द्वारा अभिव्यक्ति के लिए NULL मानों को अनदेखा किया जाता है और परिणाम में शामिल नहीं किया जाता है।

कर्मचारियों से MAX(वेतन) चुनें - संपूर्ण कर्मचारी तालिका में वेतन कॉलम के लिए अधिकतम मूल्य ज्ञात करें।

क्षेत्र से गिनती (*) चुनें - क्षेत्र तालिका में रिकॉर्ड की संख्या की गणना करता है।

ग्रुप बाय स्टेटमेंट

सारांश फ़ंक्शंस के संयोजन में उपयोग किया जाता है, परिणाम सेट को कई समूहों में विभाजित करता है, और फिर प्रत्येक समूह के लिए सारांश जानकारी की एक पंक्ति देता है। यदि चयन सूची में जेनरिक और गैर-जेनेरिक का मिश्रण है, तो SQL ऑपरेशन द्वारा एक समूह को निष्पादित करने पर विचार करता है, इसलिए किसी भी गैर-जेनेरिक अभिव्यक्ति को समूह द्वारा खंड में भी निर्दिष्ट किया जाना चाहिए। यदि ऐसा नहीं किया जाता है, तो Oracle एक त्रुटि संदेश जारी करेगा।


ग्रुप बाय क्लॉज में समूह (सामान्यीकृत) फ़ंक्शन का उपयोग करने की अनुमति नहीं है।

जब कुछ पंक्तियों में NULL मान वाले कॉलम द्वारा समूहित किया जाता है, तो NULL मान वाली सभी पंक्तियों को एक समूह में रखा जाता है और आउटपुट में एक सारांश पंक्ति के रूप में प्रस्तुत किया जाता है।

ग्रुप बाय क्लॉज का उपयोग करके सारांश परिणाम प्राप्त करने के लिए, WHERE क्लॉज का उपयोग करके तालिका रिकॉर्ड को फ़िल्टर करना संभव है। WHERE और GROUP BY क्लॉज़ वाले SQL स्टेटमेंट को निष्पादित करते समय, Oracle पहले WHERE क्लॉज़ को लागू करता है और उन पंक्तियों को हटा देता है जो WHERE क्लॉज़ को संतुष्ट नहीं करती हैं। WHERE क्लॉज को संतुष्ट करने वाली पंक्तियों को GROUP BY क्लॉज के अनुसार समूहीकृत किया जाता है। SQL सिंटैक्स को ग्रुप बाय क्लॉज से पहले WHERE क्लॉज की आवश्यकता होती है।

बयान होना

GROUP BY क्लॉज द्वारा बनाए गए समूहों पर फ़िल्टर लागू करने के लिए उपयोग किया जाता है। यदि क्वेरी में GROUP BY और HAVING शामिल है, तो परिणाम सेट में केवल वे समूह होंगे जो HAVING कथन में निर्दिष्ट शर्तों को पूरा करते हैं। HAVING क्लॉज का सिंटैक्स WHERE क्लॉज के सिंटैक्स के समान है। लेकिन HAVING स्टेटमेंट की एक सीमा है। यह शर्त (हैविंग क्लॉज में निर्दिष्ट) केवल सेलेक्ट लिस्ट एक्सप्रेशन या ग्रुप बाय क्लॉज पर लागू हो सकती है। यदि HAVING में कुछ ऐसा है जो SELECT या GROUP BY में नहीं है, तो एक त्रुटि संदेश जारी किया जाएगा।

सेलेक्ट स्टेटमेंट में ग्रुप बाय और हैविंग स्टेटमेंट का क्रम मायने नहीं रखता।

आप एक ही क्वेरी में WHERE और HAVING स्टेटमेंट का उपयोग कर सकते हैं। यह समझना महत्वपूर्ण है कि एक निर्देश दूसरे को कैसे प्रभावित करता है। WHERE क्लॉज को पहले निष्पादित किया जाता है, और WHERE क्लॉज को संतुष्ट करने वाली पंक्तियों को GROUP BY क्लॉज में पास कर दिया जाता है। GROUP BY क्लॉज फ़िल्टर किए गए डेटा को समूहों में समेट देता है, और फिर HAVING क्लॉज़ को उन समूहों को खत्म करने के लिए समूहों पर लागू किया जाता है जो HAVING क्लॉज़ को संतुष्ट नहीं करते हैं।


सामान्यीकरण कार्यों और समूहीकरण के साथ प्रश्नों के लिए सिंटेक्स

3.4. SQL क्वेरी बनाने और निष्पादित करने के लिए उपकरण

Oracle डेटाबेस XE में, आप SQL स्टेटमेंट का उपयोग करके लिख और निष्पादित कर सकते हैं एसक्यूएल उपकरणकमांड (एसक्यूएल क्वेरी एडिटर), या आप ग्राफिकल इंटरफेस के साथ क्वेरी बनाने के लिए क्वेरी बिल्डर टूल (क्वेरी डिजाइनर) का उपयोग कर सकते हैं (चित्र 1.7)।

SQL क्वेरी संपादक लॉन्च करना: SQL कमांड आइकन पर क्लिक करें।

SQL क्वेरी दर्ज करना और निष्पादित करना: SQL कमांड पेज पर, क्वेरी टेक्स्ट लिखें -> उस क्वेरी का चयन करें जिसे आपको निष्पादित करने की आवश्यकता है -> रन बटन पर क्लिक करें। क्वेरी निष्पादन का परिणाम विंडो के निचले भाग में है (चित्र 1.8)।

चावल। 1.8. SQL कमांड पेज पर SQL क्वेरी दर्ज करना और निष्पादित करना

Oracle डेटाबेस XE में SQL क्वेरी बनाने के लिए एक आसान ग्राफिकल टूल है - क्वेरी बिल्डर। क्वेरी बिल्डर लॉन्च करना: क्वेरी बिल्डर आइकन (चित्र 1.7) या SQL वर्कशॉप ड्रॉप-डाउन सूची में उसी आइटम पर क्लिक करने पर -> क्वेरी बिल्डर फॉर्म वाला एक ब्राउज़र पेज खुलता है। बाएँ फलक पर उपलब्ध तालिकाओं की एक सूची है। तालिका के नाम पर क्लिक करें -> उपलब्ध स्तंभों की सूची के साथ तालिका प्रपत्र शीर्ष दाएं पैनल पर रखा गया है। तालिका के रूप में, उन स्तंभों को चिह्नित करें जिनके लिए परिणामी सेट में डेटा शामिल किया जाना चाहिए (चित्र। 1.9)।


चावल। 1.9. क्वेरी बिल्डर पेज पर SQL क्वेरी बनाना

निचले दाएं पैनल पर टैब हैं:

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

SQL - जेनरेट की गई SQL क्वेरी का टेक्स्ट।

परिणाम - SQL क्वेरी निष्पादित करने का परिणाम। इसे प्राप्त करने के लिए, रन बटन पर क्लिक करें।

सहेजी गई SQL - सहेजी गई SQL क्वेरी। क्वेरी को सेव करने के लिए सेव बटन पर क्लिक करें।

क्वेरी बिल्डर आपको तालिकाओं में नेत्रहीन रूप से शामिल होने की अनुमति देता है। दो तालिकाओं को मर्ज करने के लिए, आपको यह करना होगा: दो तालिकाओं का चयन करें -> उनके रूपों पर परिणाम के लिए कॉलम चिह्नित करें -> कर्सर को चाइल्ड टेबल (देशों) के लिंक किए गए कॉलम पर रखें -> दायां माउस बटन दबाएं और लिंक छवि को खींचें पैरेंट टेबल (क्षेत्र) के लिंक किए गए कॉलम पर दबाए गए बटन के साथ) (चित्र 1.10)।

चावल। 1.10. तालिकाओं में शामिल होने के लिए SQL क्वेरी डिज़ाइन करना

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

3.5. डेटाबेस ऑब्जेक्ट्स के बारे में जानकारी

Oracle डेटाबेस ऑब्जेक्ट्स के बारे में सभी जानकारी संग्रहीत करता है विशेष शब्दकोशडेटा (डेटा शब्दकोश)। शब्दकोश में वर्णन है कि वास्तविक डेटा कैसे व्यवस्थित किया जाता है। एक शब्दकोश तालिकाओं और विचारों से बना होता है जिसे डेटाबेस में किसी भी अन्य तालिकाओं और विचारों की तरह ही पूछताछ की जा सकती है। इन दृश्यों का स्वामित्व SYS नामक Oracle उपयोगकर्ता के पास है। उपयोगकर्ता_* प्रकार के दृश्यों में उन वस्तुओं के बारे में जानकारी होती है जो वर्तमान उपयोगकर्ता हैं। उपयोगकर्ता ऑब्जेक्ट के बारे में जानकारी प्राप्त करने के लिए आप निम्न दृश्यों का उपयोग कर सकते हैं:

    User_tables - वर्तमान उपयोगकर्ता के स्वामित्व वाली रिलेशनल टेबल; User_views - वर्तमान उपयोगकर्ता के स्वामित्व वाले दृश्य; User_tab_comments - वर्तमान उपयोगकर्ता से संबंधित तालिकाओं के लिए टिप्पणियाँ; User_tab_columns - वर्तमान उपयोगकर्ता के स्वामित्व वाली सभी तालिकाओं के कॉलम; User_col_comments - वर्तमान उपयोगकर्ता के स्वामित्व वाली तालिकाओं और विचारों के कॉलम के लिए टिप्पणियां; User_indexes - वर्तमान उपयोगकर्ता की तालिकाओं की अनुक्रमणिका; User_cons_columns - वर्तमान उपयोगकर्ता की बाधाओं में कॉलम; User_constraints - वर्तमान उपयोगकर्ता की तालिकाओं पर प्रतिबंध; User_triggers - वर्तमान उपयोगकर्ता के स्वामित्व वाले डेटाबेस ट्रिगर।

Oracle डेटाबेस XE में डेटाबेस ऑब्जेक्ट्स की खोज और रिपोर्टिंग के लिए टूल हैं।

डेटाबेस ऑब्जेक्ट एक्सप्लोरेशन टूल तक पहुंच: ऑब्जेक्ट ब्राउज़र आइकन (चित्र 1.7) या SQL वर्कशॉप ड्रॉप-डाउन सूची में संबंधित आइटम। डिफ़ॉल्ट रूप से, तालिकाओं की सूची में संक्रमण होता है (अनुसंधान के लिए अन्य प्रकार के डेटाबेस ऑब्जेक्ट को ड्रॉप-डाउन सूची से चुना जा सकता है)। फिर, किसी विशिष्ट वस्तु का चयन करने के बाद, उसके गुण प्रदर्शित होते हैं। विभाग तालिका के गुणों को प्रदर्शित करने के लिए पृष्ठ का दृश्य (तालिका टैब - स्तंभों और उनके गुणों की सूची दिखाता है) अंजीर में दिखाया गया है। 1.11

चावल। 1.11 तालिका गुण प्रदर्शन: कॉलम की सूची

यदि आप मॉडल टैब पर जाते हैं, तो आप डेटा मॉडल देख सकते हैं - अन्य डेटाबेस तालिकाओं के साथ अध्ययन के तहत तालिका के लिंक का एक दृश्य प्रतिनिधित्व (चित्र। 1.12)।


चित्र 1.12. डेटा मॉडल मैपिंग: तालिका संबंध

चित्र में दिखाए गए डेटा मॉडल से पता चलता है कि LOCATIONS और EMPLOYEES टेबल संबंधित विभाग तालिका के जनक हैं। उन्हें अध्ययन के तहत तालिका के ऊपर के मॉडल में दिखाया गया है। DEPARTMENTS तालिका स्वयं JOB_HISTORY और EMPLOYEES तालिकाओं (विभाग तालिका के नीचे स्थित) का जनक है। माता-पिता (अध्ययन के संबंध में) तालिकाओं के बारे में इसी तरह की जानकारी निर्भरता टैब (संदर्भ सूची) में देखी जा सकती है।

रिपोर्ट तक पहुंच: उपयोगिता चिह्न (चित्र 1.7) या SQL कार्यशाला ड्रॉप-डाउन सूची के संबंधित तत्व -> सूची तत्व (या आइकन) ऑब्जेक्ट रिपोर्ट -> सूची तत्व रुचि के पैरामीटर द्वारा। उदाहरण के लिए, तालिका रिपोर्ट सूची के लिए - कॉलम, टिप्पणियां, प्रतिबंध, आदि (चित्र। 1.13)।

चावल। 1.13. वस्तु रिपोर्ट

इन उपकरणों का उपयोग करके, आप डेटाबेस में उपलब्ध मुख्य वस्तुओं के बारे में पूरी जानकारी प्राप्त कर सकते हैं।


सुरक्षा उपाय

रनटाइम पर आपको चाहिए:

    कंप्यूटर उपकरण चालू और बंद करने के नियमों का पालन करें; कंप्यूटर से केबल, कनेक्टर और अन्य उपकरण कनेक्ट न करें जो प्रयोगशाला स्थापना से संबंधित नहीं हैं; जब मेन वोल्टेज चालू हो, तो कनेक्टिंग केबल को डिस्कनेक्ट, कनेक्ट या स्पर्श न करें विभिन्न उपकरणसंगणक; उपकरण के संचालन में खराबी या नियमों के उल्लंघन के मामले में, प्रयोगशाला कार्य के प्रमुख को सूचित करें; उपकरण के संचालन में खराबी को अपने दम पर ठीक करने का प्रयास न करें; काम पूरा होने पर, कार्यस्थल को साफ करें।

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

काम
एक इंटरनेट ब्राउज़र लॉन्च करें, उदाहरण के लिए, गूगल क्रोम. Oracle एप्लिकेशन एक्सप्रेस होम पेज को http://127.0.0.1:8080/apex/ पर लॉन्च करें। एचआर उपयोगकर्ता के रूप में डेटाबेस में लॉग इन करें। SQL क्वेरी संपादक का उपयोग करते हुए, कर्मचारी नामों द्वारा क्रमबद्ध निर्देश का उपयोग करके कर्मचारी तालिका से डेटा का चयन करने के लिए एक क्वेरी बनाएं और निष्पादित करें। SQL क्वेरी बिल्डर का उपयोग करके, विभाग के नाम से सॉर्ट निर्देश का उपयोग करके DEPARTMENTS तालिका से डेटा का चयन करने के लिए एक क्वेरी बनाएं और निष्पादित करें। SQL क्वेरी संपादक का उपयोग करते हुए, रूसी कॉलम उपनामों और सॉर्टिंग का उपयोग करके संबंधित तालिकाओं DEPARTMENTS और EMPLOYEES से डेटा का चयन करने के लिए एक क्वेरी बनाएं और निष्पादित करें। क्वेरी सभी विभागों के नाम, इन विभागों के प्रबंधकों के पूरे नाम, उनके ईमेल पते /text/category/zarabotnaya_plata/" rel="bookmark">विभाग द्वारा वेतन, विभाग द्वारा औसत वेतन लौटाना चाहिए। डेटाबेस वस्तुओं के बारे में पूरी जानकारी प्राप्त करें - सभी टिप्पणियों और डेटा प्रकारों सहित तालिकाओं, स्तंभों, बाधाओं, विचारों, इस जानकारी के आधार पर, एक डेटा मॉडल बनाएं जिस पर सभी तालिकाओं और उनके बीच संबंधों को दिखाया जा सके।

दिशा:

    ऑब्जेक्ट ब्राउज़र टूल का उपयोग करके तालिकाओं के बीच संबंधों के बारे में सामान्य जानकारी प्राप्त करें; विस्तृत जानकारीक्वेरी का उपयोग करके तालिकाओं के बीच संबंधों के बारे में जानें

यूसी का चयन करें। टेबल_नाम "टेबल",

यूसी बाधा_नाम "बाहरी कुंजी बाधा",

ucc1.column_name "बाहरी कुंजी फ़ील्ड",

ucc2.table_name "एक टेबल स्पॉन्स",

यूसी r_constraint_name "आरटी में राक्षस",

ucc2.column_name "RT में मुख्य फ़ील्ड"

user_constraints uc . से

ucc1 पर user_cons_columns ucc1 से जुड़ें।constraint_name = uc. बाधा_नाम

ucc2 पर user_cons_columns ucc2 से जुड़ें।constraint_name = uc. r_constraint_name

जहां यू.सी. बाधा_प्रकार = "आर";

    MS Word, MS Visio या ERWin डेटा मॉडेलर का उपयोग करके डेटा मॉडल को ग्राफिकल रूप में प्रस्तुत करें।

रिपोर्ट की सामग्री और डिजाइन के लिए आवश्यकताएँ

रिपोर्ट में पूरा किया जाना चाहिए पाठ संपादकम एस वर्ड। रिपोर्ट में शामिल होना चाहिए:

    संक्षिप्त सैद्धांतिक जानकारी, ग्राफिकल डेटा मॉडल, क्वेरी में प्रयुक्त प्रत्येक निर्देश पर टिप्पणियों के साथ सभी SQL प्रश्नों के टेक्स्ट, सभी निष्पादित प्रश्नों के लिए डेटा के साथ परिणामी तालिका, किए गए कार्य पर निष्कर्ष।
परीक्षण प्रश्न

7.1 Oracle डाटाबेस XE का उद्देश्य क्या है?

7.2. उपयोगकर्ता Oracle डेटाबेस XE डेटाबेस से कैसे जुड़ा है?

7.3. क्या उपकरण करता है प्रयोक्ता इंटरफ़ेस SQL क्वेरी के साथ काम करने के लिए Oracle डेटाबेस XE डेटाबेस?

7.4. Oracle डेटाबेस XE डेटाबेस यूजर इंटरफेस डेटाबेस ऑब्जेक्ट्स की खोज के लिए कौन से टूल्स प्रदान करता है?

7.5. सेलेक्ट स्टेटमेंट का सिंटैक्स क्या है?

7.6. WHERE क्लॉज का उद्देश्य क्या है?

7.7. टेबल जॉइन कितने प्रकार के होते हैं?

7.8. इनर और आउटर टेबल जॉइन में क्या अंतर है?

7.9. समूह संचालन किसके लिए उपयोग किए जाते हैं?

7.10. GROUP BY और HAVING स्टेटमेंट का उपयोग कैसे किया जाना चाहिए?

यह डेटाबेस बनाने के ट्यूटोरियल का दूसरा भाग है। पाठ व्यावहारिक है, पाठ के दौरान Oracle सर्वर, जिसे पहले पाठ में स्थापित किया गया था, का उपयोग किया जाएगा। तो चलो शुरू हो जाओ:

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

[ईमेल संरक्षित]: सीडी /यू01/ऐप/ओरेकल/उत्पाद/11.1.0/डीबी_1/बिन
[ईमेल संरक्षित]:./डीबीसीए

एक लॉन्च होगा ग्राफिक अनुप्रयोगजिसमें काम करना है। Oracle आपको विभिन्न उपयोगिताओं का उपयोग किए बिना "हाथ से" एक डेटाबेस बनाने की अनुमति देता है, लेकिन हम इसके बारे में बाद में बात करेंगे।

पहली स्क्रीन केवल उपयोगिता, उसके उद्देश्य के लॉन्च पर रिपोर्ट करती है। हम अगला क्लिक करके तुरंत दूसरे चरण की ओर बढ़ते हैं।

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

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

यह चरण आपको वैश्विक डेटाबेस नाम (वैश्विक डेटाबेस नाम) और SID (सिस्टम पहचानकर्ता) निर्दिष्ट करने के लिए प्रेरित करता है। आमतौर पर, वैश्विक नाम एक डोमेन नाम के साथ एक SID है। सिस्टम पहचानकर्ता विशिष्ट रूप से डेटाबेस की पहचान करता है। इसकी लंबाई 8 वर्णों से अधिक नहीं होनी चाहिए और किसी संख्या से शुरू नहीं हो सकती। मैंने अपने डेटाबेस के लिए "testdb" नाम और वैश्विक नाम "testdb.all-oracle.ru" चुना। पर चलते हैं।

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

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

यह चरण आपको अंतर्निहित Oracle खातों के लिए पासवर्ड प्रदान करने के लिए प्रेरित करता है। आप प्रत्येक खाते के लिए अलग-अलग पासवर्ड निर्दिष्ट कर सकते हैं, या आप "सभी खातों के लिए एकल पासवर्ड का उपयोग करें" विकल्प का चयन कर सकते हैं। यह ध्यान दिया जाना चाहिए कि Oracle 11g से पहले, सब कुछ पूंजीकृत था और पासवर्ड लॉगिन केस संवेदनशील नहीं थे। संस्करण 11g से शुरू होकर, सुरक्षा आवश्यकताओं के संदर्भ में रजिस्टर भिन्न होने लगा। अनुकूलता के लिए पिछला संस्करणसुरक्षा स्तर सेट करना संभव है।

यहां हम स्टोरेज का चयन करते हैं। फ़ाइल सिस्टम (फ़ाइल सिस्टम), स्वचालित संग्रहण प्रबंधन - ASM (स्वचालित संग्रहण प्रबंधन) या कच्चे उपकरण (शाब्दिक रूप से कच्चे उपकरण) की पेशकश की। हमारे मामले में, हम चुनते हैं फाइल सिस्टमऔर आगे बढ़े। हम अन्य भंडारण विधियों के बारे में बाद में बात करेंगे।

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

फ्लैश रिकवरी क्षेत्र और उसके आकार का स्थान निर्दिष्ट करें। पहले, हमने एफआरए के लिए एक निर्देशिका बनाई थी और अब हम इसके लिए पथ निर्दिष्ट करते हैं, आकार अपरिवर्तित रहता है।

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

उसी स्क्रीन पर, आप वर्तमान ORACLE_BASE सेटिंग सहित Oracle फ़ाइल स्थानों की एक सारांश रिपोर्ट देखने के लिए फ़ाइल स्थान चर... बटन पर क्लिक कर सकते हैं।

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

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

यहां हम आवश्यकतानुसार पैरामीटर बदल सकते हैं। अगर कुछ भी आवश्यक नहीं है, तो खिड़की बंद करें और आगे बढ़ें।

सुरक्षा सेटिंग। आपको संस्करण 11g से पहले या संस्करण 11g के बाद से पेश की गई नई सेटिंग्स का चयन करने के लिए कहा जाता है। उपयोगकर्ता के लिए मुख्य अंतर केस संवेदनशीलता है। हम नई सेटिंग्स का उपयोग करने और आगे बढ़ने का संकेत देते हैं।

इस स्तर पर, स्वचालित रखरखाव कार्यों को सक्रिय करने का प्रस्ताव है। उदाहरण के लिए, आँकड़े एकत्र करना। अक्षम करें और आगे बढ़ें।

डेटा फ़ाइलों, लॉग फ़ाइलों, नियंत्रण फ़ाइलों का स्थान निर्दिष्ट करें। अगर सब कुछ सूट करता है, तो आगे बढ़ें।

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

"समाप्त" बटन पर क्लिक करें और डेटाबेस निर्माण प्रक्रिया शुरू हो जाएगी। दस मिनट से एक घंटे तक बनाए जा रहे डेटाबेस की सेटिंग्स और कंप्यूटर की शक्ति के आधार पर इसमें कुछ समय लगेगा।

यदि डेटाबेस निर्माण सफलतापूर्वक पूरा हो गया है, तो निम्न विंडो दिखाई देगी:

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

पासवर्ड बदलने के बाद, यदि कोई हो, "बाहर निकलें" पर क्लिक करें, यह डेटाबेस के निर्माण को पूरा करता है।

यह पाठ का समापन करता है। चौथे पाठ में, हम सीखेंगे कि डेटाबेस इंस्टेंस को कैसे रोकें और शुरू करें, जानें कि श्रोता क्या है, एसक्लप्लस से डेटाबेस से कनेक्ट करना सीखें।

यदि आप एक Linux sysadmin या डेवलपर हैं, तो एक समय आता है जब आपको Oracle डेटाबेस को प्रबंधित करने की आवश्यकता होती है जो आपके वातावरण में चल सकता है।

इस मामले में, Oracle की कुछ बुनियादी DBA गतिविधियों को समझना महत्वपूर्ण है। इस ट्यूटोरियल में, हम आपको दिखाएंगे कि कमांड लाइन से Oracle डेटाबेस कैसे बनाया जाता है।

जब आप Oracle सॉफ़्टवेयर स्थापित करते हैं, तो यह आपको उपयोगकर्ता इंटरफ़ेस से एक नया डेटाबेस बनाने का विकल्प देगा।

यदि आप एक नया डेटाबेस नहीं बनाने का निर्णय लेते हैं, लेकिन केवल स्थापित करें सॉफ्टवेयर Oracle, फिर आप अलग से डेटाबेस बना सकते हैं।

के लिए Oracle डेटाबेस बनाएं , आपके पास दो विकल्प हैं:

  1. डेटाबेस कॉन्फ़िगरेशन सहायक (DBCA) का उपयोग करें और GUI का उपयोग करके एक नया डेटाबेस बनाएँ। यह काफी सीधे आगे है।
  2. कमांड लाइन से एक नया Oracle डेटाबेस बनाने के लिए "डेटाबेस बनाएँ" कमांड का उपयोग करें। यह विधि तब उपयोगी होती है जब आपके पास DBCA चलाने के लिए सर्वर कंसोल तक पहुँच नहीं होती है। या, यदि आपके सर्वर में सही Xterm सेटिंग्स नहीं हैं, तो इस विधि का उपयोग करें।

1. उपयुक्त Oracle पर्यावरण चर सेट करना

सबसे पहले, आपको सर्वर पर उपयुक्त पर्यावरण चर को सही ढंग से सेट करना होगा।

यह उदाहरण मानता है कि निर्देशिका में ओरेकल स्थापित है /u01/ऐप/ओरेकल/उत्पाद. अपने परिवेश के अनुरूप इस मान को बदलें।

निर्यात ORACLE_BASE=/u01/ऐप/ओरेकल निर्यात ORACLE_HOME=/u01/ऐप/ओरेकल/उत्पाद/11.2.0

अधिकांश महत्वपूर्ण पैरामीटर ORACLE_SID है जिसका नाम होगा नया Oracle डेटाबेसजिसे आप बनाना चाहते हैं। इस उदाहरण में, नए डेटाबेस का नाम "देव" पर सेट है जैसा कि नीचे दिखाया गया है।

निर्यात ORACLE_SID=dev

2. ini-initdev.ora फ़ाइल बनाएँ

फिर नए डेटाबेस के लिए ora.ini फ़ाइल बनाएँ। यह नए डेटाबेस के लिए आरंभीकरण फ़ाइल है।

आपके Oracle संस्करण के आधार पर, आप $ORACLE_HOME में एक नमूना init.ora फ़ाइल देख सकते हैं। यदि आपके पास है, तो इसे आधार के रूप में उपयोग करें और तदनुसार मानों को संपादित करें।

सीडी $ORACLE_HOME/dbs cp init.ora initdev.ora

ध्यान दें:

जैसा कि ऊपर दिखाया गया है, नए डेटाबेस के लिए इनिशियलाइज़ेशन फ़ाइल निम्न प्रारूप की होनी चाहिए: INIT (ORACLE_SID) .ora - तो, ​​इस मामले में, फ़ाइल का नाम होगा: initdev.ora

यदि आप अपने $ORACLE_HOME/DBS में डिफ़ॉल्ट init.ora टेम्पलेट नहीं देखते हैं, तो निम्न नमूने का उपयोग करें।

*.db_name="dev" *.db_domain="" *.audit_file_dest="/u01/app/oracle/admin/dev/adump" *.audit_trail="db" *.संगत="11.2.0.0.0" * .memory_target=1G *.control_files="/u01/app/oracle/oradata/dev/control01.ctl","/home/oracle/u02/oradata/dev/control02.ctl" *.db_block_size=8192 *.diagnostic_dest= "/u01/app/oracle/admin/dev" *.open_cursors=250 *.processes=100 *.remote_login_passwordfile="EXCLUSIVE" *.undo_tablespace="UNDOTS"

उक्त फ़ाइल में कुछ बिंदुओं पर विचार करने की आवश्यकता है:

  • निर्दिष्ट फ़ाइल में, सुनिश्चित करें कि आपने पिछले चरण में सेट किए गए ORACLE_SID के नाम पर db_name सेट किया है
  • इसे जो भी कहा जाता है undo_tablespace, हम इंगित करते हैं कि हमें CREATE DATABASE कमांड में सटीक नाम का उपयोग करना चाहिए।
  • अपने सिस्टम के आधार पर निर्देशिकाओं का स्थान उचित रूप से बदलें। उपरोक्त निर्देशिका में "देव" को अपने ORACLE_SID नाम में बदलना न भूलें।

3. सर्व पैरामीटर फ़ाइल बनाएं (spfile)

SP फ़ाइल सर्वर पैरामीटर फ़ाइल के लिए है। एसपी फ़ाइल के विपरीत, फ़ाइल बाइनरी में प्रारंभ की गई है और आप मैन्युअल रूप से SPFILE को संपादित नहीं कर सकते हैं।

एसपी फ़ाइल आईएनआई फ़ाइल से बनाई गई है। SP फ़ाइल का लाभ यह है कि डेटाबेस द्वारा ALTER SYSTEM कमांड का उपयोग शुरू करने के बाद आप आरंभीकरण मापदंडों के मान को बदल सकते हैं।

दूसरे शब्दों में, किसी भी पैरामीटर मान को बदलने के लिए "ALTER SYSTEM" कमांड का उपयोग करते समय, यह उन्हें sp फ़ाइल में सहेजता है।

फिर, ओरेकल डेटाबेस शुरू करते समय, यह पहले पैरामीटर मान के लिए एसपी फ़ाइल की तलाश करता है। अगर यह एसपी फाइल नहीं ढूंढ पाता है, तो यह आईएनआई फाइल के आधार पर टेक्स्ट का उपयोग करेगा।

हमारे नए डेटाबेस के लिए एक sp फ़ाइल बनाने के लिए, निम्न कमांड का उपयोग करें।

पहला उपयोग एसक्लप्लस कमांडऔर एक SYSDBA Oracle प्रॉम्प्ट प्राप्त करें जहाँ से हम एक नया डेटाबेस बनाएंगे।

$ sqlplus / as sysdba एक निष्क्रिय उदाहरण से जुड़ा है। एसक्यूएल>

यदि आप उपरोक्त आउटपुट में नोटिस करते हैं, तो यह कहता है "एक निष्क्रिय उदाहरण से जुड़ा हुआ है।"। ऐसा इसलिए है क्योंकि हमारा वर्तमान ORACLE_SID देव पर सेट है, जो एक नया डेटाबेस है जिसे हमने अभी तक नहीं बनाया है।

तो पहला कदम आईएनआई फाइल के आधार पर एक नई एसपी फाइल बनाना है। spfile का अर्थ है ini फ़ाइल। निम्न आदेश एक नया spfile बनाएगा।

SQL> PFILE से SPFILE बनाएं; फ़ाइल बनाई गई।

जैसा कि आप नीचे देख सकते हैं, कमांड ने स्वचालित रूप से spfiledev.ora बनाया है।

$ ls -1 $ORACLE_HOME/dbs/ initdev.ora spfiledev.ora

4. निष्क्रिय उदाहरण चलाएँ

डेटाबेस बनाने से पहले, हमें "dev" डेटाबेस के लिए STARTUP NOMOUNT कमांड के साथ एक इंस्टेंस शुरू करना चाहिए। जैसा कि आपने अनुमान लगाया होगा, यह कमांड डेटाबेस से कनेक्ट नहीं होगा। "देव" नामक एक नया खाली सरल ORACLE_SID उदाहरण प्रारंभ करना आसान है।

SQL> स्टार्टअप NOMOUNT; ओरेकल उदाहरण शुरू हुआ। टोटल सिस्टम ग्लोबल एरिया 1258291200 बाइट्स फिक्स्ड साइज 1261564 बाइट्स वेरिएबल साइज 520093700 बाइट्स डेटाबेस बफर्स ​​721420288 बाइट्स बफर्स ​​को फिर से करें 15515648 बाइट्स

ऊपर दिए गए कमांड में, यह spfile(ORACLE_SID.ora) नामक डिफॉल्ट स्पफाइल को डिफॉल्ट स्पफाइल लोकेशन $ORACLE_HOME/dbs से पढ़ेगा। यदि spfile मौजूद नहीं है, तो यह डिफ़ॉल्ट रूप से init(ORACLE_SID).ora फ़ाइल आरंभीकरण के लिए होगा

किसी कारण से, यदि आप अपने spfile का स्थान निर्दिष्ट करना चाहते हैं, तो आप spfile पैरामीटर पास करके ऐसा कर सकते हैं, जैसा कि नीचे दिखाया गया है।

SQL> स्टार्टअप NOMOUNT PFILE=/tmp/initdev.ora

साथ ही, आपको निम्न ORA-01078 और LRM-00109 मिल सकता है यदि spfile या आरंभीकरण फ़ाइल डिफ़ॉल्ट स्थान पर नहीं है।

SQL> STARTUP NOMOUNT ORA-01078: सिस्टम पैरामीटर को संसाधित करने में विफलता LRM-00109: पैरामीटर फ़ाइल "/u01/app/oracle/product/11.2.0/dbs/initdev.ora" नहीं खोल सका

5. एक नया Oracle डेटाबेस बनाएँ

खाली डेटाबेस बनाने के लिए निम्न CREATE DATABASE कमांड का उपयोग करें।

SQL> DevSysPass LOGFILE GROUP 1 ("/home/oracle/u02/oradata/dev/redomed_01.log") SIZE 50M, GROUP 2 ("/home/oracle/u02/ oradata/dev/redomed_02.log") SIZE 50M, MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 कैरेक्टर सेट US7ASCII नेशनल कैरेक्टर सेट AL16UTF16 DATAFILE "/USE/oracle/u02/oradata/dev/system01. /oracle/u02/oradata/dev/sysaux01.dbf" SIZE 100M डिफ़ॉल्ट टेबलस्पेस उपयोगकर्ता डेटा का पुन: उपयोग करें "/home/oracle/u02/oradata/dev/users01.dbf" आकार 50M अधिकतम आकार "/ असीमित डिफॉल्ट टेम्परेरी टेम्परेरी पर ऑटोएक्सटेंड का पुन: उपयोग करें" Home/oracle/u02/oradata/dev/tempts01.dbf" आकार 30एम पुन: उपयोग टेबलस्पेस को डेटा फ़ाइल को पूर्ववत करें "/home/oracle/u02/oradata/dev/undots01.dbf" आकार 100एम अधिकतम आकार असीमित पर स्वत: विस्तार का पुन: उपयोग करें;

उपरोक्त आदेश में:

  • डेटाबेस बनाएँ कमांड "देव" नामक एक Oracle डेटाबेस बनाएगा
  • दूसरी पंक्ति में निर्दिष्ट पासवर्ड उपयोगकर्ता को सौंपा जाएगा SYS
  • तीसरी पंक्ति में निर्दिष्ट पासवर्ड सिस्टम उपयोगकर्ता को सौंपा जाएगा
  • हम प्रत्येक 100MB के आकार के साथ दो दोहराए गए लॉग बनाते हैं।
  • MAXLOGFILES - लॉग फ़ाइलों की अधिकतम संख्या 5 . पर सेट है
  • MAXDATAFILES - यह Oracle डेटा फ़ाइलों की अधिकतम संख्या को इंगित करता है जो इस डेटाबेस के लिए बनाई जा सकती हैं।
  • DATAFILE - तालिका प्रणाली में उपयोग की जाने वाली डेटा फ़ाइल की ओर इशारा करता है
  • SYSAUX DATAFILE - यह इंगित करता है कि डेटा फ़ाइल SYSAUX टेबलस्पेस में उपयोग की जाएगी
  • इस डेटाबेस के लिए डिफ़ॉल्ट टेबलस्पेस USERS . पर सेट है
  • अस्थायी टेबलस्पेस डिफ़ॉल्ट रूप से TEMPTS पर सेट है
  • टेबलस्पेस को पूर्ववत करें UNDOTS . पर सेट है

ध्यान दें:

यदि आप आरंभीकरण फ़ाइल में DB_CREATE_FILE_DEST को निर्देशिका स्थान पर सेट करते हैं, तो आपको सभी डेटा फ़ाइलों के लिए सटीक स्थान और फ़ाइल नाम निर्दिष्ट करने की आवश्यकता नहीं है, Oracle आपके लिए इसका ध्यान रखता है।

उदाहरण के लिए, यदि आपने इसे initdev.ora फ़ाइल में निर्दिष्ट किया है।

# vi initdev.ora DB_CREATE_FILE_DEST="/home/oracle/u02/oradata/dev"

इस स्थिति में, आप अपने CREATE DATBASE कमांड को सरल बना सकते हैं जैसा कि नीचे दिखाया गया है।

SQL> DevSysPass MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 कैरेक्टर सेट US7ASCII नेशनल कैरेक्टर सेट AL16UTF16 डिफॉल्ट यूएसडी टेबल अनब्लॉक टेबल

उपरोक्त आदेश DB_CREATE_FILE_DEST निर्देशिका में निर्दिष्ट स्थान के अनुसार सभी टेबलस्पेस (पूर्ववत, अस्थायी, आदि) के लिए आवश्यक उपयुक्त डेटा फ़ाइलें बनाएंगे।

6. व्यू डेटा का डिक्शनरी बनाएं

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

SQL>@?/rdbms/admin/catalog.sql; SQL>@?/rdbms/admin/catproc.sql

उपरोक्त आदेशों से आंशिक आउटपुट।

SQL>@?/rdbms/admin/catalog.sql; डॉक्टर>########################################### ##################### डॉक्टर>####################### ####################################### DOC> निम्नलिखित कथन का कारण होगा एक "ORA-01722: अमान्य संख्या" DOC> त्रुटि और यदि उपयोगकर्ता SYS नहीं है तो SQLPLUS सत्र समाप्त करें। DOC> AS SYSDBA से डिस्कनेक्ट और फिर से कनेक्ट करें। डॉक्टर>########################################### ##################### डॉक्टर>####################### ###################################### DOC># कोई पंक्ति चयनित पैकेज नहीं बनाया था। पैकेज बॉडी बनाई। .. .. समानार्थी बनाया गया। अनुदान सफल रहा। पीएल/एसक्यूएल प्रक्रिया सफलतापूर्वक पूरी हुई। SQL> @?/rdbms/admin/catproc.sql .. टिप्पणी बनाई गई। पर्यायवाची बनाया गया। अनुदान सफल रहा। पीएल/एसक्यूएल प्रक्रिया सफलतापूर्वक पूरी हुई।

यदि आप रुचि रखते हैं, तो आप यह देखने के लिए कैटप्रोक निर्देशिका और स्क्रिप्ट देख सकते हैं कि यह वास्तव में क्या करता है।

वी $ORACLE_HOME/rdbms/admin/catalog.sql; vi $ORACLE_HOME/rdbms/admin/catproc.sql

7. निरीक्षण - समापन और कमीशनिंग

और अंत में, यह सुनिश्चित करने के लिए नियमित रूप से शटडाउन और स्टार्टअप करें कि सब कुछ इस नए डेटाबेस पर अपेक्षित रूप से काम करता है।

$ sqlplus / as sysdba SQL> तत्काल बंद करें; डेटाबेस बंद। डेटाबेस उतरा। ओरेकल उदाहरण बंद हो गया। एसक्यूएल> स्टार्टअप; ओरेकल उदाहरण शुरू हुआ। टोटल सिस्टम ग्लोबल एरिया 1234563200 बाइट्स फिक्स्ड साइज 1262454 बाइट्स वेरिएबल साइज 522935700 बाइट्स डेटाबेस बफर्स ​​720583588 बाइट्स रीडो बफर्स ​​12946358 बाइट्स डेटाबेस माउंटेड।