คำถามติดแท็ก oracle

ฐานข้อมูล Oracle ทุกเวอร์ชัน เพิ่มแท็กเฉพาะรุ่นเช่น oracle-11g-r2 หากบริบทนั้นสำคัญสำหรับคำถาม ห้ามใช้สำหรับผลิตภัณฑ์ Oracle เช่นแอปพลิเคชันหรือมิดเดิลแวร์หรือผลิตภัณฑ์ฐานข้อมูลอื่น ๆ ที่ Oracle เป็นเจ้าของเช่น MySQL หรือ BerkeleyDB

3
ดัชนีมีผลต่อประสิทธิภาพการค้นหาอย่างไร
เห็นได้ชัดว่าการรักษาดัชนีที่แตกต่างกันหลายประการมีผลกระทบด้านลบต่อประสิทธิภาพการแทรกและลบ แล้วประสิทธิภาพของคิวรี: มันสมเหตุสมผลหรือไม่ที่ทำให้ดัชนีมีจำนวนมากเกินไปในตาราง? ประสิทธิภาพของแบบสอบถามจะดีขึ้นในทุกกรณีเมื่อมีการเพิ่มดัชนี (แน่นอนสำหรับแบบสอบถามที่ใช้ดัชนีเลย) หรือเป็นไปได้ว่าประสิทธิภาพของแบบสอบถามจะลดลงด้วยดัชนีมากเกินไปเพราะจำเป็นต้องปรึกษาดัชนีทั้งหมดเพื่อรับ ผลลัพธ์? ในกรณีที่มีดัชนีแตกต่างกันในตาราง: พวกเขาทั้งหมดจะได้รับการพิจารณาหรือเฉพาะที่ดีที่สุดจากมุมมองของเครื่องมือเพิ่มประสิทธิภาพ? ออราเคิลใช้ดัชนีหลายมิติหรือไม่?

2
เหตุใดเราจึงจำเป็นต้องสำรองข้อมูลบันทึก Oracle ให้พร้อมกับ datafiles
พื้นฐานการสำรองและกู้คืนฐานข้อมูลOracle® 10g Release 2 (10.2) บอกว่า บันทึกการทำซ้ำที่เก็บถาวรเป็นกุญแจสำคัญในการกู้คืนสื่อที่ประสบความสำเร็จ สำรองข้อมูลเหล่านั้นเป็นประจำ แต่ฉันสงสัยว่าทำไมการสำรองข้อมูลบันทึกถาวรจึงมีความสำคัญ เป็นไปได้ไหมที่จะทำการกู้คืนข้อมูล ณ จุดเวลาโดยใช้การสำรองข้อมูล RMAN แบบเต็มและแบบเพิ่มหน่วยข้อมูลปกติ
12 oracle  backup  rman 

2
สั่งซื้อโดยใช้ลำดับความสำคัญที่กำหนดเองสำหรับคอลัมน์ข้อความ
นี่คือตารางตัวอย่าง: name | cat ---------- hugo | sal bob | mgr mike | dev jeff | mgr john | dev ทั้งสองnameและcatเป็น Varchar cat แสดงหมวดหมู่สำหรับชื่อเหล่านี้ แต่ฉันต้องการกำหนดลำดับความสำคัญให้กับพวกเขาตามด้วยข้อความค้นหาเพื่อแสดงรายการทั้งหมดเรียงลำดับตามลำดับความสำคัญนี้ วิธีใดบ้างที่เป็นไปได้? ฉันสามารถแยกcatตารางที่สองสร้าง foreign foreign และอื่น ๆ แต่เนื่องจากแอปของฉันนั้นง่ายมากและโครงสร้างอาจไม่สามารถเปลี่ยนแปลงได้: ฉันมีความเป็นไปได้อะไรบ้างในการmgrระบุชื่อก่อนตามด้วยdevชื่อตามด้วยsalชื่อ ?
12 oracle 

