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

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

3
วิธีแก้ปัญหา enq: TX - การช่วงชิงล็อกการล็อกแถว
ฉันมีสถานการณ์ต่อไปนี้ ฉันมี RAC บนโหนดทั้งสองมีการล็อคอยู่ บนโหนดแรก SID EVENT USERNAME BLOCKING_SESSION ROW_WAIT_OBJ# OBJECT_NAME LOCKWAIT SQL_ID STATUS 1 102 enq: TX - row lock contention MYUSER 155 136972 TABLE1V 0000000810EFA958 5f4bzdg49fdxq ACTIVE 2 111 enq: TX - row lock contention MYUSER 155 136972 TABLE1V 0000000810EFAC98 5f4bzdg49fdxq ACTIVE การปิดกั้นข้อมูลเซสชั่น SID EVENT USERNAME ROW_WAIT_OBJ# OBJECT_NAME …

1
ฟีเจอร์การทดแทน SQL ใน Oracle 10g
สามหรือสี่ปีที่แล้วฉันอ่านในบล็อกของออราเคิลที่ไหนสักแห่งที่ DBA ใช้เพื่อแก้ไขเหตุการณ์ฉุกเฉินคุณลักษณะ Oracle 10g ของการทดแทน SQL แบบเรียลไทม์ โดยทั่วไปเขาได้กำหนดค่า Oracle ในแบบที่ทุกครั้งที่ได้รับการสืบค้น A ที่ดำเนินการแบบสอบถามอื่น B ​​แทน ไม่มีการเปลี่ยนแปลงรหัสแอปพลิเคชันไม่มีการเปลี่ยนแปลง schema เพียงแค่ "เรียกใช้แบบสอบถาม B แทนการกำหนดค่าประเภท" ไม่ใช่ว่าฉันกำลังวางแผนที่จะใช้คุณลักษณะนั้น (ฉันสามารถนึกถึงผลที่ไม่พึงประสงค์บางอย่าง) แต่มันมีอยู่จริงหรือไม่? ถ้าใช่คุณสมบัตินั้นเรียกว่าอะไร?

3
ฉันมีเครื่องที่ทรงพลังพร้อม RAM 70 GB สามารถสร้างอินสแตนซ์ Oracle จำนวน 20 GB ได้เท่าใด
ฉันมีเครื่องที่ทรงพลังพร้อม RAM 70 GB ฉันสร้างหนึ่งอินสแตนซ์ของ Oracle ที่มี 20 GB เป็น sga_target ฉันไม่สามารถสร้างอินสแตนซ์ Oracle อื่นsga_target > 10Gได้แม้ว่าฉันจะเก็บฐานข้อมูลแรกลง หากฉันตั้งค่าsga_target >=10Gมันให้ข้อผิดพลาดด้านล่างเมื่อเริ่มต้น: ORA-27104: ข้อ จำกัด ที่ระบบกำหนดสำหรับหน่วยความจำที่ใช้ร่วมกันนั้นได้รับการกำหนดค่าผิดพลาด ในขณะที่free -mแสดงให้เห็นว่ามี memeory เพียงพอที่สามารถใช้ได้แม้ว่า total used free shared buffers cached Mem: 72419 34490 37928 0 618 28159 -/+ buffers/cache: 5711 66707 Swap: 2047 0 2047 ฉันจำเป็นต้องเพิ่มพื้นที่สว็อปหรือไม่? ตัวชี้ใด ๆ …

1
SQL * Plus, @ และพา ธ สัมพัทธ์
อย่างใดดูเหมือนว่า SQL * Plus (อย่างน้อยบน Windows) ไม่สามารถค้นหาสคริปต์ด้วยเส้นทางสัมพัทธ์เมื่อเรียกด้วย@@และเมื่อเส้นทางเริ่มต้นด้วยจุดเดียวหรือสองครั้ง ตัวอย่างเช่นภายใต้x:\some\whereฉันมีโครงสร้างไดเรกทอรีต่อไปนี้: script.sql main-dir\main-sub-dir call-script.sql script.sql นั่นคือ: สองscript.sqlสถานที่ต่างกัน เนื้อหาของscript.sqlอันเดอร์ภายใต้x:\some\whereนั้นเรียบง่าย prompt SCRIPT root ในขณะที่script.sqlเนื้อหาอื่น ๆคือ prompt SCRIPT main-dir/main-subdir call-script.sql อ่าน @@script.sql @ script.sql ผลผลิตที่คาดหวัง ถ้าฉันเริ่ม SQL * Plus จากx:\some\whereนั้นให้ทำ @main-dir/main-sub-dir/call-scripts ผลลัพธ์จะเป็น SCRIPT main-dir/main-subdir SCRIPT root สิ่งนี้คาดว่าจะเกิดขึ้นเนื่องจากสิ่งที่@ควรจะค้นหาพา ธ จากจุดเริ่มต้นของ SQL * Plus และ@@ควรจะค้นหาพา ธ จากไดเรกทอรีของสคริปต์ที่มี ผลลัพธ์ที่ไม่คาดคิด …

