Posts Tagged ‘ORACLE’
ORACLE-სთან ”მილინკვა” tnsname-ს ჩასწორების გარეშე
შეიძლება სათაურში კარგად ვერ დავწერე 🙂 ამ პატარა პოსტით და დიდი გულით მინდა ერთი ბაზის მეორე ბაზასთან მილინკვის ალტერნატივა დავწერო. როგორც წესი პირველ რიგში სერვერზე სადაც დგას ORACLE tnsname-ში უნდა ჩაემატოს მსგავსი სტრინგი –
utl_file – ფაილის წაკითხვა-ჩაწერა pl/sql-დან
ამ პოსტში მოკლედ განვიხილავ ორაკლიდან pl/sql-ის საშუალებით ფაილის ჩაწერა-წაკითხვის პროცედურას. იგი ერთგვარი გაგრძელებაა ძველი პოსტის Oracle-ის External Tables და მათან მუშაობა ხდება utl_file პაკეიჯის მეშვეობით. თავინდა სამუშაოდ გვჭირდება ორაკლის დირექტორია რომელსაც შევქმნით შემდეგი sql-ით
სტრინგის ტრანსლირება ორაკლში
მაგალითი თუ როგორ არის შესაძლებელი ორაკლში შრიფტის კონვერტირება (ჩვენს მაგალითში ლათინურიდან უნიკოდში) ვარიანტი 1 – ამის შესაძლებლობის 2 ვარიანტია 1- სადისტურ-მაზოხისტური, 2 – ორაკლისეული ადამიანური 😀 სადისტურ-მაზოხისტურში ვიგულისხმე ვარიანტი სადაც 2 სვეტიან ცხრილში გვაქვს ჩამოთვლილი ლათინური სიმბოლოები შესაბამისი ქართული უნიკოდით. ფუნქციაში ვიღებთ ამ ცხრილს და დასაკონვერტირებელ სტრინგს, ვუვლით სიმბოლ სიმბოლ და ვანაცვლებთ ცხრილში არსებულით და […]
Oracle Stored Sources
რამდენიმე ხნის წინ დამჭირდა ორაკლიდან პროცედურის სოურსის ამოღება. როგორც ვიცით არსებული ობიექტების ჩამონათვალი და შესაბამისი მნიშვნელობები შეგვიძლია ამოვიღოთ სქლ-ით 1SELECT * FROM user_objects და შესაბამისად ამ არსებულ მომხმარებელში ცხრილების მნიშვნელობების ამოღება – 1SELECT * FROM user_tables მაგრამ ჯერი მინდა სხვა ობიექტებზე, კერძოდ ფუნქციები, პროცედურები, პაკეჯები, ტრიგერები და ა.შ. მიქექ-მოქექვის მერე აღმოვაჩინე მისი ადგილმდებარეობა
დუბლიკატი ჩანაწერები
მიუხედავად დიდი ყურადღებისა არის ხოლმე შეგნებული თუ თვითნებური შემთხვევები როდესაც ცხრილში ხდება ჩანაწერის დუბლირება. განვიხილოთ ამოცანა რომელიც ითვალისწინებთ დუბლირებულ იჩანაწერების მოშორებას ცხრილიდან ავიღოთ ცხრილი 123456CREATE TABLE DUBL_TEST ( FNAME VARCHAR2(200), AGE NUMBER, BIRTHDAY DATE )
EXECUTE IMMEDIATE
EXECUTE IMMEDIATE საშუალებას გვაძლევს დინამიური SQL-ის გაშვებას. ის შეგვიძლია გამოვიყენოთ PL/SQL-ში ან დინამიური SQL-ის აშენებისას (მაგ, როდესაც ცვლადში გვაქვს ცხრილის სახელი ან WHERE ნაწილი და ა.შ)
არსებული External ცხრილის მოდერირება
Oracle-ში უკვე არსებული External ცხრილის პარამეტრების შეცვლა დიდი პრობლემა გახდა ჩემთვის. უბრალოდ ვერ ვიპოვე სად მიჰქონდა ამ დალოცვის ცხრილის პარამეტრები და ბოლოს მივაგენი იგი არის sys user-ში
ცხრილზე Partition-ების გაყოფა
ცხრილზე Partition-ებს შორის ახალი partition-ის დამატება – 1234ALTER TABLE TestTable; SPLIT PARTITION p200712 AT (TO_DATE(’2007-07-01 00:00:00′, ‘SYYYY-MM-DD HH24:MI:SS’, ‘NLS_CALENDAR=GREGORIAN’)) INTO (PARTITION p200707, PARTITION p200712); UPDATE GLOBAL INDEXES;
Sql ბრძანებები ადმინისტრატორებისთვის
ქვემოთ ჩამოთვლილი ბრძანებებით შეგვიძლია გაკონტროლოთ ბაზის მონაცემები, კომპილაციები და ბევრი სხვა. გაითვალისწინეთ რომ ამ ბრძანებებით შესაძლოა რეზულტატი მივიღოთ მიმდინარე ბაზაში, მიმდინარე User-ში და მთელ DBA-ში
ცხრილების შედარება ORACLE-ში
მოკლედ იმისათვის Oracle-ში რომ 2 ცხრილი, რომლებსაც ერთნაირი სტრუქტურა ააქვთ შევადაროთ ერთმანეთს შეგვიძლია თავი ავარიდოთ ისეთ სელექთებს როგორიცაა 12SELECT t1.* FROM table1 t1, table2 t2 WHERE t1.filed1<>t2.filed1 AND . . . და ა.შ. (მოყვანილი მაგ. არა მუშაა უბრალოდ სირთულე ავღნიშნე) არსებობს