4
เป็นไปได้หรือไม่ว่าคำสั่งนั้นจะไม่รับประกันสำหรับตารางที่ซ้ำซ้อนนี้
ฉัน stumbled เมื่อคำถามนี้ในการสนทนา Twitter กับ Lukas เอ๊ด แม้ว่าพฤติกรรมที่ถูกต้องจะใช้คำสั่งย่อย ORDER BY กับการสืบค้นนอกสุดเนื่องจากที่นี่เราไม่ได้ใช้ DISTINCT, GROUP BY, JOIN หรือส่วนคำสั่ง WHERE ใด ๆ ในการค้นหานอกสุดทำไม RDBMS ถึงไม่ผ่าน ข้อมูลที่เข้ามาในขณะที่มันถูกจัดเรียงตามแบบสอบถามภายใน? SELECT * FROM ( SELECT * FROM table ORDER BY time DESC ) AS t เมื่อเรียกใช้ตัวอย่างนี้บน PostgreSQL อย่างน้อยคุณจะได้รับแผนการดำเนินการเดียวกันสำหรับทั้งแบบสอบถามภายในและตัวอย่างตารางที่ได้รับนี้รวมถึงชุดผลลัพธ์เดียวกัน ดังนั้นฉันจะสมมติว่าผู้วางแผนจะยกเลิกการสืบค้นนอกสุดเพียงเพราะซ้ำซ้อนหรือเพียงแค่ส่งผ่านผลลัพธ์จากตารางด้านใน ไม่มีใครคิดว่านี่อาจเป็นกรณีหรือไม่

3
ชื่อผู้ใช้และรหัสผ่านเริ่มต้นของเครื่องเสมือนที่สร้างไว้ล่วงหน้าของ oracle คืออะไร
ฉันดาวน์โหลดDeveloperDaysVM2016-06-02_13.ovaจากhttp://www.oracle.com/technetwork/database/enterprise-edition/databaseappdev-vm-161299.htmlและโหลดลงในกล่องเสมือนสำเร็จ ฉันเข้าสู่ระบบในฐานะผู้ใช้ "oracle" และฉันเห็นเดสก์ท็อป จากภายในเครื่องเสมือนฉันเปิด Firefox และไปที่: http: // localhost: 8080 / ords / hrrest / พนักงาน /และได้รับรายชื่อพนักงานในรูปแบบ JSON สำเร็จ ดังนั้นฉันรู้ว่าฐานข้อมูลขึ้นและทำงาน ปัญหาเดียวของฉันคือฉันไม่สามารถเข้าสู่ฐานข้อมูล ฉันเหนื่อย: [oracle@vbgeneric oracle]$ sqlplus oracle SQL*Plus: Release 12.1.0.2.0 Production on Tue Jul 5 17:32:22 2016 Copyright (c) 1982, 2014, Oracle. All rights reserved. Enter password: oracle ERROR: ORA-01017: …

2
วิธีการแก้ไข ORA-01031: ข้อผิดพลาดสิทธิ์ไม่เพียงพอในการติดตั้ง Windows
ฉันติดตั้ง Oracle 11G บนเซิร์ฟเวอร์ Windows 2008 R2 ของฉัน ฉันยังติดตั้ง Oracle Client Libraries โดยใช้สื่อการติดตั้งแยกต่างหาก หลังจากการติดตั้งไคลเอนต์เมื่อฉันพยายามเข้าสู่ระบบฐานข้อมูลโดยใช้: C:\>sqlplus / as sysdba ฉันได้รับข้อผิดพลาดต่อไปนี้: ORA-01031: สิทธิ์ไม่เพียงพอ สิ่งนี้ใช้ได้ก่อนการติดตั้งไคลเอนต์ บัญชีของฉันอยู่ในORA_DBAกลุ่ม บัญชีของฉันยังอยู่ในกลุ่มผู้ดูแลระบบ ฉันไม่ได้ORACLE_SIDตั้งค่าในรายการตัวแปรสภาพแวดล้อมของฉัน มันจะต้องเป็นอย่างไร สิ่งนี้ใช้ได้ก่อนการติดตั้งไคลเอนต์และฉันไม่ได้มีตัวแปรนั้นในเวลานั้นเช่นกัน UAC เปิดอยู่ที่ระดับต่ำสุดและฉันมักจะทำงานcmdเป็นผู้ดูแลระบบอยู่เสมอ ฉันมีsqlnet.oraไฟล์เช่นนี้ในโฟลเดอร์: C:\app\myaccount\product\11.2.0\dbhome_1\NETWORK\ADMIN sqlnet.ora # sqlnet.ora Network Configuration File: C:\app\myaccount\product\11.2.0\dbhome_1\network\admin\sqlnet.ora # Generated by Oracle configuration tools. # This file is actually generated …