2
วิธีการปิด Oracle
การปิดฐานข้อมูลก่อนทำการอัปเกรดหรือสามารถทำการแก้ไขได้หลายวิธี shutdown immediate; หรือ shutdown abort; startup restrict; shutdown immediate; หรือ shutdown abort; startup restrict; shutdown; หรือ alter system checkpoint; shutdown abort; startup restrict; shutdown immediate; แน่นอนมีตัวเลือกอื่น ๆ เช่นกัน สิ่งใดควรเป็นที่ต้องการและเพราะอะไร

1
แอปพลิเคชันใช้เซสชันมากเกินไปเมื่อใด
ฉันกำลังทำงานกับแอปพลิเคชันไคลเอนต์เซิร์ฟเวอร์ที่ใช้ OCI เพื่อสื่อสารกับ Oracle ในอดีตที่ผ่านมาแอปพลิเคชันของเรามักจะถือว่าเซสชันเป็นทรัพยากรที่ไม่มีที่สิ้นสุดค่อนข้างจะทำให้เกิดความเสียหายกับแอปพลิเคชันอื่น ๆ ที่แบ่งปันเซิร์ฟเวอร์ Oracle ฉันพยายามโน้มน้าวให้นักพัฒนาเพื่อนของฉันเห็นว่ามันเป็นสิ่งสำคัญสำหรับแอปพลิเคชันของเราที่จะเล่นกับผู้อื่นได้ดีและไม่ได้เป็นเหมือนหมูทรัพยากร Oracle DBA ของคุณจะพิจารณาว่าแอปพลิเคชันที่ใช้เซสชัน (หรือการละเมิด) มากเกินไป ณ จุดใด แก้ไข: ปัจจุบันหนึ่งในผู้บริโภคที่ใหญ่ที่สุดของเซสชันคือองค์ประกอบนี้ที่ใช้การโหลดเส้นทางโดยตรงเพื่อโหลดจำนวนมากหลายตาราง (20-30) พร้อมกัน
9 oracle 

4
Oracle ส่งคืนข้อผิดพลาด ORA-01031: สิทธิ์ไม่เพียงพอ
Oracle ส่งคืนข้อผิดพลาด "ORA-01031: สิทธิ์ไม่เพียงพอ" เมื่อฉันเรียกใช้sqlplus / as sysdbaแต่sqlplus sys/oracle123 as sysdbaทำไม่ได้ทำไม เวอร์ชันของ Oracle: Oracle Database 10g Enterprise Edition รีลีส 10.2.0.1.0 - 64 บิต รุ่น Linux: SUSE Linux Enterprise Server 11 (x86_64) ฉันรู้ว่า Oracle ใช้การตรวจสอบระบบปฏิบัติการเมื่อทำงานsqlplus / as sysdbaผมยังตรวจสอบ sqlnet.ora SQLNET.AUTHENTICATION_SERVICES = (NTS)อย่างรอบคอบและจะมี ฉันยังเปลี่ยนกลุ่มผู้ใช้ oracle ผู้ใช้ oracle อยู่ในกลุ่ม dba อย่างแน่นอนเพราะเมื่อฉันเรียกใช้รหัสคำสั่งข้อมูลที่ส่งกลับจะเป็นดังนี้: oracle@linux-mage:~> id …
9 linux  oracle 


1
มุมมองที่ปรากฏใน oracle
มีการนำเอามุมมองที่เป็นรูปธรรมมาใช้ใน oracle อย่างไร ฉันสร้างมุมมองที่เป็นจริงใน oracle แล้ว สิ่งที่ฉันเห็นตอนนี้เป็นตารางปกติกับงาน มีการแปลมุมมองที่ปรากฏเป็นตารางและงานใน oracle หรือไม่
9 oracle  view 

1
ฉันจะเขียนทริกเกอร์ที่เขียนสำหรับ Oracle ได้อย่างไรสำหรับ SQL Server
ฉันจะเขียนทริกเกอร์ที่เขียนขึ้นใหม่สำหรับ Oracle Server ได้อย่างไรสำหรับ SQL นี่คือรหัสทริกเกอร์ Oracle ของฉัน: CREATE OR REPLACE TRIGGER P000KUL_TEST BEFORE INSERT ON P000KUL REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN SELECT TO_CHAR(SYSDATE, 'dd/mm/RRRR') INTO :NEW.SYSTEM_DATE FROM DUAL; SELECT TO_CHAR(SYSDATE, 'hh:mi') INTO :NEW.SYSTEM_TIME FROM DUAL; END;

