Menjalankan beberapa instance pada server yang sama dimungkinkan dan dalam beberapa kasus diperlukan. Oratab dirancang khusus untuk menangani pengelolaan beberapa instance. Dalam kasus di mana Anda memiliki beberapa aplikasi independen, mungkin lebih baik untuk memiliki instance untuk setiap aplikasi.
Memiliki memori yang cukup sangat penting. Oracle membangun SGA dalam memori bersama. Jika Anda tidak memiliki cukup memori, SGA atau proses akan mulai bertukar masuk dan keluar. Ini dikenal sebagai thrashing, dan menghasilkan penalti performa yang signifikan.
Dimungkinkan untuk menyetel instance untuk dijalankan dengan SGA yang lebih kecil. Oracle menyediakan alat untuk membantu menyempurnakan ukuran SGA. Jika salah satu instance memiliki SGA yang terlalu besar itu akan menghukum semua instance
Penggunaan lain untuk memori yang penting adalah ruang buffer. Ini bertindak sebagai cache sekunder, dan dapat menghilangkan I / O baca yang signifikan.
Menjalankan sar(dengan asumsi pangkalan Unix O / S) dapat memberi Anda diagnostik yang baik tentang di mana masalahnya. Kemungkinan masalah adalah swapping atau saturasi I / O disk. Menambahkan RAM kemungkinan akan mengatasi salah satu dari masalah ini.
Disk I / O saturasi juga dapat ditangani dengan memindahkan beberapa tablespaces ke disk lain. Saya biasanya mengkonfigurasi Oracle sehingga I / O didistribusikan di disk sebanyak mungkin.
EDIT: Ini adalah beberapa kasus yang mungkin memerlukan contoh terpisah.
- Selalu diperlukan jika Anda menjalankan versi Oracle yang berbeda di server yang sama. Aplikasi tidak selalu bersertifikat atau mampu bekerja dengan versi terbaru.
- Anda mungkin menginginkan contoh yang dapat secara otomatis digulung kembali ke titik waktu. (Meskipun saya tidak mendukungnya, saya telah menggunakan ini untuk lingkungan pengujian otomatis.)
- Jika Anda memiliki referensi skema hard-coded dalam aplikasi, Anda mungkin perlu contoh berbeda untuk menangani tabrakan namespace.
- Persyaratan keamanan mungkin lebih mudah untuk ditangani dengan menggunakan mesin virtual yang terpisah. Mungkin tepat untuk menggunakan server yang berbeda dalam kasus ini.
- Menjalankan versi berbeda dari database yang sama (pengembangan, pengujian, penerimaan pengguna, pelatihan, dan produksi) pada server yang sama lebih aman dengan mesin virtual yang terpisah. Saya tidak akan menjalankan semua lingkungan ini di server yang sama, tetapi sering menjalankan dua atau lebih pada server yang sama.