უახლესი სტატიები
მთავარი / მობილური OS / შექმენით Oracle მონაცემთა ბაზა ხელით. DBCA-ს გამოყენება მონაცემთა ბაზის შესაქმნელად. მონაცემთა ბაზის შექმნა Oracle-ში

შექმენით Oracle მონაცემთა ბაზა ხელით. DBCA-ს გამოყენება მონაცემთა ბაზის შესაქმნელად. მონაცემთა ბაზის შექმნა Oracle-ში

Oracle 12c მონაცემთა ბაზის შექმნა მონაცემთა ბაზის კონფიგურაციის ასისტენტის გამოყენებით

1. გაიქეცი. დააჭირეთ Windows ღილაკს თქვენს კლავიატურაზე და გადაგიყვანთ საწყისი ეკრანზე ( დაწყებაეკრანი), ეკრანის ბოლოში არის ღილაკი აპლიკაციების ეკრანზე დარეკვისთვის ( აპებიეკრანი). დააწკაპუნეთ.

2. ეკრანზე აპებიაირჩიეთ ხატი მონაცემთა ბაზის კონფიგურაციის ასისტენტი.

3. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - მონაცემთა ბაზის ოპერაცია. აირჩიეთ შექმენით მონაცემთა ბაზა. დააწკაპუნეთ შემდეგი.

4. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - შექმნის რეჟიმი. აირჩიეთ გაფართოებული რეჟიმი. დააწკაპუნეთ შემდეგი.

5. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - მონაცემთა ბაზის შაბლონი. აირჩიეთ მორგებული მონაცემთა ბაზა. დააწკაპუნეთ შემდეგი.

6. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - მონაცემთა ბაზის იდენტიფიკაცია. მიუთითეთ ბაზის სახელი. მინდორში გლობალური მონაცემთა ბაზის სახელიშეიყვანეთ თქვენი სახელი DB. სახელი შეიძლება იყოს თვითნებური, არაუმეტეს ექვსი სიმბოლო, იწყებოდეს ასოთი და არ შეიცავდეს სპეციალურ სიმბოლოებს, ხაზგასმას და ინტერვალებს, მაგალითად. ტესტიან rp34. მინდორში SIDშეიყვანეთ მონაცემთა ბაზის უნიკალური ID. გააკეთეთ ის იგივე, რაც DB სახელი. დააწკაპუნეთ შემდეგი.

7. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი — მენეჯმენტის ოფციები. შეამოწმეთ ყუთი Enterprise Manager (EM) Database Express-ის კონფიგურაცია. მინდორში EM მონაცემთა ბაზა ExpressPortშეიყვანეთ პორტის ნომერი (ნაგულისხმევი პორტის ნომერია 5500 - დატოვეთ იგი). დააწკაპუნეთ შემდეგი.

8. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - მონაცემთა ბაზის რწმუნებათა სიგელები. დააყენეთ პაროლები სისტემის მომხმარებლებისთვის (ამ მაგალითში ერთი და იგივე პაროლი დაყენებულია სისტემის ყველა მომხმარებლისთვის, ამის გაკეთება საჭირო არ არის ინდუსტრიულ მონაცემთა ბაზაში). Ჩეკი გამოიყენეთ იგივე ადმინისტრაციული პაროლი ყველასათვის ანგარიშები, შეიყვანეთ პაროლი. შეიყვანეთ პაროლი Oracle Home მომხმარებლის პაროლი– Oracle Home-ის მფლობელი, რომლის სახელითაც Oracle-ის სერვისები იხსნება (ამ მომხმარებელი თქვენ შექმნით ან მიუთითებთ როდის Oracle-ის ინსტალაცია-). დააწკაპუნეთ შემდეგი.

9. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - ქსელის კონფიგურაცია. აირჩიეთ მსმენელის პროცესი ან შექმენით ახალი. დააწკაპუნეთ შემდეგი.

10. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - შენახვის ადგილები. მიუთითეთ მონაცემთა ბაზის ფაილების შენახვის მექანიზმი (ამ მაგალითში მითითებულია ფაილური სისტემა). აირჩიეთ ფაილისისტემა. მიუთითეთ საბაზისო ფაილების მდებარეობა (ამ მაგალითში გამოყენებული იქნება ნაგულისხმევი ბილიკები). Ჩეკი გამოყენებამონაცემთა ბაზაფაილილოკაციებიდანშაბლონი.

მიუთითეთ მონაცემთა ბაზის აღდგენის პარამეტრები (ამ მაგალითში აღდგენის პარამეტრები არ გამოიყენება). შეამოწმეთ ყუთი დააკონკრეტეთᲡწრაფიაღდგენაფართობი. ეს არის ნაგულისხმევი საქაღალდე, სადაც ინახება RMAN-ის სარეზერვო ასლები და ინახება ხელახალი ჟურნალის ფაილების დაარქივებული ასლები. ნაგულისხმევად, საქაღალდე მდებარეობს (ORACLE_BASE)\fast_recovery_area. მინდორში Სწრაფიაღდგენაფართობიშეგიძლიათ შეცვალოთ ეს გზა და ცალსახად დააყენოთ საქაღალდე სარეზერვო ასლი. პარამეტრში Სწრაფიაღდგენაფართობი ზომადაწესებულია ლიმიტი ამ საქაღალდის ზომაზე (უმჯობესია, რომ ის მთლიანი მოცულობის ტოლი იყოს მყარი დისკი). Პარამეტრი ჩართვადაარქივებართავს ჟურნალის ფაილების არქივის რეჟიმს. თუ დააჭერთ ღილაკს რედაქტირებაარქივირეჟიმიᲞარამეტრებიშემდეგ შეგიძლიათ შეცვალოთ ჟურნალის ფაილების არქივის სახელების ნიმუში, ასევე არქივის ასლების მულტიპლექსირების დამატებითი ბილიკები. დატოვე ყველაფერი ნაგულისხმევად.

ყურადღება: სამრეწველო ბაზისთვის საჭიროა ჩართოთ ჟურნალის ფაილების დაარქივების რეჟიმი. თუმცა, როდესაც მიიღწევა Fast Recovery Area საქაღალდის ლიმიტი (ანუ როდესაც ის სავსეა), მონაცემთა ბაზა შეჩერდება და დაელოდება თავისუფალ ადგილს. ამიტომ, თუ ამ საქაღალდის შევსების მონიტორინგი არ შეგიძლიათ - არ ჩართოთ ჟურნალის ფაილების დაარქივების რეჟიმი, ე.ი. არ შეამოწმოთ ყუთი ჩართვადაარქივება.

დააწკაპუნეთ შემდეგი.

11. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - მონაცემთა ბაზის პარამეტრები. აირჩიეთ საჭირო ბაზის კომპონენტები. დააწკაპუნეთ შემდეგი.

12. ფანჯარა. სანიშნე მეხსიერება. დააყენეთ მეხსიერების განაწილების მეთოდი და ზომა. აირჩიეთ Ტიპიური. მინდორში პროცენტირაოდენობის დაყენება ფიზიკური მეხსიერება, რომელიც Oracle-ს გადაეცემა. ჩვეულებრივ ეს 70-80% . თუ Oracle-ის გარდა სერვერზე მიმდინარეობს სხვა რესურსზე ინტენსიური პროცესები, აირჩიეთ რიცხვზე ნაკლები 70% .

13. დააჭირეთ ღილაკს ... ფანჯარა ინიციალიზაციის ყველა პარამეტრი. შეასწორეთ მნიშვნელობები (ველი ღირებულება) შემდეგი პარამეტრები:

საჭირო პარამეტრები (აუცილებელია შეცვლა!).

; აქტიური მომხმარებლების დიდი რაოდენობით (70-80-ზე მეტი).

; დაითვალეთ რეალური მომხმარებლები,

; არა კომპიუტერების რაოდენობა ქსელში.

; თუ მომხმარებელი 70-80-ზე ნაკლებია, არ შეეხოთ ამ პარამეტრებს.

; თუ 100-200-ზე მეტი მომხმარებელია, ალბათ უფრო ეფექტურად

; გამოიყენეთ გაზიარებული სერვერის რეჟიმი.

პროცესები = მომხმარებელთა რაოდენობა*2

სესიები = 1.1*პროცესები +5

დააწკაპუნეთ დახურვა. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - ინიციალიზაციის პარამეტრები.

14. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - ინიციალიზაციის პარამეტრები. სანიშნე გაზომვა. აირჩიეთ მონაცემთა ბაზის ბლოკის ზომა. მონაცემთა ბაზის ბლოკის ზომა უნდა იყოს მინიმუმ 8 კბ. თუ სერვერს აქვს კარგი დისკის ქვესისტემა ( SCSIდისკები ან RAID) შეუძლია აირჩიოს 16 კბდა უფრო მაღალი (ბლოკის ზომა აღემატება 8 კბაზრი აქვს მხოლოდ დიდ ბაზებს). მინდორში ბლოკის ზომაშეიყვანეთ სასურველი მნიშვნელობა ( 8192 ან 16384 ).

15. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - ინიციალიზაციის პარამეტრები. სანიშნე პერსონაჟიკომპლექტი. აირჩიეთ კოდირება მონაცემთა ბაზისთვის. კოდირება უნდა იყოს CL8MSWIN1251. ნაგულისხმევად არჩეულია გამოიყენეთ ნაგულისხმევი. თუ მითითებულია სწორი კოდირება, მაშინ არაფერი უნდა შეიცვალოს. თუ მითითებული კოდირება არ არის სწორი. ამ შემთხვევაში აირჩიე აირჩიეთ სიმბოლოების ნაკრების სიიდანდა აირჩიეთ სწორი კოდირება სიიდან CL8MSWIN1251. მინდორში ნაგულისხმევიენააირჩიეთ მნიშვნელობა ჩამოსაშლელი სიიდან რუსული» და შემდეგ ველში ნაგულისხმევი ტერიტორია- ნიშნავს " რუსეთი».

14. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - ინიციალიზაციის პარამეტრები. სანიშნე კავშირის რეჟიმი. აირჩიეთ სერვერის რეჟიმის გამოყოფა. დააწკაპუნეთ შემდეგი.

15. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - შექმნის ვარიანტი. აირჩიეთ შექმენით მონაცემთა ბაზა. დააწკაპუნეთ შემდეგი.

16. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - რეზიუმე. შეამოწმეთ არის თუ არა პარამეტრები სწორი. დააწკაპუნეთ კარგი.

17. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი - პროგრესის გვერდი. მიმდინარეობს მონაცემთა ბაზის შექმნის პროცესი. დაელოდეთ დასრულებას.

18. ფანჯარა მონაცემთა ბაზის კონფიგურაციის ასისტენტი. მონაცემთა ბაზის შექმნა დასრულდა. ჩანიშნეთ ვებ-მისამართი მონაცემთა ბაზის კონტროლისთვის. დააწკაპუნეთ დახურვა.

19. მონაცემთა ბაზა შეიქმნა და უკვე მუშაობს. მონაცემთა ბაზასთან დასაკავშირებლად სხვა ORACLE_HOME-ებიდან, თქვენ უნდა დააყენოთ მათთვის Oracle ქსელის გარემო.

20. მონაცემთა ბაზის შექმნის შემდეგ შეგიძლიათ შეცვალოთ მონაცემთა ბაზის ზოგიერთი პარამეტრი. ამისათვის თქვენ უნდა შეასრულოთ რამდენიმე sql ბრძანება sqlplus-ში (ან TOAD) SYS-ის ქვეშ და გადატვირთოთ მონაცემთა ბაზა.

გაუშვით sqlplus /nolog.