1
ความแตกต่างระหว่างการถ่ายโอนข้อมูลฐานข้อมูล (ส่งออก) และการสำรองฐานข้อมูลหรือไม่
ข้อเสียเปรียบที่ใช้เฉพาะEXPหรือEXPDPคำสั่งสำหรับการถ่ายโอนฐานข้อมูลคืออะไร(และพิจารณาว่าเป็นการสำรองข้อมูล) แทนที่จะใช้การสำรองข้อมูลโดยใช้BACKUP DATABASEคำสั่ง (ผ่านRMAN) ความแตกต่างระหว่างการถ่ายโอนข้อมูลฐานข้อมูล (ส่งออก) และการสำรองฐานข้อมูลคืออะไร?
12 oracle  backup  export 

2
วิธีการตั้งค่าสคีมาเริ่มต้นของผู้ใช้ Oracle?
ฉันสร้างผู้ใช้ใหม่ใน Oracle อย่างไรก็ตามเมื่อเรียกใช้ sqlplus พวกเขาทั้งหมดต้องผ่านการรับรองชื่อตารางในแบบสอบถามอย่างครบถ้วน วิธีที่ดีที่สุดในการตั้งค่าสคีมาเริ่มต้นสำหรับผู้ใช้ใหม่เหล่านี้คืออะไร
12 oracle  sqlplus 

4
เหตุใดจึงใช้เคอร์เซอร์ที่ชัดเจนแทนการวนซ้ำปกติ
ฉันได้เขียนเว็บแอพพื้นฐานเป็นเวลาหนึ่งปี (สำหรับฐานข้อมูล Oracle) และเนื่องจากฟังก์ชั่นนั้นค่อนข้างเรียบง่ายพวกเราส่วนใหญ่ติดอยู่กับ FOR ลูปปกติเพื่อรับข้อมูลของเรา: for i in (select * from STUDENTS) loop htp.prn(i.student_last_name || ', ' || i.student_first_name || ' ' || i.student_dob); end loop; แต่เคอร์เซอร์ดูเหมือนจะเป็นวิธีที่ 'ถูกต้อง' ในการทำสิ่งต่าง ๆ ฉันสามารถหาข้อมูลมากมายเกี่ยวกับเคอร์เซอร์และวิธีการวนลูปต่าง ๆ แต่ฉันไม่สามารถหาเหตุผลที่ชัดเจนว่าทำไมต้องใช้พวกมันมากกว่าลูปปกติ มันขึ้นอยู่กับความต้องการของขั้นตอนหรือไม่? มีข้อได้เปรียบโดยธรรมชาติที่ฉันควรทราบหรือไม่?
12 oracle  plsql 

1
ฉันสามารถใช้ Oracle Standard หรือ Enterprise Edition เพื่อการฝึกอบรมของฉันเองได้หรือไม่?
คำถามเกี่ยวกับข้อกำหนดสิทธิการใช้งานของ Oracle ฉันต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการจัดการฐานข้อมูล Oracle โชคไม่ดีที่ฉันใช้ LInux เวอร์ชัน 32 บิตดังนั้นฉันไม่สามารถติดตั้ง Oracle 11 XE (ฉันไม่พบรุ่น 32 บิต) ไม่เป็นไรถ้าฉันดาวน์โหลดและติดตั้ง Oracle Standard หรือ Entrprise ในสมุดบันทึกส่วนตัวของฉันและใช้โดยไม่มีค่าใช้จ่ายเพิ่มเติมและการออกใบอนุญาตที่ซ่อนอยู่มันเป็นไปได้หรือไม่ ฉันจะไม่ใช้มันเพื่อการพาณิชย์ใด ๆ แม้แต่โครงการโอเพนซอร์ซฉันจะใช้การติดตั้งนี้เพื่อพัฒนาทักษะ DBA ของฉันเท่านั้น

