การรันหลายอินสแตนซ์บนเซิร์ฟเวอร์เดียวกันเป็นไปได้และในบางกรณีจำเป็น oratab ได้รับการออกแบบมาโดยเฉพาะเพื่อจัดการการจัดการหลายอินสแตนซ์ ในกรณีที่คุณมีแอปพลิเคชั่นอิสระหลายตัวคุณอาจต้องการอินสแตนซ์สำหรับแต่ละแอปพลิเคชัน
การมีหน่วยความจำที่เพียงพอเป็นสิ่งสำคัญ Oracle สร้าง SGA ในหน่วยความจำที่ใช้ร่วมกัน หากคุณมีหน่วยความจำไม่เพียงพอ SGA หรือกระบวนการจะเริ่มทำการสลับเข้าและออก สิ่งนี้เรียกว่าการฟาดฟันและส่งผลให้เกิดการลงโทษอย่างมีนัยสำคัญ
อาจเป็นไปได้ที่จะปรับอินสแตนซ์ให้ทำงานด้วย SGA ที่เล็กลง Oracle จัดเตรียมเครื่องมือเพื่อช่วยปรับขนาด SGA หากอินสแตนซ์ใด ๆ มี SGA ที่ใหญ่เกินไปมันจะลงโทษอินสแตนซ์ทั้งหมด
การใช้งานกับหน่วยความจำซึ่งมีความสำคัญก็คือพื้นที่บัฟเฟอร์ สิ่งนี้ทำหน้าที่เป็นแคชรองและสามารถกำจัด I / O การอ่านที่สำคัญได้
การรันsar
(สมมติว่าระบบปฏิบัติการ Unix base O / S) สามารถให้การวินิจฉัยที่ดีแก่คุณเกี่ยวกับปัญหาที่เกิดขึ้น ปัญหาที่น่าจะเกิดจากการสลับเปลี่ยนหรือความอิ่มตัวของดิสก์ I / O การเพิ่มแรมจะแก้ปัญหาเหล่านี้ได้
ความอิ่มตัวของดิสก์ I / O อาจได้รับการจัดการด้วยการย้ายพื้นที่บางตารางไปยังดิสก์อื่น โดยทั่วไปแล้วฉันกำหนดค่า Oracle เพื่อให้ I / O กระจายข้ามดิสก์ให้ได้มากที่สุด
แก้ไข: เหล่านี้เป็นบางกรณีซึ่งอาจต้องใช้อินสแตนซ์แยกต่างหาก
- จำเป็นเสมอหากคุณใช้ Oracle เวอร์ชันต่าง ๆ บนเซิร์ฟเวอร์เดียวกัน แอปพลิเคชันไม่ได้รับการรับรองหรือมีความสามารถในการทำงานกับเวอร์ชันล่าสุดเสมอไป
- คุณอาจต้องการอินสแตนซ์ที่สามารถย้อนกลับเป็นเวลาโดยอัตโนมัติ (แม้ว่าฉันจะไม่ย่อท้อ แต่ฉันก็ใช้สิ่งนี้สำหรับสภาพแวดล้อมการทดสอบอัตโนมัติ)
- หากคุณมีการอ้างอิงสกีมาแบบ hard-coded ในแอปพลิเคชันคุณอาจต้องการอินสแตนซ์ต่าง ๆ เพื่อจัดการกับการชนกันของเนมสเปซ
- ข้อกำหนดด้านความปลอดภัยอาจง่ายต่อการจัดการโดยใช้อินสแตนซ์แยกต่างหาก อาจเหมาะสมที่จะใช้เซิร์ฟเวอร์ต่าง ๆ ในกรณีนี้
- การรันเวอร์ชันที่แตกต่างของฐานข้อมูลเดียวกัน (การพัฒนาการทดสอบการยอมรับของผู้ใช้การฝึกอบรมและการผลิต) บนเซิร์ฟเวอร์เดียวกันนั้นปลอดภัยกว่าด้วยอินสแตนซ์แยกต่างหาก ฉันจะไม่เรียกใช้สภาพแวดล้อมเหล่านี้ทั้งหมดบนเซิร์ฟเวอร์เดียวกัน แต่มักจะรันสองหรือมากกว่าบนเซิร์ฟเวอร์เดียวกัน