C:\> sqlplus /nolog

დაუკავშირდით მონაცემთა ბაზას, როგორც მომხმარებლის sys, როგორც sysdba

SQL> დაკავშირება sys/sys როგორც sysdba

გამორთეთ გადასამუშავებელი ურნის გამოყენება db-ში

SQL> შეცვალოს სისტემის ნაკრები recyclebin=off scope=spfile;

პაროლის რეგისტრის მგრძნობელობის გამორთვა

SQL> სისტემის ნაკრების შეცვლა sec_case_sensitive_logon=FALSE scope=ორივე;

მოაგვარეთ პრობლემა ORA-29471-თან: DBMS_SQL წვდომა აკრძალულია

SQL> სისტემური ნაკრების შეცვლა "_dbms_sql_security_level"=384 scope=spfile;

(არასავალდებულო) არ შეცვალოს მომხმარებლის პაროლი ყოველ 60 დღეში

შეუზღუდავის ნაცვლად შეგიძლიათ დააყენოთ რიცხვი = დღეების რაოდენობა

SQL> პროფილის შეცვლა DEFAULT ლიმიტი password_life_time unlimited;

DB გადატვირთვა

SQL> დაუყოვნებლივ გათიშვა

SQL> დაწყება

21. კლიენტების ძველი ვერსიები 8, 9, 10, 11 ვერ უკავშირდებიან Oracle 12c-ს შეცდომით:

ORA-28040: არ არის შესაბამისი ავტორიზაციის პროტოკოლი - 6i ფორმებისთვის

ORA-01031: არასაკმარისი პრივილეგიები - 11 გ კლიენტისთვის

პრობლემის გადასაჭრელად, თქვენ უნდა დაამატოთ sqlnet.ora სერვერზე

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

22. ზოგიერთი Oracle 10 და 11 კლიენტი ავარია ORA-01031-ით: არასაკმარისი პრივილეგიები შესრულების მცდელობისას

აირჩიეთ u.NAME
FROM sys. USER$u
Სად ხარ. TYPE# = 1
შეუკვეთეთ 1-ით

12c-დან SELECT ANY DICTIONARY-ის პრივილეგია აღარ იძლევა წვდომას უსაფრთხოების მგრძნობიარე მონაცემების ლექსიკონის ცხრილებზე DEFAULT_PWD$, ENC$, LINK$, USER$, USER_HISTORY$ და XS$VERIFIERS. ეს ცვლილება ზრდის მონაცემთა ბაზის ნაგულისხმევ უსაფრთხოებას, არ იძლევა წვდომის უფლებას მონაცემთა ლექსიკონის ცხრილების ქვეჯგუფზე SELECT ANY DICTIONARY პრივილეგიით.

შემოვლითი მანევრი:

GRANT SELECT ON sys. USER$ საჯარო;