2
จะเริ่มต้นกับ Oracle ได้อย่างไร
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ คำถามนี้ต้องการคำตอบเดียว: รายการแหล่งข้อมูลที่ยอดเยี่ยมสำหรับการเริ่มต้นกับ Oracle รวมถึงการบริหารฐานข้อมูล, PL / SQL และ SQL คุณอาจพบว่าคำถามของคุณถูกปิดซ้ำซ้อนกับคำถามนี้ถ้าเป็นเช่นนั้นโปรดอย่าโกรธเคือง: เราพยายามที่จะเป็นประโยชน์มากที่สุดเท่าที่จะทำได้โดยที่เราไม่ลดทอนจุดเน้นของผู้เชี่ยวชาญของไซต์นี้ การปิดคำถามที่ซ้ำกันของคำถามนี้คือเรากำลังพูดว่า "สิ่งที่คุณต้องการจริงๆคือการใช้เวลาอ่านแหล่งข้อมูลที่ดีที่สุดบางแห่งแทนที่จะตอบคำถามเฉพาะตอนนี้ถ้าคุณผ่านแหล่งข้อมูลเหล่านี้คุณจะได้ เร็ว ๆ นี้จะกลับมาพร้อมคำถามขั้นสูง !
11 oracle  plsql 

1
ความถูกต้องชั่วคราวและความสัมพันธ์หลัก / ต่างประเทศที่สำคัญ
ฉันได้อ่านบทเรียนเกี่ยวกับ oracle หลายตัวที่แสดงถึงความถูกต้องทางเวลาและคุณสมบัติ อย่างไรก็ตามในตัวอย่างที่ฉันอ่านไม่มีคีย์หลักที่ใช้ในตารางตัวอย่าง http://docs.oracle.com/cd/E16655_01/appdev.121/e17620/adfns_design.htm#ADFNS1005 http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/12c/r1/ilm /temporal/temporal.html ควรเพิ่มคีย์หลักในตารางเหล่านี้หรือไม่ ฉันกำลังถามเพราะฉันสงสัยว่าตารางอ้างอิงหนึ่งในตารางชั่วคราวเหล่านี้ควรจะอ้างอิงได้อย่างไร ฉันสามารถเพิ่มคีย์ต่างประเทศจากตารางชั่วคราวหนึ่งไปยังอีกตารางหนึ่งได้หรือไม่ ถ้าฉันเพิ่ม pk / foreign key realtionship จากนั้นอัปเดตการอ้างอิงในตารางด้วย pk ตารางที่มีจุด fk ไปยังระเบียนที่ไม่เกี่ยวข้องอีกต่อไป .... ข้อมูลทางโลกแตกคีย์หลักปกติปกติ - foreign key ความสัมพันธ์? และถ้าเป็นเช่นนั้นสิ่งนี้มีผลต่อประสิทธิภาพอย่างไรฉันจะใช้คอลัมน์ปกติเป็น 'foreign key' และเลือกคอลัมน์ที่ถูกต้องสำหรับช่วงเวลาอ้างอิงในแบบสอบถาม ไม่มีใครรู้หรือมีตัวอย่างหรือแบบฝึกหัดที่มีประโยชน์ซึ่งแสดงข้อมูลชั่วคราวด้วยการใช้ pk / fk แบบหลอกหรือปกติ? ขอบคุณ