2
วิธีโยกย้าย SQL Server Stored Procedure โดยใช้ตารางชั่วคราวหรือตัวแปรตารางไปยัง Oracle
ผู้พัฒนา C # ได้รับการสนับสนุนโดยฝ่ายบริหารให้เขียนขั้นตอนการจัดเก็บ SQL Server มักจะสร้างขั้นตอนเช่นนี้ create table #t1 (...); insert into #t1 Select ... from table_a where ...; insert into #t1 Select ... from table_b where ...; update #t1 Set ... = ... where ... Select * from #t1; คำสั่งเดียวค่อนข้างง่ายและวิธีนี้ทำให้พวกเขาผลิตผลลัพธ์ที่ถูกต้อง บ่อยครั้งที่งานของฉันคือการโยกย้ายขั้นตอนดังกล่าวไปยัง Oracle ลองหน้าข้อเท็จจริงต่อไปนี้ สำหรับตารางชั่วคราวที่แตกต่างกันใน SQL Server นั้นมีความเป็นอิสระอย่างสมบูรณ์และสามารถมีโครงสร้างแบบเฉพาะกิจได้ ตารางทั่วโลกของ …

3
Oracle Instances หลายตัว - นี่เป็นการปฏิบัติที่ดีหรือไม่?
หนึ่งในลูกค้าของฉันได้ปรับใช้ฐานข้อมูลผลิตภัณฑ์ของเราลงในเครื่อง Solaris ซึ่งมีอินสแตนซ์ของ Oracle อยู่ 3 อินสแตนซ์ ดังนั้นตอนนี้มี Oracle 4 อินสแตนซ์ที่ทำงานบนเครื่องเดียวกัน และตอนนี้เรากำลังประสบปัญหาประสิทธิภาพ ฉันไม่สามารถเข้าถึงอินสแตนซ์อื่นหรือเครื่องและเครื่องมือทั้งหมดที่ฉันมีคือ alert.log, AWR และ ADDM ฉันรู้ว่ามีบางอย่างเกี่ยวข้องกับหลายกรณี แต่ฉันไม่สามารถพิสูจน์ได้ ดังนั้นคำถามของฉันคือคุณเคยประสบสถานการณ์คล้ายกันหรือไม่? ฉันจะจัดการกับมันได้อย่างไร ฉันจะระบุสาเหตุของปัญหาด้านประสิทธิภาพที่เกี่ยวข้องกับหลายอินสแตนซ์ได้อย่างไร

1
ฉันจะนำเข้าเนื้อหาของฐานข้อมูล Oracle ไปยัง Visio เพื่อสร้าง Entity Relationship Diagram ได้อย่างไร
ฉันมีฐานข้อมูล Oracle และฉันต้องการสร้าง ERD ใน Visio 2007 Pro ฉันเคยดูที่คำสั่ง DBMS_METADATA.GET_DDL เพื่อสร้าง DDL ฉันรู้ว่าฉันสามารถนำเข้าฐานข้อมูล Access ลงใน Visio แต่ดูเหมือนว่า Access เข้าใจภาษา SQL ซึ่งแตกต่างจาก Oracle ดังนั้นฉันจะต้องปรับแต่งทุกคำสั่งสร้างตารางเพื่อเปลี่ยนชนิดข้อมูล มีวิธีง่ายๆในการสร้าง ERD โดยใช้ DDL ใน Visio Pro 2007 หรือไม่?
9 oracle  import  erd  ddl  visio 


2
Oracle จัดการกับหลาย ๆ INSERTs พร้อมกันอย่างไรในหนึ่งตาราง
ฉันพยายามทำความเข้าใจ Oracle 11g ให้ละเอียดยิ่งขึ้น คำถามของฉันง่าย: Oracle จัดการกับสองช่วงที่พยายามแทรกระเบียนลงในตารางเดียวในเวลาเดียวกันได้อย่างไร ตัวอย่างเช่น INSERT A ทำงานเวลา 13.00 น. เทียบกับตารางที่ 1 จะใช้เวลา 5 นาทีจึงจะเสร็จสมบูรณ์ INSERT B จะดำเนินการเวลา 1:02 PM เทียบกับตารางที่ 1 จะใช้เวลา 1 นาทีจึงจะเสร็จสมบูรณ์ อะไรจะเกิดขึ้น? Oracle จะจัดคิว INSERT B ให้ทำงานหลังจาก INSERT A เสร็จสิ้นหรือไม่ INSERT B จะทำงานพร้อมกันกับ INSERT A หรือไม่ ขอบคุณ!
8 oracle  insert 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.