Oracle-ის მონაცემთა ბაზის ხელით შექმნა რამდენიმე ნაბიჯს მოიცავს. ზოგიერთი მათგანი დამოკიდებულია ოპერაციული სისტემა. მაგალითად, Windows-ის გარემოში, მონაცემთა ბაზის შექმნამდე, ჯერ უნდა გაუშვათ Oracle პროგრამა, რომელიც გამოიყენება მონაცემთა ბაზის სერვისის შესაქმნელად. ნაბიჯები მონაცემთა ბაზის ხელით შესაქმნელად:

  1. დაწერეთ მონაცემთა ბაზის შექმნის სკრიპტი. ასეთი სცენარის მაგალითი მოცემულია მე-6 ნაბიჯში.
  2. შექმენით დირექტორია სტრუქტურა, რომელიც მასპინძლობს ახალ მონაცემთა ბაზას. მიჰყევით ინსტრუქციას ოპტიმალური მოქნილი არქიტექტურის შესაქმნელად.
  3. შეცვალეთ Oracle-ის მიერ შენახული init.ora ფაილის ნიმუში, რათა აისახოს ახალი მონაცემთა ბაზის პარამეტრები.
  4. აღწერეთ Oracle-ის SID სახელი. Windows პლატფორმაზე, ოპერაციული სისტემის მოთხოვნაზე, შეიყვანეთ: დააყენეთ ORACLE_SID = mydb

    UNIX-ში შეიყვანეთ:

    ექსპორტი ORACLE_SID = mydb

  1. დაამყარეთ მონაცემთა ბაზის კავშირი SQL* Plus as-ის საშუალებით SYSTEM / MANAGER როგორც sysdbaან როგორ / როგორც sysdbaდა შეიყვანეთ შემდეგი ბრძანება მონაცემთა ბაზის nomount რეჟიმში დასაწყებად: startup nomount pfile= D:/oracleadmin/mydbscripts/initMYDB.ora; შეცვალეთ თქვენი ინიციალიზაციის პარამეტრები აქ მოცემული pfile პარამეტრის მნიშვნელობების ნაცვლად.
  2. მონაცემთა ბაზის დაწყების შემდეგ გამოიყენეთ თქვენს მიერ დაწერილი სკრიპტი Oracle-ის მონაცემთა ბაზის შესაქმნელად. აქ არის ნიმუში: შექმენით მონაცემთა ბაზა MYNEW maxinstances 1 maxloghistory 1 maxlogfiles 5 maxlogmembers 5 maxdatafiles 100 datafile d:/oracle/oradata/mydb/system01.dbf ზომა 325M ხელახალი გამოყენება ავტომატური გაფართოება შემდეგი 10240M ავტომატური გაფართოება დაყენებული 10240K სიმბოლოზე 10240K შემდეგი 10240K სიმბოლოზე ავტომატური გაფართოება კომპლექტი 10240K ნაციონალურ 10240K სიმბოლოზე. (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 გაუქმება tablespace UND0_TS მონაცემთა ფაილი d:/oracle/oradata/mydb/emp0.dbf ზომა 150M ხელახლა გამოყენებაზე maimit1x0 ;
  • მონაცემთა ბაზის შექმნის შემდეგ გაუშვით catalog.sql, catproc.sql, catexp.sql სკრიპტები და ნებისმიერი ახალი სკრიპტი, რომელიც საჭიროა თქვენ მიერ დაინსტალირებული პროდუქტების მხარდასაჭერად. UNIX სისტემაში სკრიპტები განლაგებულია $ORACLE_HOME\rdbms\admin დირექტორიაში, ხოლო Windows გარემოში, $ORACLE_HOME/rdbms/admin-ში. გადახედეთ სკრიპტებს მათ გაშვებამდე, რადგან ბევრი კატალოგის სკრიპტები სხვა სკრიპტებს უწოდებენ.
  • გაძლიერებული უსაფრთხოებისთვის, შეიყვანეთ სულ მცირე რამდენიმე სხვა პაროლი SYS-ისა და SYSTEM-ისთვის, ვიდრე დატოვოთ ნაგულისხმევი MANAGER და CHANGE_ON_INSTALL პაროლები. მე-6 ნაბიჯის ნიმუშის სკრიპტი ქმნის UNDO ცხრილის სივრცეს. მისი ინიციალიზაციის ვარიანტებია: undo_management=AUTO undo_tablespce=UNDOTBS ერთადერთი ვარიანტი, რომელსაც ვერ შეცვლით მონაცემთა ბაზის შექმნის შემდეგ არის მონაცემთა ბაზის ბლოკის ზომა, რომელიც თქვენ აღწერეთ init.ora ფაილში მის შექმნამდე. ამ მნიშვნელობის დასაყენებლად გამოიყენება DB_BLOCK_SIZE პარამეტრი. მაგალითად, შემდეგი ხაზი ადგენს მონაცემთა ბაზის ბლოკის ნაგულისხმევ ზომას 8 კბ-მდე. DB_BL0CK_SIZE=8k თქვენს მონაცემთა ბაზაში მოქმედი პარამეტრების სანახავად, მოითხოვეთ V$PARAMETER დინამიური ძიება: აირჩიეთ სახელი, მნიშვნელობა, IsDefault V$PARAMETER-დან;

ლაბორატორია #1

Oracle Database 11g Express Edition მონაცემთა ბაზა. SQL მოთხოვნების დიზაინი

ობიექტური

Oracle Database 11g Express Edition-ის მომხმარებლის ინტერფეისის (DB) შესწავლა და SQL მოთხოვნების შექმნა.

Დავალებები

მონაცემთა ბაზის კავშირის შექმნა Oracle Database 11g Express Edition-თან. HR სქემის ობიექტების შესწავლა და მონაცემთა მოდელის შედგენა. SQL მოთხოვნების შემუშავება Query Editor და Query Builder რეჟიმებში მონაცემების შესარჩევად.


თეორიული ნაწილი

3.1. Ზოგადი ინფორმაცია DB-ს შესახებ

Oracle Database 11g Express Edition (Oracle Database XE) არის მსოფლიოში ყველაზე ძლიერი ურთიერთობითი მონაცემთა ბაზის უფასო (უფასო) ვერსია. იდეალურია ინსტალაციისთვის საგანმანათლებო ინსტიტუტებისტუდენტების სწავლების მიზნით თანამედროვე მეთოდებიმუშაობა Oracle-ის ურთიერთობით მონაცემთა ბაზებთან და აპლიკაციების შემუშავება მომხმარებლის მონაცემების ჩვენებისა და მონაცემების მანიპულირებისთვის.

Oracle Database XE არის მარტივი ინსტალაცია და მარტივი მართვა. შეგიძლიათ ჩამოტვირთოთ ინსტალაციის ფაილები სხვადასხვა პლატფორმისთვის Oracle-ის ოფიციალურ ვებსაიტზე http://www. /technetwork/database/database-technologies/express-edition/downloads/index. html.

Oracle Database XE შეიძლება დაინსტალირდეს კომპიუტერზე (მასპინძელი მანქანა) ნებისმიერი რაოდენობის პროცესორით (თითო მონაცემთა ბაზა თითო კომპიუტერზე), მაგრამ Oracle Database XE შეინახავს მხოლოდ 11 გბ-მდე მომხმარებლის მონაცემებს, გამოიყენებს 1 გბ-მდე მეხსიერებას და გამოიყენებს მხოლოდ ერთი პროცესორი თითო მასპინძელ მანქანაზე.

Oracle Database 11g Express Edition არის ურთიერთდამოკიდებულების მონაცემთა ბაზა, რომელიც ინახავს და ინახავს დაკავშირებული ინფორმაციის კოლექციებს. ურთიერთობით მონაცემთა ბაზაში ინფორმაციის შესანახი ობიექტები ორგანიზებულია სტრუქტურებად, რომლებსაც ცხრილები ეწოდება. თითოეული ცხრილი შეიცავს სტრიქონებს (ჩანაწერებს), რომლებიც შედგება სვეტებისგან (ველები). ცხრილები ინახება მონაცემთა ბაზაში სტრუქტურებში, რომელსაც ეწოდება სქემები. სქემები არის მონაცემთა ლოგიკური სტრუქტურები, რომლებშიც მონაცემთა ბაზის მომხმარებლები ინახავენ თავიანთ ცხრილებს და სხვა ობიექტებს.


Oracle Database XE წვდომა ხდება მონაცემთა ბაზის საწყისი გვერდის გამოყენებით, რომელსაც აქვს ინტუიციური გრაფიკული ინტერფეისი. მთავარ გვერდზე წვდომა ორგანიზებულია ვებ სერვისის საფუძველზე. მთავარი გვერდი მომხმარებელს აძლევს ვებ ინსტრუმენტებს მონაცემთა ბაზის ადმინისტრირებისთვის, ცხრილების, ხედების და სხვა სქემის ობიექტების შესაქმნელად, ცხრილის მონაცემების იმპორტი, ექსპორტი, ნახვა, რედაქტირება. ეს ხელსაწყოები საშუალებას გაძლევთ გაუშვათ SQL მოთხოვნები და SQL სკრიპტები, შექმნათ და გამართოთ PL/SQL პროგრამები, განავითაროთ მონაცემთა ბაზის აპლიკაციები და შექმნათ ანგარიშები.

Oracle Database XE შეიცავს ჩაშენებულ HR (ადამიანური რესურსების) სქემას, რომელიც არის დაკავშირებული ცხრილის სქემის მაგალითი. HR სქემას აქვს ცხრილები თანამშრომლებისა და განყოფილებების შესახებ ფიქტიური ინფორმაციის შესანახად. ცხრილები შეიცავს საერთო სვეტებს, რომლებიც საშუალებას აძლევს ერთი ცხრილის მონაცემებს დაუკავშირდეს სხვა ცხრილების მონაცემებს. HR სქემას ეკუთვნის მომხმარებელი, სახელად HR.

3.2. Oracle Database XE-ზე წვდომა

მომხმარებლები წვდებიან Oracle Database 11g Express Edition-ის მეშვეობით ანგარიშიმონაცემთა ბაზის მომხმარებელი. მონაცემთა ბაზის ინსტალაციისას ავტომატურად იქმნება SYS და SYSTEM მომხმარებლის ანგარიშები - ეს არის მომხმარებლები, რომლებსაც აქვთ მონაცემთა ბაზის ადმინისტრირების პრივილეგიები. ასევე ავტომატურად იქმნება HR მომხმარებლის ანგარიში, რომელსაც არ აქვს ადმინისტრაციული პრივილეგიები.

თუმცა, უსაფრთხოების მიზეზების გამო, HR მომხმარებლის ანგარიში დაბლოკილია. თქვენ უნდა განბლოკოთ ეს ანგარიში, სანამ დაიწყებთ მუშაობას HR სქემის ობიექტებთან. ამისათვის შეგიძლიათ გამოიყენოთ SQL*Plus ბრძანების ხაზი.


მომხმარებლის ანგარიშის განბლოკვის მიზნით გამოყენებით ბრძანების ხაზი SQL* Plus, გჭირდებათ:

დაწყება ღილაკი -> ყველა პროგრამა -> Oracle Database 11g Express Edition -> გაუშვით SQL Command Line. დაკავშირება, როგორც SYSTEM მომხმარებელი:

    ჩაწერეთ connect შეიყვანეთ სახელი დასაკავშირებლად: SYSTEM შეიყვანეთ პაროლი:<пароль-для-SYSTEM >
წარმატებული კავშირის შემდეგ (შეტყობინება დაკავშირებულია), შეიყვანეთ შემდეგი SQL განცხადება:

SQL> ALTER USER HR ACCOUNT UNLOCK;

შეიყვანეთ მომხმარებლის HR პაროლი შემდეგი SQL განცხადების გამოყენებით:

SQL> ALTER USER HR IDENTIFIED BY HR;

რედაქტორიდან გასასვლელად, შეიყვანეთ SQL განცხადება:

SQL*Plus Command Line Editor ფანჯარა ნაჩვენებია სურათზე 1. 1.1.

ბრინჯი. 1.1. SQL*Plus ბრძანების ხაზის რედაქტორის ფანჯარა

Oracle Database XE მონაცემთა ბაზასთან დაკავშირება ხდება საწყისი გვერდის მეშვეობით, ბრაუზერზე დაფუძნებული ვებ ინტერფეისი მონაცემთა ბაზის ადმინისტრირების სხვადასხვა ოპერაციების შესასრულებლად, მათ შორის:

    შენახვის ბაზის მონიტორინგი (Storage); მონაცემთა ბაზის სესიების (Sessions) მონიტორინგი; მონაცემთა ბაზის ინიციალიზაციის პარამეტრების ნახვა (პარამეტრები); Oracle Application Express-ის (Application Express) დაწყება.

მთავარ გვერდზე წვდომა: დაწყება ღილაკი -> ყველა პროგრამა -> Oracle Database 11g Express Edition -> დაწყება.

Oracle Database XE-ის მთავარი გვერდი გამოჩნდება ბრაუზერის ფანჯარაში (სურათი 1.2).

ბრინჯი. 1.2. Oracle Database XE-ის მთავარი გვერდი

დააჭირეთ Application Express ღილაკს. როდესაც მოგეთხოვებათ შესვლის ინფორმაცია, შეიყვანეთ: მომხმარებლის სახელი - SYSTEM, პაროლი -<пароль-для-SYSTEM >, როგორც SQL*Plus ბრძანების ხაზის რედაქტორში. დააწკაპუნეთ ღილაკზე შესვლა (ნახ. 1.3).


ბრინჯი. 1.3. მომხმარებლის დაკავშირება მონაცემთა ბაზის ადმინისტრატორის როლით Oracle Database XE-სთან

შემდეგი ნაბიჯი არის Oracle Application Express სამუშაო სივრცის შექმნა HR მომხმარებლისთვის. ეს სამუშაო სივრცე შეიცავს მონაცემთა ბაზის ყველა აპლიკაციას, რომლებთანაც HR მომხმარებელს უფლება აქვს იმუშაოს. სამუშაო სივრცის შექმნის ფორმა ნაჩვენებია ნახ. 1.4.

ბრინჯი. 1.4. Oracle Application Express Workspace-ის შექმნა

განაცხადის Express მომხმარებლის სახელი არის სამუშაო სივრცის სახელი. თქვენ შეგიძლიათ გამოიყენოთ მომხმარებლის სახელი (HR) ან ნებისმიერი სხვა (მაგალითად, hr_apex). დაადასტურეთ პაროლი. დააწკაპუნეთ სამუშაო სივრცის შექმნაზე. შემდეგ გვერდზე, დააწკაპუნეთ აქ, რათა შეხვიდეთ სამუშაო სივრცეში. სამუშაო სივრცეში წვდომას პირველად ცდილობთ, მოგეთხოვებათ შეცვალოთ პაროლი სამუშაო სივრცისთვის (შეგიძლიათ გამოიყენოთ იგივე ან სხვა პაროლი).

Oracle Application Express სამუშაო სივრცის შექმნა მხოლოდ ერთხელ უნდა გაკეთდეს. შემდეგი მონაცემთა ბაზის კავშირებისთვის გამოიყენეთ Already have in account? შედით აქ. სამუშაო სივრცეში შესასვლელად ნაჩვენები იქნება Oracle Application Express-ის ფორმა, ნახ. 1.5.

იმისათვის, რომ გამოტოვოთ SYSTEM მომხმარებლის ავტორიზაციის საფეხურები და გადავიდეთ ფორმაზე ნახ. 1.5, დააკოპირეთ და შეინახეთ ამ ფორმის URL (მაგალითად, http://127.0.0.1:8080/apex/f?p=4550:1:494885012264286) და გამოიყენეთ იგი ვებ ბრაუზერში, რომ პირდაპირ დაიწყოთ ავტორიზაციასთან მუშაობა ფორმა.


Oracle Application Express სამუშაო სივრცეში შესვლის შემდეგ იხსნება საწყისი გვერდი, რომელზედაც განლაგებულია ძირითადი კონტროლი - Application Builder, SQL Workshop, Team Development, Administration ხატები (ნახ. 1.6).

სურათი 1.6. Oracle Application Express Workspace საწყისი გვერდის კონტროლის ხატები

ხატის სურათზე დაწკაპუნება იწვევს ახალ გვერდზე გადასვლას დაშვებული ოპერაციების ხატებით. SQL Workshop-ის ხატულაზე დაწკაპუნება საშუალებას გაძლევთ შეხვიდეთ ინსტრუმენტებზე მონაცემთა ბაზის ობიექტების შესასწავლად (Object Browser, Utilites) და მათთან მუშაობისთვის. SQL მოთხოვნებიბრძანებები, SQL სკრიპტები, Query Builder (ნახ. 1.7).

ბრინჯი. 1.7. ინსტრუმენტები მონაცემთა ბაზის ობიექტების შესასწავლად და SQL შეკითხვებთან მუშაობისთვის

3.3. მონაცემებზე წვდომა SQL-ით

SQL არის არაპროცედურული ენა მონაცემთა ბაზაში წვდომისთვის. SQL განცხადებები შექმნილია სხვადასხვა ამოცანების შესასრულებლად, როგორიცაა Oracle Database XE-ის ცხრილებიდან მონაცემების მოძიება. მონაცემთა ბაზის ყველა ოპერაცია ხორციელდება SQL განცხადებების გამოყენებით. თქვენ შეგიძლიათ შეასრულოთ შემდეგი ოპერაციები SQL განცხადებების გამოყენებით:

    ცხრილებში მონაცემების გამოკითხვა, ჩასმა და განახლება; მონაცემების ფორმატირება, მონაცემების საფუძველზე გამოთვლების შესრულება, შეკითხვის შედეგების შენახვა და დაბეჭდვა; ცხრილების სტრუქტურის შესწავლა და მონაცემთა ბაზის ობიექტების განსაზღვრა.

მონაცემთა მოპოვების მოთხოვნების შექმნა

აირჩიეთ განცხადების სინტაქსი ცხრილის ყველა ჩანაწერის შესარჩევად


თქვენ შეგიძლიათ მიუთითოთ მეტსახელი სვეტის სახელის შემდეგ შერჩეულ სიაში, გამოიყენეთ სივრცე, როგორც დელიმიტერი. თუ მეტსახელი შეიცავს ინტერვალებს ან სპეციალურ სიმბოლოებს, როგორიცაა რიცხვითი ნიშანი # ან დოლარის ნიშანი $, ან თუ ის არის რეგისტრის მგრძნობიარე, ჩასვით მეტსახელი ბრჭყალებში "". მაგალითი:

SELECT staff_id "თანამშრომლის ID ნომერი",

last_name "თანამშრომლის გვარი",

first_name "თანამშრომლის სახელი"

რიგის შერჩევის ლიმიტი

თქვენ შეგიძლიათ შეზღუდოთ სტრიქონების რაოდენობა, რომლებიც ამოღებულია მონაცემთა ბაზიდან WHERE პუნქტის გამოყენებით SQL განცხადებაში. WHERE პუნქტის დამატებით, შეგიძლიათ მიუთითოთ პირობა, რომელიც უნდა დაკმაყოფილდეს და დაბრუნდება მხოლოდ ის რიგები, რომლებიც ემთხვევა პირობას.

WHERE პუნქტის გამოყენებისას:

    WHERE პუნქტი დაუყოვნებლივ მიჰყვება FROM პუნქტს SQL განცხადების სინტაქსში; WHERE პუნქტი შედგება WHERE საკვანძო სიტყვისა და პირობისგან (ან მრავალი პირობისგან); WHERE პუნქტის მდგომარეობა განსაზღვრავს მნიშვნელობების შედარებას, რომელიც ზღუდავს მოთხოვნის მიერ დაბრუნებული რიგების რაოდენობას.

ცხრილების შერწყმა

ზოგჯერ საჭირო ხდება მონაცემების ჩვენება რამდენიმე ცხრილიდან. ამისათვის, SELECT განცხადების FROM პუნქტი განსაზღვრავს ცხრილების სახელების ჩამონათვალს, საიდანაც ხდება მონაცემების მოძიება. თუ ინფორმაცია ერთზე მეტი ცხრილიდან მოდის, ცხრილები გაერთიანდება.


მაგალითად, EMPLOYEES ცხრილში, DEPARTMENT_ID სვეტი წარმოადგენს თანამშრომლის განყოფილების ნომერს. DEPARTMENTS ცხრილს აქვს DEPARTMENT_ID სვეტი, ასევე DEPARTMENT_NAME სვეტი. შეგიძლიათ დააკავშიროთ მონაცემები EMPLOYEES და DEPARTMENTS ცხრილებიდან DEPARTMENT_ID სვეტის გამოყენებით და შექმნათ ანგარიში, რომელიც აჩვენებს თანამშრომლების სახელებს და დეპარტამენტის სახელებს.

შიდა მაგიდა უერთდება

შიდა შეერთება აერთიანებს დაკავშირებული ცხრილების სვეტებს საერთო ველზე ან საერთო ველების კომბინაციებზე დაყრდნობით. ამ შეერთებით, შედეგების ნაკრები არ შეიცავს სტრიქონებს არცერთი ცხრილიდან, რომლებსაც არ აქვთ შესატყვისი სხვა ცხრილში. შიდა შეერთებისას შეერთების მდგომარეობა მკაცრად უნდა იყოს დაცული.

ბუნებრივი გაერთიანება

ბუნებრივი შეერთება საშუალებას გაძლევთ აჩვენოთ მონაცემები ორი ცხრილიდან, როდესაც ერთ ცხრილის ერთი სვეტის მნიშვნელობა პირდაპირ ემთხვევა მეორე ცხრილის მეორე სვეტის მნიშვნელობას. თუ ორი ცხრილი შეიცავს ერთ ან მეტ სვეტს, რომლებსაც აქვთ იგივე სახელები და მონაცემთა ტიპები, ბუნებრივი შეერთება აბრუნებს ყველა სტრიქონს ორი ცხრილიდან, რომლებსაც აქვთ იგივე მნიშვნელობები ყველა შესაბამის სვეტში. ხშირად ამ ტიპის შეერთება მოიცავს ძირითად და უცხო გასაღების სვეტებს.

Სინტაქსი

მაგალითი:

აირჩიეთ თანამშრომლის_იდენტიფიკატორი, გვარი, სახელი, დეპარტამენტის_იდენტიფიკატორი,

დეპარტამენტის_სახელი, მენეჯერის_იდენტიფიკატორი

თანამშრომლებიდან NATURAL JOIN განყოფილებები

ორი ცხრილის შეერთება USING განაცხადით

USING განცხადება საშუალებას გაძლევთ მიუთითოთ სვეტები, რომლებიც გამოყენებული იქნება ორ ცხრილს შორის შესაერთებლად. სვეტების სახელები უნდა იყოს იგივე ორივე ცხრილისთვის და უნდა იყოს თავსებადი მონაცემთა ტიპები. გამოიყენეთ USING განცხადება, თუ თქვენი ცხრილები შეიცავს ერთზე მეტ სვეტს, რომელთა სახელები ემთხვევა და მკაფიოდ უნდა განსაზღვროთ იმ სვეტის სახელი, რომელზეც გსურთ ცხრილების შეერთება.


Სინტაქსი


შეუერთეთ ცხრილები სვეტების იდენტიფიკაციით. განცხადება ON

ON განცხადება გამოიყენება ორი ცხრილისთვის შეერთების პირობის ან ცხრილისთვის თვითშეერთების პირობის დასადგენად. ON განაცხადი საშუალებას გაძლევთ დაწეროთ შეერთების პირობა სხვადასხვა სვეტის სახელებისთვის, მაგრამ ამ სვეტების მონაცემთა ტიპები უნდა ემთხვეოდეს.

Სინტაქსი

თანამშრომლებიდან JOIN job_history

შეერთების დამატებითი პირობების გამოყენება

ხშირად საჭიროა ორი ცხრილის მონაცემების გაერთიანება, რათა დაკმაყოფილდეს გარკვეული დამატებითი პირობები. მაგალითად, ვთქვათ, გსურთ აჩვენოთ EMPLOYEES და DEPARTMENTS ცხრილებში შეერთების შედეგი მხოლოდ იმ თანამშრომლისთვის, რომლის ID არის 149. მეტი პირობების დასამატებლად ON ოპერატორს, შეგიძლიათ დაამატოთ AND ოპერატორი. თქვენ ასევე შეგიძლიათ გამოიყენოთ WHERE პუნქტი ცხრილის რიგების წინასწარ შესარჩევად დამატებითი პირობების გამოსაყენებლად.

AND ოპერატორის გამოყენებით

და ე. manager_id = 149

WHERE პუნქტის გამოყენებით

აირჩიეთ ე. თანამშრომელი_იდ ე. გვარი ე. დეპარტამენტის_იდენტიფიკატორი,


დ. დეპარტამენტის_იდენტიფიკატორი, დ. location_id

თანამშრომლებიდან და შეუერთდით განყოფილებებს დ

ჩართულია (e.department_id = d.department_id)

სად ე. manager_id = 149

ცხრილის მეტსახელები

მაგალითები გვიჩვენებს, თუ როგორ გამოიყენება მეტსახელები ცხრილების სახელების იდენტიფიცირებისთვის. FROM პუნქტში, აბრევიატურა გამოჩნდება ცხრილის სახელის შემდეგ. ამ შემოკლებულ სახელს მეტსახელი ეწოდება. მას შემდეგ, რაც მეტსახელი შეიქმნება FROM პუნქტში, ის შეიძლება გამოყენებულ იქნას SELECT პუნქტის ნებისმიერ ნაწილში.

მრავალი ცხრილის შეერთება

მრავალი ცხრილის შეერთება გამოიყენება მაშინ, როდესაც საჭირო ინფორმაცია ორზე მეტ ცხრილზეა გავრცელებული. მაგალითი იქნება სამმხრივი შეერთება - სამი ცხრილის შეერთება. დავუშვათ, რომ აუცილებელია თანამშრომლების, მათი ქვეშევრდომების და თანამშრომლებისთვის განყოფილებების სახელების პოვნა. ეს მოითხოვს წვდომას სამ ცხრილზე: - თანამშრომლები, დამოკიდებულები და განყოფილებები. შესაძლებელია იმდენი ცხრილის შეერთება, რამდენიც საჭიროა თანმიმდევრული ინფორმაციის მისაღებად.

Სინტაქსი

FROM პუნქტში უნდა იყოს მითითებული შესაერთებელი ცხრილები.

მაგალითი

აირჩიეთ ე. გვარი, დ. first_name, w. დეპარტამენტის სახელწოდება
თანამშრომლებისგან ე

შეუერთდი დამოკიდებულებს დ

ON d. ნათესავი_იდენტი = ე. თანამშრომელი_იდენტიფიკატორი

შეუერთდით დეპარტამენტებს w

ON w. დეპარტამენტის_იდენტი = ე. დეპარტამენტის_იდენტიფიკატორი

მაგიდების თვითშეერთება

ON განცხადება ასევე შეიძლება გამოყენებულ იქნას სვეტების შესაერთებლად, რომლებსაც აქვთ სხვადასხვა სახელები (იგივე ცხრილში ან სხვა ცხრილში). თუ შესაერთებელი სხვადასხვა სახელების სვეტები განლაგებულია იმავე ცხრილში, მაშინ ცხრილები თვითშეერთებაა. მაგალითად, შეგიძლიათ თავად შეუერთდეთ EMPLOYEES ცხრილში EMPLOYEE_ID და MANAGER_ID სვეტების საფუძველზე.

მაგიდების გარე შეერთებები

გარე შეერთება ასევე აერთიანებს დაკავშირებული ცხრილების სტრიქონებს საერთო ველზე ან საერთო ველების კომბინაციაზე დაყრდნობით. თუმცა, შედეგების ნაკრები მოიცავს სტრიქონებს ერთ-ერთი ცხრილიდან, მაშინაც კი, თუ მათ არ აქვთ შესატყვისი სხვა ცხრილში. გარე შეერთებით, შეერთების მდგომარეობა მკაცრად არ არის დაცული. ერთ-ერთი ცხრილი სავალდებულოა - შედეგების ნაკრები შეიცავს მის ყველა სტრიქონს.

Სინტაქსი

LEFT არის მარცხენა გარე შეერთება. მიუთითებს, რომ ცხრილი1 არის აუცილებელი ცხრილი (შედეგების ნაკრები შეიცავს მის ყველა მწკრივს) და ცხრილი2 არჩევითია. ცხრილის 1-ის იმ მწკრივებისთვის, რომლებიც არ ემთხვევა ცხრილში 2, დაბრუნდება NULL.

RIGHT არის სწორი გარე შეერთება. სავალდებულო ცხრილი ცხრილი2, ცხრილი1 სურვილისამებრ.

FULL არის სრული გარე შეერთება. ეს არის ორმხრივი გარე შეერთება. შედეგად მიღებული ნაკრები მოიცავს:

    შიდა მაგიდის ყველა რიგები უერთდება; რიგები ცხრილის 1-ში, რომლებიც არ ემთხვევა ცხრილში2; რიგები ცხრილში 2, რომლებიც არ ემთხვევა ცხრილში 1.

OUTER არის არჩევითი საკვანძო სიტყვა. მიუთითებს, რომ გარე შეერთება მიმდინარეობს.

SELECT თანამშრომლები.*, job_history.*

FROM თანამშრომლები LEFT JOIN job_history
თანამშრომლებზე. დაქირავება_თარიღი = სამუშაო_ისტორია. დაწყების თარიღი


ჯგუფური ოპერაციები

ჯგუფური ოპერაციები ამუშავებს მრავალ რიგს და აბრუნებს ერთ განზოგადებულ შედეგს. სინამდვილეში, ისინი საშუალებას გაძლევთ დააკავშიროთ ამა თუ იმ ფორმით მონაცემთა ბაზიდან დაბრუნებული მსგავსი ინფორმაცია. ჯგუფური ოპერაციების შესასრულებლად Oracle უზრუნველყოფს ზოგად ფუნქციებს და დაჯგუფების ინსტრუქციებს (GROUP BY, HAVING და სხვა).

ყველაზე ზოგადი ფუნქციების სინტაქსია:

generic_function (გამოხატვა)

Generalizing_function - განსაზღვრავს განზოგადების ფუნქციის სახელს: COUNT (თვლა), AVG (საშუალო მნიშვნელობა), MAX (მაქსიმალური მნიშვნელობა), MIN (მინიმალური მნიშვნელობა), STDDEV (სტანდარტული სტანდარტული გადახრა), SUM (ჯამობა), VARIANCE (სტატისტიკური).

DISTINCT - მიუთითებს, რომ განზოგადების ფუნქციამ უნდა გაითვალისწინოს მხოლოდ გამოხატვის არაგანმეორებადი მნიშვნელობები.

ALL - მიუთითებს, რომ განზოგადების ფუნქციამ უნდა გაითვალისწინოს გამოხატვის ყველა მნიშვნელობა, დუბლიკატების ჩათვლით. ნაგულისხმევი არის ALL-ის გამოყენება.

გამოხატვა - განსაზღვრავს სვეტს ან ნებისმიერ სხვა გამონათქვამს, რომელზედაც შეჯამდება.

ზოგადი ფუნქციებით გამოხატვის NULL მნიშვნელობები იგნორირებულია და არ შედის შედეგში.

აირჩიეთ MAX(ხელფასი) თანამშრომლებიდან - იპოვეთ ხელფასის სვეტის მაქსიმალური მნიშვნელობა მთელ EMPLOYEES ცხრილში.

აირჩიეთ count(*) რეგიონებიდან - ითვლის ჩანაწერების რაოდენობას REGIONS ცხრილში.

GROUP BY განცხადება

გამოიყენება შემაჯამებელ ფუნქციებთან ერთად, ყოფს შედეგებს მრავალ ჯგუფად და შემდეგ აბრუნებს შემაჯამებელი ინფორმაციის ერთ ხაზს თითოეული ჯგუფისთვის. თუ SELECT სიაში არის გენერიკებისა და არაგენერიკების ნაზავი, SQL თვლის, რომ ჯგუფი შესრულებულია ოპერაციით, ამიტომ ნებისმიერი არაგენერიკული გამონათქვამი ასევე უნდა იყოს მითითებული ჯგუფში პუნქტებით. თუ ეს არ გაკეთებულა, Oracle გამოსცემს შეცდომის შეტყობინებას.


დაუშვებელია ჯგუფის (განზოგადების) ფუნქციის გამოყენება GROUP BY პუნქტში.

სვეტის მიხედვით დაჯგუფებისას, რომელიც შეიცავს NULL მნიშვნელობებს ზოგიერთ მწკრივში, NULL მნიშვნელობების მქონე ყველა მწკრივი მოთავსებულია ერთ ჯგუფში და წარმოდგენილია გამოსავალში, როგორც ერთი შემაჯამებელი მწკრივი.

შემაჯამებელი შედეგების მისაღებად GROUP BY პუნქტის გამოყენებით, შესაძლებელია ცხრილის ჩანაწერების გაფილტვრა WHERE პუნქტის გამოყენებით. SQL განაცხადის შესრულებისას, რომელიც შეიცავს WHERE და GROUP BY პუნქტებს, Oracle ჯერ იყენებს WHERE პუნქტს და აშორებს რიგებს, რომლებიც არ აკმაყოფილებენ WHERE პუნქტს. რიგები, რომლებიც აკმაყოფილებს WHERE პუნქტს, შემდეგ ჯგუფდება GROUP BY პუნქტის მიხედვით. SQL სინტაქსი მოითხოვს WHERE პუნქტს წინ უძღოდეს GROUP BY პუნქტს.

განცხადების ქონა

გამოიყენება GROUP BY პუნქტით შექმნილ ჯგუფებზე ფილტრის გამოსაყენებლად. თუ მოთხოვნა შეიცავს GROUP BY და HAVING, შედეგების ნაკრები შეიცავს მხოლოდ იმ ჯგუფებს, რომლებიც აკმაყოფილებენ HAVING განცხადებაში მითითებულ პირობას. HAVING პუნქტის სინტაქსი მსგავსია WHERE პუნქტის სინტაქსისა. მაგრამ არსებობს ერთი შეზღუდვა HAVING განცხადებისთვის. ეს პირობა (მითითებულია HAVING პუნქტში) შეიძლება გავრცელდეს მხოლოდ SELECT სიის გამონათქვამებზე ან GROUP BY პუნქტზე. თუ HAVING შეიცავს რაღაცას, რომელიც არ არის SELECT-ში ან GROUP BY-ში, გამოვა შეცდომის შეტყობინება.

SELECT განცხადებაში GROUP BY და HAVING განცხადებების თანმიმდევრობას მნიშვნელობა არ აქვს.

თქვენ შეგიძლიათ გამოიყენოთ WHERE და HAVING განცხადებები იმავე მოთხოვნაში. მნიშვნელოვანია გვესმოდეს, თუ როგორ მოქმედებს ერთი ინსტრუქცია მეორეზე. ჯერ შესრულებულია WHERE პუნქტი, ხოლო რიგები, რომლებიც აკმაყოფილებს WHERE პუნქტს, გადაეცემა GROUP BY პუნქტს. GROUP BY პუნქტი ანაწილებს გაფილტრულ მონაცემებს ჯგუფებად, შემდეგ კი HAVING პუნქტი გამოიყენება ჯგუფებზე, რათა აღმოფხვრას ჯგუფები, რომლებიც არ აკმაყოფილებენ HAVING პუნქტს.


სინტაქსი შეკითხვებისთვის განზოგადების ფუნქციებითა და დაჯგუფებით

3.4. ინსტრუმენტები SQL მოთხოვნების შექმნისა და შესრულებისთვის

Oracle Database XE-ში შეგიძლიათ დაწეროთ და შეასრულოთ SQL განცხადებები გამოყენებით SQL ინსტრუმენტიბრძანებები (SQL query editor), ან შეგიძლიათ გამოიყენოთ Query Builder ინსტრუმენტი (query designer) გრაფიკული ინტერფეისის მქონე მოთხოვნების შესაქმნელად (ნახ. 1.7).

SQL შეკითხვის რედაქტორის გაშვება: დააწკაპუნეთ SQL ბრძანებების ხატულაზე.

SQL მოთხოვნის შეყვანა და შესრულება: SQL ბრძანებების გვერდზე ჩაწერეთ შეკითხვის ტექსტები -> აირჩიეთ მოთხოვნა, რომელიც უნდა შეასრულოთ -> დააწკაპუნეთ ღილაკზე Run. შეკითხვის შესრულების შედეგი არის ფანჯრის ბოლოში (ნახ. 1.8).

ბრინჯი. 1.8. SQL მოთხოვნების შეყვანა და შესრულება SQL ბრძანებების გვერდზე

Oracle Database XE-ს აქვს მოსახერხებელი გრაფიკული ინსტრუმენტი SQL მოთხოვნების შესაქმნელად - Query Builder. Query Builder-ის გაშვება: დააწკაპუნეთ Query Builder ხატულაზე (ნახ. 1.7) ან იმავე პუნქტზე SQL Workshop-ის ჩამოსაშლელ სიაში -> იხსნება ბრაუზერის გვერდი Query Builder ფორმით. მარცხენა პანელზე არის ხელმისაწვდომი ცხრილების სია. დააწკაპუნეთ ცხრილის სახელზე -> ცხრილის ფორმა ხელმისაწვდომი სვეტების სიით განთავსებულია ზედა მარჯვენა პანელზე. ცხრილის ფორმაზე მონიშნეთ ის სვეტები, რომლებისთვისაც მონაცემები უნდა იყოს შეტანილი მიღებულ ნაკრებში (ნახ. 1.9).


ბრინჯი. 1.9. SQL მოთხოვნების აგება Query Builder გვერდზე

ქვედა მარჯვენა პანელზე ჩანართებია:

პირობები - ცხრილის სვეტებზე დაწესებული პირობები. საშუალებას გაძლევთ დააყენოთ სვეტების მეტსახელები, შეიყვანოთ პირობები სვეტის მონაცემების მიხედვით სტრიქონების არჩევისთვის, განსაზღვროთ ტიპი და დალაგება, შედეგის ხილვადობა, სვეტზე გამოყენებული ფუნქცია, დაჯგუფების საჭიროება.

SQL - გენერირებული SQL მოთხოვნის ტექსტი.

შედეგები - SQL მოთხოვნის შესრულების შედეგი. მის მისაღებად დააჭირეთ ღილაკს Run.

შენახული SQL - შენახული SQL მოთხოვნები. შეკითხვის შესანახად დააჭირეთ ღილაკს Save.

შეკითხვის შემქმნელი გაძლევთ საშუალებას ვიზუალურად შეუერთდეთ ცხრილებს. ორი ცხრილის გაერთიანებისთვის საჭიროა: აირჩიოთ ორი ცხრილი -> შედეგის სვეტების მონიშვნა მათ ფორმებზე -> მოათავსოთ კურსორი ბავშვის ცხრილის დაკავშირებულ სვეტზე (COUNTRIES) -> დააჭიროთ მაუსის მარჯვენა ღილაკს და გადაათრიოთ ბმულის სურათი ღილაკით დაჭერილი მშობელი ცხრილის მიბმულ სვეტზე (REGIONS) ) (ნახ. 1.10).

ბრინჯი. 1.10. SQL მოთხოვნების დაპროექტება ცხრილების შესაერთებლად

თუ ლინკის სურათს გადაახვევთ, ინსტრუმენტული მინიშნება გამოჩნდება ბმულის პირობით. ბმულზე დაწკაპუნებით გამოჩნდება pop-up მენიუ - წაშალეთ ბმული, დააყენეთ მარცხენა ან მარჯვენა გარე შეერთება. ნაგულისხმევად, ურთიერთობა განსაზღვრავს ცხრილების შიდა შეერთებას.

3.5. ინფორმაცია მონაცემთა ბაზის ობიექტების შესახებ

Oracle ინახავს ყველა ინფორმაციას მონაცემთა ბაზის ობიექტების შესახებ სპეციალური ლექსიკონიმონაცემები (მონაცემთა ლექსიკონი). ლექსიკონი შეიცავს აღწერას, თუ როგორ არის ორგანიზებული რეალური მონაცემები. ლექსიკონი შედგება ცხრილებისა და ხედებისგან, რომელთა მოკითხვა შესაძლებელია ისევე, როგორც ნებისმიერი სხვა ცხრილი და ხედვა მონაცემთა ბაზაში. ეს ხედები ეკუთვნის Oracle-ის მომხმარებელს სახელად SYS. მომხმარებლის_* ტიპის ხედები შეიცავს ინფორმაციას იმ ობიექტების შესახებ, რომლებიც ამჟამად მომხმარებელია. მომხმარებლის ობიექტების შესახებ ინფორმაციის მისაღებად შეგიძლიათ გამოიყენოთ შემდეგი ხედები:

    User_tables - მიმდინარე მომხმარებლის საკუთრებაში არსებული ურთიერთობითი ცხრილები; User_views - ნახვები, რომლებიც ეკუთვნის ამჟამინდელ მომხმარებელს; User_tab_comments - ამჟამინდელი მომხმარებლის კუთვნილი ცხრილების კომენტარები; User_tab_columns - ამჟამინდელი მომხმარებლის საკუთრებაში არსებული ყველა ცხრილის სვეტები; User_col_comments - კომენტარები ცხრილების სვეტებისა და ნახვების შესახებ, რომლებიც ეკუთვნის ამჟამინდელ მომხმარებელს; მომხმარებლის_ინდექსები - მიმდინარე მომხმარებლის ცხრილების ინდექსები; User_cons_columns - სვეტები მიმდინარე მომხმარებლის შეზღუდვებში; User_constraints - შეზღუდვები მიმდინარე მომხმარებლის ცხრილებზე; User_triggers - ამჟამინდელი მომხმარებლის საკუთრებაში არსებული მონაცემთა ბაზის ტრიგერები.

Oracle Database XE-ს აქვს ინსტრუმენტები მონაცემთა ბაზის ობიექტების შესასწავლად და მოხსენებისთვის.

მონაცემთა ბაზის ობიექტების საძიებო ხელსაწყოზე წვდომა: Object Browser-ის ხატულა (ნახ. 1.7) ან SQL Workshop-ის ჩამოსაშლელი სიის შესაბამისი ელემენტი. ნაგულისხმევად, ხდება ცხრილების სიაზე გადასვლა (საკვლევი მონაცემთა ბაზის ობიექტების სხვა ტიპის შერჩევა შესაძლებელია ჩამოსაშლელი სიიდან). შემდეგ, კონკრეტული ობიექტის შერჩევის შემდეგ, გამოჩნდება მისი თვისებები. DEPARTMENTS ცხრილის თვისებების ჩვენების გვერდის ხედი (Table tab - აჩვენებს სვეტების ჩამონათვალს და მათ თვისებებს) ნაჩვენებია ნახ. 1.11.

ბრინჯი. 1.11. ცხრილის თვისებების ჩვენება: სვეტების სია

თუ გადახვალთ Model ჩანართზე, შეგიძლიათ იხილოთ მონაცემთა მოდელი - შესასწავლი ცხრილის ბმულების ვიზუალური წარმოდგენა მონაცემთა ბაზის სხვა ცხრილებთან (ნახ. 1.12).


სურათი 1.12. მონაცემთა მოდელის რუქა: ცხრილის ურთიერთობები

სურათზე ნაჩვენები მონაცემთა მოდელი გვიჩვენებს, რომ LOCATIONS და EMPLOYEES ცხრილები არის მოცემული DEPARTMENTS ცხრილის მშობელი. ისინი ნაჩვენებია შესწავლილი ცხრილის ზემოთ მოდელში. თავად DEPARTMENTS ცხრილი არის JOB_HISTORY და EMPLOYEES ცხრილების მშობელი (მდებარეობს DEPARTMENTS ცხრილის ქვემოთ). მსგავსი ინფორმაცია მშობლის (შესწავლილთან მიმართებაში) ცხრილების შესახებ შეგიძლიათ ნახოთ Dependencies ჩანართში (References list).

ანგარიშებზე წვდომა: Utilites icon (ნახ. 1.7) ან SQL Workshop-ის ჩამოსაშლელი სიის შესაბამისი ელემენტი -> list element (ან ხატულა) Object Reports -> list element ინტერესის პარამეტრით. მაგალითად, Table Reports სიისთვის - სვეტები, კომენტარები, შეზღუდვები და ა.შ. (ნახ. 1.13).

ბრინჯი. 1.13. ობიექტების ანგარიშები

ამ ინსტრუმენტების გამოყენებით შეგიძლიათ მიიღოთ საკმაოდ სრული ინფორმაცია მონაცემთა ბაზაში არსებული ძირითადი ობიექტების შესახებ.


Უსაფრთხოების ზომები

მუშაობის დროს გჭირდებათ:

    დაიცვან კომპიუტერული ტექნიკის ჩართვა-გამორთვის წესები; არ დაუკავშიროთ კომპიუტერს კაბელები, კონექტორები და სხვა აღჭურვილობა, რომლებიც არ არის დაკავშირებული ლაბორატორიულ ინსტალაციასთან; როდესაც ქსელის ძაბვა ჩართულია, არ გათიშოთ, შეაერთოთ ან შეეხოთ დამაკავშირებელ კაბელებს სხვადასხვა მოწყობილობებიკომპიუტერი; აღჭურვილობის მუშაობაში გაუმართაობის ან წესების დარღვევის შემთხვევაში აცნობოს ლაბორატორიის სამუშაოს ხელმძღვანელს; არ შეეცადოთ დამოუკიდებლად მოაგვაროთ გაუმართაობა აღჭურვილობის მუშაობაში; სამუშაოს დასრულების შემდეგ დაალაგეთ სამუშაო ადგილი.

ყურადღება! კომპიუტერთან მუშაობისას უნდა გახსოვდეთ: სიცოცხლისათვის საშიში ძაბვა დაკავშირებულია თითოეულ სამუშაო ადგილზე. ამიტომ, ექსპლუატაციის დროს, თქვენ უნდა იყოთ უკიდურესად ფრთხილად და დაიცვან უსაფრთხოების ყველა მოთხოვნა!

ვარჯიში
გაუშვით ინტერნეტ ბრაუზერი, მაგალითად, გუგლ ქრომი. გაუშვით Oracle Application Express-ის მთავარი გვერდი http://127.0.0.1:8080/apex/. შედით მონაცემთა ბაზაში, როგორც HR მომხმარებელი. SQL Query Editor-ის გამოყენებით შექმენით და შეასრულეთ მოთხოვნა თანამშრომლების ცხრილიდან მონაცემების ასარჩევად დალაგების ინსტრუქციის გამოყენებით თანამშრომლების სახელების მიხედვით. SQL შეკითხვის შემქმნელის გამოყენებით, შექმენით და შეასრულეთ მოთხოვნა DEPARTMENTS ცხრილიდან მონაცემების შესარჩევად დეპარტამენტის სახელის მიხედვით დალაგების ინსტრუქციის გამოყენებით. SQL შეკითხვის რედაქტორის გამოყენებით, შექმენით და შეასრულეთ მოთხოვნა შესაბამისი ცხრილებიდან მონაცემების შესარჩევად DEPARTMENTS and EMPLOYEES რუსული სვეტის მეტსახელების და დახარისხების გამოყენებით. მოთხოვნამ უნდა დააბრუნოს ყველა დეპარტამენტის სახელები, ამ დეპარტამენტების მენეჯერების სრული სახელები, მათი ელექტრონული ფოსტის მისამართები /text/category/zarabotnaya_plata/" rel="bookmark">ხელფასი დეპარტამენტის მიხედვით, საშუალო ხელფასი დეპარტამენტის მიხედვით. მიიღეთ სრული ინფორმაცია. მონაცემთა ბაზის ობიექტები - ცხრილები, სვეტები, შეზღუდვები, ხედები, მათ შორის ყველა კომენტარი და მონაცემთა ტიპები, ამ ინფორმაციის საფუძველზე, შექმენით მონაცემთა მოდელი, რომელზეც ნაჩვენები იქნება ყველა ცხრილი და მათ შორის ურთიერთობა.

მიმართულებები:

    მიიღეთ ზოგადი ინფორმაცია ცხრილებს შორის ურთიერთობების შესახებ Object Browser ინსტრუმენტის გამოყენებით; დეტალური ინფორმაციაშეხედეთ ცხრილებს შორის ურთიერთობებს შეკითხვის გამოყენებით

აირჩიეთ uc. table_name "მაგიდა",

uc. constraint_name "გარე გასაღების შეზღუდვა",

ucc1.column_name "გარე გასაღების ველი",

ucc2.table_name "აწარმოებს მაგიდას",

uc. r_constraint_name "Ogre RT-ში",

ucc2.column_name "საკვანძო ველი RT-ში"

საწყისი user_constraints uc

შეუერთდით user_cons_columns ucc1-ზე ucc1.constraint_name = uc. შეზღუდვის_სახელი

შეუერთდი user_cons_columns ucc2 ucc2.constraint_name = uc. r_constraint_name

სადაც uc. შეზღუდვის_ტიპი = "R";

    წარმოადგინეთ მონაცემთა მოდელი გრაფიკული ფორმით MS Word, MS Visio ან ERWin Data Modeller-ის გამოყენებით.

მოხსენების შინაარსისა და დიზაინის მოთხოვნები

ანგარიში უნდა იყოს შევსებული ტექსტის რედაქტორი MS სიტყვა. ანგარიში უნდა შეიცავდეს:

    მოკლე თეორიული ინფორმაცია, გრაფიკული მონაცემთა მოდელი, ყველა SQL მოთხოვნის ტექსტები შეკითხვისას გამოყენებული თითოეული ინსტრუქციის კომენტარებით, შედეგების ცხრილები მონაცემებით ყველა შესრულებული მოთხოვნისთვის, დასკვნები შესრულებული სამუშაოს შესახებ.
ტესტის კითხვები

7.1. რა არის Oracle Database XE-ის მიზანი?

7.2. როგორ უკავშირდება მომხმარებელი Oracle Database XE მონაცემთა ბაზას?

7.3. რას აკეთებს იარაღები მომხმარებლის ინტერფეისი Oracle Database XE მონაცემთა ბაზა SQL მოთხოვნებთან მუშაობისთვის?

7.4. რა ინსტრუმენტებს უზრუნველყოფს Oracle Database XE მონაცემთა ბაზის მომხმარებლის ინტერფეისი მონაცემთა ბაზის ობიექტების შესასწავლად?

7.5. რა არის SELECT განცხადების სინტაქსი?

7.6. რა არის WHERE პუნქტის მიზანი?

7.7. როგორია მაგიდის შეერთების ტიპები?

7.8. რა განსხვავებაა მაგიდის შიდა და გარე შეერთებებს შორის?

7.9. რისთვის გამოიყენება ჯგუფური ოპერაციები?

7.10. როგორ უნდა იქნას გამოყენებული GROUP BY და HAVING განცხადებები?

ეს არის გაკვეთილის მეორე ნაწილი მონაცემთა ბაზის შექმნის შესახებ. გაკვეთილი არის პრაქტიკული, გაკვეთილზე გამოყენებული იქნება Oracle სერვერი, რომელიც დაინსტალირებული იყო პირველ გაკვეთილზე. ასე რომ, დავიწყოთ:

მონაცემთა ბაზის კონფიგურაციის ასისტენტი (dbca) გამოიყენება მონაცემთა ბაზის შესაქმნელად. ის, როგორც კომუნალური საშუალებების უმეტესობა, მდებარეობს ბინ დირექტორიაში. Oracle სერვერი. კონსოლში ვასრულებთ:

[ელფოსტა დაცულია]: cd /u01/app/oracle/product/11.1.0/db_1/bin
[ელფოსტა დაცულია]:./dbca

იქნება გაშვება გრაფიკული აპლიკაციარომელშიც მუშაობა. Oracle საშუალებას გაძლევთ შექმნათ მონაცემთა ბაზა "ხელით", სხვადასხვა კომუნალური პროგრამების გამოყენების გარეშე, მაგრამ ამაზე მოგვიანებით ვისაუბრებთ.

პირველი ეკრანი უბრალოდ იუწყება კომუნალური პროგრამის გაშვების, მისი დანიშნულების შესახებ. ჩვენ დაუყოვნებლივ გადავდივართ მეორე საფეხურზე შემდეგი დაწკაპუნებით.

მეორე ნაბიჯი არის განსახორციელებელი მოქმედების შერჩევა. თუ კომპიუტერზე სხვა მონაცემთა ბაზები არ არის, მაშინ ზოგიერთი ვარიანტი მიუწვდომელი იქნება. მაგალითად, როგორიცაა მონაცემთა ბაზის წაშლა ან დაყენება. ახლა ჩვენ გვაინტერესებს შექმნა, ამიტომ ვირჩევთ "შექმენით მონაცემთა ბაზა" და გადავდივართ.

ახლა ჩვენ გვთხოვენ ავირჩიოთ მონაცემთა ბაზის შაბლონი, რომელიც გამოყენებული იქნება შექმნისას. ზოგადი არის ჩვეულებრივი შაბლონი მონაცემთა ბაზების უმეტესობისთვის. მონაცემთა საწყობი - მონაცემთა საწყობი, რომელიც შექმნილია მონაცემთა და მცირე რაოდენობის ტრანზაქციის შესანახად. მორგებული მონაცემთა ბაზა - თქვენი საჭიროებებისთვის სრულად კონფიგურირებადი მონაცემთა ბაზა, სიტუაციიდან გამომდინარე.
აირჩიეთ ტრანზაქციების დამუშავების ზოგადი დანიშნულება და გადადით.

ეს ნაბიჯი მოგთხოვთ მიუთითოთ გლობალური მონაცემთა ბაზის სახელი (გლობალური მონაცემთა ბაზის სახელი) და SID (სისტემის იდენტიფიკატორი). როგორც წესი, გლობალური სახელი არის SID დომენის სახელით. სისტემის იდენტიფიკატორი ცალსახად განსაზღვრავს მონაცემთა ბაზას. მისი სიგრძე არ უნდა აღემატებოდეს 8 სიმბოლოს და არ შეიძლება დაიწყოს რიცხვით. მე ავირჩიე სახელი "testdb" და გლობალური სახელი "testdb.all-oracle.ru" ჩემი მონაცემთა ბაზისთვის. მოდით გადავიდეთ.

მიუთითეთ ოფციები, რომლებიც შეიტანება შექმნილ მონაცემთა ბაზაში. მითითებული "Configure Enterprise Manager", ოფცია "Configure Database Control for Local Management" ავტომატურად მოწმდება. თუ თქვენ გაქვთ Grid კონფიგურირებული, მაშინ კონფიგურაცია განსხვავებული იქნება. ქსელის ტექნოლოგია მოგვიანებით იქნება განხილული.

გარდა ამისა, საჭიროების შემთხვევაში, ჩვენ ვააქტიურებთ შეტყობინებას ელ.ფოსტადა აღდგენის ზონის ავტომატური სარეზერვო ასლი. მე დავტოვე ეს პარამეტრები მონიშნული, რადგან სატესტო მანქანას არ აქვს ინტერნეტი შეტყობინებების გასაგზავნად და არ არის საჭირო სარეზერვო ასლი. თუ გსურთ, შეგიძლიათ შეიტანოთ ეს პარამეტრები თქვენს მონაცემთა ბაზაში. ამისათვის მონიშნეთ და მიუთითეთ საჭირო ინფორმაცია. ელ.ფოსტის შეტყობინებისთვის SMTP სერვერი და მისამართი, რომელზედაც უნდა გაგზავნოთ. სარეზერვო დროისა და სერთიფიკატების ავტორიზაციისთვის ოპერაციული სისტემის დონეზე. მოდით გადავიდეთ.

ეს ნაბიჯი მოგთხოვთ მიუთითოთ პაროლები ჩაშენებული Oracle ანგარიშებისთვის. თქვენ შეგიძლიათ მიუთითოთ ინდივიდუალური პაროლები თითოეული ანგარიშისთვის, ან შეგიძლიათ აირჩიოთ "ერთი პაროლის გამოყენება ყველა ანგარიშისთვის". უნდა აღინიშნოს, რომ Oracle 11g-მდე ყველაფერი გადაკეთდა დიდ რეგისტრში და პაროლით შესვლა არ იყო რეგისტრირებული. 11g ვერსიით დაწყებული, რეესტრი განსხვავდებოდა უსაფრთხოების მოთხოვნების თვალსაზრისით. თავსებადობისთვის წინა ვერსიებიშესაძლებელია უსაფრთხოების დონის დაყენება.

აქ ჩვენ ვირჩევთ შენახვას. შემოთავაზებული ფაილური სისტემა (ფაილური სისტემა), ავტომატური შენახვის მენეჯმენტი - ASM (ავტომატური შენახვის მენეჯმენტი) ან ნედლეული მოწყობილობები (სიტყვასიტყვით ნედლი მოწყობილობები). ჩვენს შემთხვევაში, ჩვენ ვირჩევთ ფაილების სისტემადა გააგრძელე. შენახვის სხვა მეთოდებზე მოგვიანებით ვისაუბრებთ.

მიუთითეთ მონაცემთა ბაზის ფაილების მდებარეობა. თქვენ შეგიძლიათ აირჩიოთ Oracle-ის მიერ შემოთავაზებული შაბლონიდან, საერთო მდებარეობა მონაცემთა ბაზის ყველა ფაილისთვის, ან გამოიყენოთ Oracle-ის მიერ მართული ფაილები.

მიუთითეთ Flash Recovery Area-ის მდებარეობა და მისი ზომა. ადრე ჩვენ შევქმენით დირექტორია FRA-სთვის და ახლა მივუთითებთ მისკენ მიმავალ გზას, ზომა უცვლელი რჩება.

Flash Recovery Area არის ახალი ვარიანტი, რომელიც ხელმისაწვდომია 10გ ვერსიიდან და არის ფუნქციის საფუძველი, რომელსაც ეწოდება ავტომატური დისკზე დაფუძნებული აღდგენა. FRA - დისკის სივრცის ნაწილი ფაილების შენახვისა და მართვისთვის. ის სრულიად განცალკევებულია მონაცემთა ბაზის სხვა კომპონენტებისგან, როგორიცაა მონაცემთა ფაილები, ხელახალი ჟურნალები და საკონტროლო ფაილები. Flash Recovery Area-ს იყენებს Oracle Recovery Manager (RMAN) პროგრამა, რათა უზრუნველყოს მონაცემთა ბაზის აღდგენა Flash Recovery Area-ში შენახული ფაილების საფუძველზე. Flash Recovery Area უფრო დეტალურად იქნება განხილული მონაცემთა ბაზის აღდგენის კლასებში.

იმავე ეკრანზე შეგიძლიათ დააწკაპუნოთ ღილაკზე File Location Variables... Oracle ფაილის მდებარეობის შემაჯამებელი ანგარიშის სანახავად, მათ შორის მიმდინარე ORACLE_BASE პარამეტრის ჩათვლით.

ამ ეტაპზე შემოთავაზებულია სქემების დაყენება მაგალითებით და თქვენი რომელიმე სკრიპტის გაშვება, ასეთის არსებობის შემთხვევაში. მიუთითეთ მაგალითების დაყენება და გადაადგილება. ისინი დაგჭირდებათ შემდგომ გაკვეთილებზე.

ახლა შემოთავაზებულია მეხსიერების პარამეტრების მითითება, სერვერთან კავშირის ტიპი, კოდირება. იმის გამო, რომ ჩვენ ახლა მხოლოდ ვქმნით მონაცემთა ბაზის ნიმუშს და არ ვაყენებთ საკუთარ თავს დახვეწის დარეგულირების ამოცანას, ჩვენ ვტოვებთ ნაგულისხმევ მნიშვნელობებს. კავშირის რეჟიმის ჩანართზე აირჩიეთ "გამოყოფილი სერვერის რეჟიმი" - გამოყოფილი სერვერის რეჟიმი. ღილაკზე „ყველა ინიციალიზაციის პარამეტრი…“ დაწკაპუნებით, შეგიძლიათ ნახოთ ინიციალიზაციის პარამეტრები. ისინი ნაჩვენები იქნება ცხრილში:

აქ ჩვენ შეგვიძლია შევცვალოთ პარამეტრები საჭიროებისამებრ. თუ არაფერია საჭირო, მაშინ დახურეთ ფანჯარა და გადადით.

Უსაფრთხოების პარამეტრები. თქვენ მოგეთხოვებათ აირჩიოთ პარამეტრები 11გ ვერსიამდე ან ახალი, რომელიც შემოვიდა 11გ ვერსიიდან. მომხმარებლისთვის მთავარი განსხვავებაა რეგისტრის მგრძნობელობა. ჩვენ ვგულისხმობთ ახალი პარამეტრების გამოყენებას და შემდგომ გაგრძელებას.

ამ ეტაპზე შემოთავაზებულია ავტომატური ტექნიკური სამუშაოების გააქტიურება. მაგალითად, სტატისტიკის შეგროვება. გამორთე და გააგრძელე.

მიუთითეთ მონაცემთა ფაილების, ჟურნალის ფაილების, საკონტროლო ფაილების ადგილმდებარეობა. თუ ყველაფერი ჯდება, მაშინ გააგრძელე.

ბოლო ნაბიჯი არის მონაცემთა ბაზის შექმნის დასრულება. ასევე, თუ შეგიძლიათ შეინახოთ შექმნილი მონაცემთა ბაზა შაბლონად. ეს აქტუალურია, თუ თქვენ შექმენით კონკრეტული მონაცემთა ბაზა კონკრეტული შემთხვევისთვის პარამეტრების სიმრავლით და მომავალში ხშირად შექმნით მონაცემთა ბაზებს შაბლონის მიხედვით.

დააჭირეთ ღილაკს "დასრულება" და დაიწყება მონაცემთა ბაზის შექმნის პროცესი. ამას გარკვეული დრო დასჭირდება, რაც დამოკიდებულია შექმნილი მონაცემთა ბაზის პარამეტრებზე და კომპიუტერის სიმძლავრეზე, ათი წუთიდან ერთ საათამდე.

თუ მონაცემთა ბაზის შექმნა წარმატებით დასრულდა, გამოჩნდება შემდეგი ფანჯარა:

აქ არის მონაცემთა ბაზის ძირითადი პარამეტრები, ბმული Enterprise Manager-თან მუშაობისთვის. გარდა ამისა, ღილაკზე "პაროლების მართვა ..." დაწკაპუნებით, შეგიძლიათ დააყენოთ პაროლები ჩაშენებული ანგარიშებისთვის, დააყენოთ ან წაშალოთ მომხმარებლის ჩაკეტვა.

პაროლის შეცვლის შემდეგ, ასეთის არსებობის შემთხვევაში, დააწკაპუნეთ "გასვლა", ეს დაასრულებს მონაცემთა ბაზის შექმნას.

ამით მთავრდება გაკვეთილი. მეოთხე გაკვეთილზე ვისწავლით როგორ გავაჩეროთ და დავიწყოთ მონაცემთა ბაზის ინსტანცია, გავიგოთ რა არის მსმენელი, ვისწავლოთ მონაცემთა ბაზასთან დაკავშირება sqlplus-დან.

თუ თქვენ ხართ Linux sysadmin ან დეველოპერი, დგება დრო, როდესაც გჭირდებათ Oracle მონაცემთა ბაზის მართვა, რომელიც შეიძლება იმუშაოს თქვენს გარემოში.

ამ შემთხვევაში, მნიშვნელოვანია Oracle-ის ზოგიერთი ძირითადი DBA აქტივობის გაგება. ამ გაკვეთილში ჩვენ გაჩვენებთ, თუ როგორ უნდა შექმნათ Oracle მონაცემთა ბაზა ბრძანების ხაზიდან.

Oracle-ის პროგრამული უზრუნველყოფის ინსტალაციისას, ის მოგცემთ შესაძლებლობას შექმნათ ახალი მონაცემთა ბაზა მომხმარებლის ინტერფეისიდან.

თუ გადაწყვეტთ არ შექმნათ ახალი მონაცემთა ბაზა, არამედ დააინსტალიროთ მხოლოდ პროგრამული უზრუნველყოფა Oracle, შემდეგ შეგიძლიათ შექმნათ მონაცემთა ბაზა ცალკე.

რომ შექმენით Oracle მონაცემთა ბაზა , თქვენ გაქვთ ორი ვარიანტი:

  1. გამოიყენეთ მონაცემთა ბაზის კონფიგურაციის ასისტენტი (DBCA) და შექმენით ახალი მონაცემთა ბაზა GUI-ს გამოყენებით. ეს საკმაოდ პირდაპირია.
  2. გამოიყენეთ ბრძანება "Create Database" ბრძანების ხაზიდან ახალი Oracle მონაცემთა ბაზის შესაქმნელად. ეს მეთოდი სასარგებლოა, როდესაც არ გაქვთ წვდომა სერვერის კონსოლზე DBCA-ს გასაშვებად. ან, თუ თქვენს სერვერს არ აქვს სწორი Xterm პარამეტრები, გამოიყენეთ ეს მეთოდი.

1. Oracle-ის შესაბამისი გარემოს ცვლადების დაყენება

პირველ რიგში, თქვენ უნდა დააყენოთ შესაბამისი გარემოს ცვლადი სერვერზე.

ეს მაგალითი ვარაუდობს, რომ Oracle დაინსტალირებულია დირექტორიაში /u01/app/oracle/პროდუქტი. შეცვალეთ ეს მნიშვნელობა თქვენი გარემოსთვის.

ექსპორტი ORACLE_BASE=/u01/app/oracle ექსპორტი ORACLE_HOME=/u01/app/oracle/product/11.2.0

უმეტესობა მნიშვნელოვანი პარამეტრიარის ORACLE_SID, რომელსაც ექნება სახელი ახალი Oracle მონაცემთა ბაზაის, ვისი შექმნაც გსურთ. ამ მაგალითში, ახალი მონაცემთა ბაზის სახელი დაყენებულია "dev", როგორც ნაჩვენებია ქვემოთ.

ექსპორტი ORACLE_SID=dev

2. შექმენით ini-initdev.ora ფაილი

შემდეგ შექმენით ora.ini ფაილი ახალი მონაცემთა ბაზისთვის. ეს არის ინიციალიზაციის ფაილი ახალი მონაცემთა ბაზისთვის.

თქვენი Oracle-ის ვერსიიდან გამომდინარე, შეგიძლიათ ნახოთ init.ora ფაილის ნიმუში $ORACLE_HOME-ში. თუ გაქვთ, გამოიყენეთ იგი, როგორც საფუძველი და შეცვალეთ მნიშვნელობები შესაბამისად.

cd $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" *.compatible="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"

აღნიშნულ ფაილში გასათვალისწინებელია რამდენიმე პუნქტი:

  • მითითებულ ფაილში დარწმუნდით, რომ დააყენეთ db_name წინა ნაბიჯის ORACLE_SID ნაკრების სახელზე
  • რასაც ქვია undo_tablespace, ჩვენ მივუთითებთ, რომ უნდა გამოვიყენოთ ზუსტი სახელი ბრძანებაში CREATE DATABASE.
  • შეცვალეთ დირექტორიების მდებარეობა თქვენი სისტემის შესაბამისად. არ დაგავიწყდეთ, შეცვალოთ "dev" ზემოთ მოცემულ დირექტორიაში თქვენს ORACLE_SID სახელად.

3. შექმენით Serve Parameter ფაილი (spfile)

SP ფაილი ნიშნავს სერვერის პარამეტრ ფაილს. sp ფაილისგან განსხვავებით, ფაილი ინიციალიზებულია ბინარულად და თქვენ არ შეგიძლიათ SPFILE-ის ხელით რედაქტირება.

sp ფაილი იქმნება ini ფაილიდან. sp ფაილის უპირატესობა ის არის, რომ თქვენ შეგიძლიათ შეცვალოთ ინიციალიზაციის პარამეტრების მნიშვნელობა მას შემდეგ, რაც მონაცემთა ბაზა დაიწყებს ALTER SYSTEM ბრძანების გამოყენებას.

სხვა სიტყვებით რომ ვთქვათ, "ALTER SYSTEM" ბრძანების გამოყენებისას ნებისმიერი პარამეტრის მნიშვნელობის შესაცვლელად, ის ინახავს მათ sp ფაილში.

შემდეგ, Oracle-ის მონაცემთა ბაზის გაშვებისას, ის ჯერ ეძებს sp ფაილს პარამეტრის მნიშვნელობისთვის. თუ ის ვერ პოულობს sp ფაილს, მაშინ გამოიყენებს ტექსტს ini ფაილზე დაყრდნობით.

ჩვენი ახალი მონაცემთა ბაზისთვის sp ფაილის შესაქმნელად გამოიყენეთ შემდეგი ბრძანება.

პირველი, გამოიყენეთ sqlplus ბრძანებადა მიიღეთ SYSDBA Oracle-ის მოთხოვნა, საიდანაც შევქმნით ახალ მონაცემთა ბაზას.

$ sqlplus / როგორც sysdba დაკავშირებულია უმოქმედო ინსტანციასთან. SQL>

თუ ზემოთ გამომავალში შეამჩნევთ, ის ამბობს "დაკავშირებულია უმოქმედო მაგალითზე". ეს იმიტომ ხდება, რომ ჩვენი ამჟამინდელი ORACLE_SID დაყენებულია dev-ზე, რაც არის ახალი მონაცემთა ბაზა, რომელიც ჯერ არ შეგვიქმნია.

ასე რომ, პირველი ნაბიჯი არის ახალი sp ფაილის შექმნა ini ფაილის საფუძველზე. spfile ნიშნავს ini ფაილს. შემდეგი ბრძანება შექმნის ახალ spfile-ს.

SQL> CREATE SPFILE FROM PFILE; ფაილი შეიქმნა.

როგორც ქვემოთ ხედავთ, ბრძანებამ ავტომატურად შექმნა spfiledev.ora.

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

4. გაუშვით უმოქმედო მაგალითი

სანამ შევქმნით მონაცემთა ბაზას, ჩვენ უნდა დავიწყოთ ინსტანცია "dev" მონაცემთა ბაზისთვის STARTUP NOMOUNT ბრძანებით. როგორც თქვენ მიხვდით, ეს ბრძანება არ დაუკავშირდება მონაცემთა ბაზას. მარტივია დაიწყოს ახალი ცარიელი მარტივი ORACLE_SID ეგზემპლარი სახელად "dev".

SQL> STARTUP NOMOUN; ORACLE-ის მაგალითი დაიწყო. სისტემის მთლიანი გლობალური ფართობი 1258291200 ბაიტი ფიქსირებული ზომა 1261564 ბაიტი ცვლადი ზომა 520093700 ბაიტი მონაცემთა ბაზის ბუფერები 721420288 ბაიტი ბუფერების გამეორება 15515648 ბაიტი

ზემოთ მოცემულ ბრძანებაში ის წაიკითხავს ნაგულისხმევ spfile სახელად spfile(ORACLE_SID).ora ნაგულისხმევი spfile მდებარეობიდან $ORACLE_HOME/dbs. თუ spfile არ არსებობს, ის ნაგულისხმევად იქნება init(ORACLE_SID).ora ფაილის ინიციალიზაცია

რატომღაც, თუ გსურთ მიუთითოთ თქვენი spfile-ის მდებარეობა, ამის გაკეთება შეგიძლიათ spfile პარამეტრის გადაცემით, როგორც ეს ნაჩვენებია ქვემოთ.

SQL> STARTUP 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> CREATE DATABASE dev USER SYS IDENTIFIED BY DevSysPass USER SYSTEM IDENTIFIED BY DevSystemPass LOGFILE GROUP 1 ("/home/oracle/u02/oradata/dev/redomed_01.log") SIZE,/orahome5 oradata/dev/redomed_02.log") ზომა 50M, MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 სიმბოლოების ნაკრები US7ASCII ეროვნული სიმბოლოების ნაკრები AL16UTF16 DATAFILE "/dev0syEU0001. /oracle/u02/oradata/dev/sysaux01.dbf" ზომა 100 მლ. home/oracle/u02/oradata/dev/tempts01.dbf" SIZE 30M ხელახლა გამოყენების გაუქმება TABLESPACE UNDOTS DATAFILE "/home/oracle/u02/oradata/dev/undots01.dbf" ზომა 100M ხელახლა გამოყენება AUTOEXT.

ზემოთ მოცემულ ბრძანებაში:

  • მონაცემთა ბაზის შექმნა ბრძანება შექმნის Oracle მონაცემთა ბაზას სახელად "dev"
  • მე-2 სტრიქონში მითითებული პაროლი მიენიჭება SYS მომხმარებელს
  • მე-3 სტრიქონში მითითებული პაროლი მიენიჭება SYSTEM-ის მომხმარებელს
  • ჩვენ ვქმნით ორ განმეორებით ჟურნალს თითოეული 100 მბ ზომით.
  • MAXLOGFILES - ჟურნალის ფაილების მაქსიმალური რაოდენობა დაყენებულია 5-ზე
  • MAXDATAFILES - ეს მიუთითებს Oracle მონაცემთა ფაილების მაქსიმალურ რაოდენობაზე, რომელიც შეიძლება შეიქმნას ამ მონაცემთა ბაზისთვის.
  • DATAFILE - მიუთითებს მონაცემთა ფაილზე, რომელიც გამოიყენება ცხრილში SYSTEM
  • 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> CREATE DATABASE dev USER SYS IDENTIFIED BY DevSysPass USER SYSTEM IDENTIFIED BY DevSystemPass MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 CHARACTER SET TUS7MPCHAL100000 SET US7MPCHAL10000000 SET US7MPCHAL1000 SET US7MPCHAL1000000 SET US7MPCHAL100000 SET US7MPCHAL100000000 SET US7MPCHAL1000000000 SET,

ზემოთ მოყვანილი ბრძანებები შექმნის ყველა მაგიდის სივრცისთვის საჭირო მონაცემთა შესაბამის ფაილებს (გაუქმება, დროებითი და ა.შ.) DB_CREATE_FILE_DEST დირექტორიაში მითითებული მდებარეობის მიხედვით.

6. შექმენით ნახვების მონაცემების ლექსიკონი

როგორც საბოლოო ნაბიჯი, გაუშვით catalog.sql და catproc.sql. დირექტორიას სკრიპტი შექმნის ლექსიკის ყველა ცხრილს, შესრულებასთან დაკავშირებულ ხედებს, საჭირო საჯარო სინონიმებს. ის ასევე უზრუნველყოფს შესაბამის წვდომას ყველა შექმნილ სინონიმზე. catproc სკრიპტი ახორციელებს ყველა სკრიპტს, რომელიც საჭიროა PL/SQL ფუნქციონირებისთვის.

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

ნაწილობრივი გამომავალი ზემოაღნიშნული ბრძანებებიდან.

SQL>@?/rdbms/admin/catalog.sql; DOC>################################################################ ###################### DOC>########################################### ########################################## DOC> შემდეგი განცხადება გამოიწვევს "ORA-01722: არასწორი ნომერი" DOC> შეცდომა და შეწყვიტოს SQLPLUS სესია, თუ მომხმარებელი არ არის SYS. DOC> გათიშეთ და ხელახლა დაუკავშირდით AS SYSDBA-ს. DOC>################################################################ ###################### DOC>########################################### ######################################### DOC># რიგები არ არის არჩეული პაკეტი შექმნილი. პაკეტის სხეული შეიქმნა. .. .. სინონიმი შეიქმნა. გრანტმა წარმატებას მიაღწია. PL/SQL პროცედურა წარმატებით დასრულდა. SQL> @?/rdbms/admin/catproc.sql .. .. კომენტარი შეიქმნა. შეიქმნა სინონიმი. გრანტმა წარმატებას მიაღწია. PL/SQL პროცედურა წარმატებით დასრულდა.

თუ გაინტერესებთ, შეგიძლიათ გადახედოთ catproc დირექტორიას და სკრიპტს, რომ ნახოთ ზუსტად რას აკეთებს ის.

ვი $ORACLE_HOME/rdbms/admin/catalog.sql; vi $ORACLE_HOME/rdbms/admin/catproc.sql

7. ინსპექტირება - დასრულება და ექსპლუატაცია

და ბოლოს, შეასრულეთ რეგულარული გამორთვა და გაშვება, რათა დარწმუნდეთ, რომ ყველაფერი მუშაობს ისე, როგორც მოსალოდნელია ამ ახალ მონაცემთა ბაზაში.

$ sqlplus / როგორც sysdba SQL> SHUTDOWN IMMEDIATE; მონაცემთა ბაზა დახურულია. მონაცემთა ბაზა დაიშალა. ORACLE-ის ინსტანცია დაიხურა. SQL> STARTUP; ORACLE-ის მაგალითი დაიწყო. სისტემის მთლიანი გლობალური არეალი 1234563200 ბაიტი ფიქსირებული ზომა 1262454 ბაიტი ცვლადი ზომა 522935700 ბაიტი მონაცემთა ბაზის ბუფერები 720583588 ბაიტი ხელახალი ბუფერები 12946358 ბაიტი მონაცემთა ბაზა დამონტაჟებულია.