1
เหตุใดฉันจึงไม่ได้รับข้อผิดพลาดของการกลายพันธุ์ของตารางในทริกเกอร์
เป็นที่ทราบกันดีว่าคุณไม่สามารถใช้คำสั่ง DML ในตารางการกลายพันธุ์ภายในทริกเกอร์ ข้อความที่ตัดตอนมาจากเอกสารของ Oracle : ตารางกลายพันธุ์เป็นตารางที่ถูกแก้ไขโดยคำสั่ง UPDATE, DELETE หรือ INSERT หรือตารางที่อาจได้รับการปรับปรุงโดยผลกระทบของข้อ จำกัด DELETE CASCADE เซสชั่นที่ออกคำสั่งเรียกไม่สามารถสอบถามหรือแก้ไขตารางการกลายพันธุ์ ข้อ จำกัด นี้ป้องกันไม่ให้ทริกเกอร์เห็นชุดข้อมูลที่ไม่สอดคล้องกัน อย่างไรก็ตามฉันไม่เข้าใจว่าทำไมทริกเกอร์การสาธิตนี้ไม่ได้ล้มเหลวด้วยข้อผิดพลาด "การกลายพันธุ์ตาราง" เมื่อฉันทำการinsert into empใช้ SQL Developer หรือ SQL * Plus: CREATE OR REPLACE TRIGGER emp_bri BEFORE INSERT ON emp FOR EACH ROW BEGIN SELECT max(id) + 1 INTO :NEW.id FROM …

2
มีการหมดเวลาสำหรับการค้นหาผ่านลิงก์ฐานข้อมูลหรือไม่
แก้ไข / คำนำ: คำถามนี้ถูกย้ายมาจาก SO เนื่องจากฉันสนใจเป็นพิเศษกับคำถามเกี่ยวกับการหมดเวลาของการสืบค้นลิงก์ DB วิธีแก้ปัญหาที่ให้ไว้จาก SO ค่อนข้างโอเค แต่ฉันสนใจคำถามจริงๆ แรงจูงใจ: ฉันมีข้อความค้นหาหนึ่งคำที่เรียกใช้ "ถาวร" (มากกว่า 2 วันจนกระทั่งฉันฆ่าเซสชัน) ซึ่งใช้ลิงค์ฐานข้อมูล ปัญหาดูเหมือนว่าฐานข้อมูลระยะไกลไม่พร้อมใช้งานและด้วยเหตุผลบางอย่างที่ยังไม่ทราบว่าไม่มีORA-02068การยกระดับ (ไม่ต้องพูดถึงที่นี่) และแบบสอบถามเพิ่งรอและรอ (เคียวรีออกโดยงาน dbms_scheduler ซึ่งดำเนินการโพรซีเดอร์ในแพ็คเกจ PL / SQL ดังนั้นงานก็ยังติดอยู่ แต่นั่นไม่ใช่สิ่งที่น่าสนใจเป็นพิเศษสำหรับแกนหลักของคำถามนี้) ฉันจำลองสถานการณ์นี้โดยใส่หนึ่งในฐานข้อมูลทดสอบของฉันในโหมด quiesce และสอบถามผ่านลิงก์ฐานข้อมูล ตามที่คาดไว้แบบสอบถามกำลังรอจนกว่าจะถูกยกเลิกด้วยตนเองหรือฐานข้อมูลระยะไกลไม่ได้ถูกสอบถาม คำถาม: ฉันไม่สามารถควบคุมพฤติกรรมของฐานข้อมูลระยะไกลและเวลาปัจจุบันดังนั้นฉันจึงค้นหาความเป็นไปได้ในการตั้งค่าการหมดเวลาในแบบสอบถามซึ่งใช้ลิงค์ฐานข้อมูล เราได้ตรวจสอบแล้วเป็นโปรไฟล์ ( CPU_PER_CALLฯลฯ ) sqlnet.oraพารามิเตอร์เพิ่มพารามิเตอร์การตั้งชื่อในท้องถิ่นโดยตรงในสตริงการเชื่อมต่อ (เช่นการเพิ่ม(connect_timeout=10)คำนิยามการเชื่อมโยงฐานข้อมูล), เรียกใช้คำสั่งที่มี... for update wait 1แต่พวกเขาทำงานอย่างใดอย่างหนึ่งสำหรับการประชุมไม่ว่างหรือไม่ได้ใช้งาน แต่ไม่ได้ สำหรับช่วงเวลาที่รอ ดังนั้นฉันอยู่ในการค้นหาตัวเลือกในด้าน "ท้องถิ่น" …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.