Database vs Instance
Ang Oracle ay isang RDBMS (object-relational database management system) na malawakang ginagamit sa mga negosyo. Ito ay binuo ng Oracle Corporation. Ang isang Oracle system ay binubuo ng hindi bababa sa isang Instance at isang database. Ang halimbawa ay isang koleksyon ng mga proseso na nakikipag-ugnayan sa imbakan ng data. Ang database ay ang aktwal na imbakan, na nagtataglay ng koleksyon ng mga file. Gayunpaman, ang terminong Oracle database ay ginagamit upang sumangguni sa buong Oracle database system (mga pagkakataon at database). Dahil dito, palaging may ilang kalituhan para sa mga nagsisimula sa pagitan ng mga terminong database at instance.
Ano ang Instance?
Ang Instance ay isang koleksyon ng mga prosesong tumatakbo sa ibabaw ng operating system at ang nauugnay na memorya na nakikipag-ugnayan sa storage ng data. Ang halimbawa ay ang interface sa pagitan ng user at ng database. Ang mga prosesong may kakayahang makipag-usap sa kliyente at ma-access ang database ay ibinibigay ng halimbawa. Ang mga prosesong ito ay mga proseso sa background at hindi sapat ang mga ito upang mapanatili ang prinsipyo ng ACID (Atomicity, Consistency, Isolation, at Durability) sa database. Kaya, ang isang instance ay gumagamit din ng ilang iba pang mga bahagi tulad ng memory cache at mga buffer. Mas partikular, ang isang Instance ay binubuo ng tatlong bahagi. Ang mga ito ay SGA (System Global Area), PGA (Program Global Area) at mga proseso sa background. Ang SGA ay isang pansamantalang shared memory structure, na may habang-buhay ng instance startup hanggang sa shutdown nito.
Database
Ang Oracle database ay tumutukoy sa aktwal na storage ng Oracle RDBMS. Binubuo ito ng tatlong pangunahing sangkap. Ang mga ito ay mga control file, redo file at data file. Opsyonal, maaaring mayroong mga file ng password sa database. Sinusubaybayan ng mga control file ang lahat ng data file at gawing muli ang mga file. Nakakatulong din itong panatilihing buo ang integridad ng database sa pamamagitan ng pagsubaybay sa System Change Number (SCN), timestamp at iba pang kritikal na impormasyon gaya ng backup/recovery na impormasyon. Pinapanatili ng mga file ng data ang aktwal na data. Sa oras ng paglikha ng database, hindi bababa sa dalawang data file ang nalikha. Ang mga file na ito ay pisikal na nakikita ng DBA (Database Administrator). Ang mga pagpapatakbo ng file tulad ng pagpapalit ng pangalan, pagbabago ng laki, pagdaragdag, paglipat o pag-drop ay maaaring isagawa sa mga file ng data. I-redo ang mga log file (kilala rin bilang online na redo logs), panatilihin ang impormasyon tungkol sa mga pagbabago sa database kasama ang kronolohikal na impormasyon. Ang impormasyong ito ay kailangan kung sakaling kailanganin ng user na gawing muli ang lahat o ilan sa mga pagbabago sa database. Upang mamanipula ng isang instance ang data ng database, dapat itong buksan muna. Ang isang halimbawa ay maaaring magbukas lamang ng isang database. Gayunpaman, ang isang database ay maaaring mabuksan sa pamamagitan ng maraming mga pagkakataon.
Ano ang pagkakaiba ng Database at Instance?
Ang mga terminong instance at database sa Oracle RDBMS ay lubos na nauugnay, ngunit ang mga ito ay tumutukoy sa dalawang magkaibang bahagi sa loob ng system. Ang database ay tumutukoy sa aktwal na storage ng RDBMS, habang ang Instance ay isang koleksyon ng mga prosesong tumatakbo sa ibabaw ng operating system at ang nauugnay na memorya na nakikipag-ugnayan sa data storage. Kailangang buksan ng Instance ang database bago manipulahin ang data. Maraming instance ang maaaring magbukas ng isang database, ngunit ang isang instance ay hindi makakapagbukas ng maramihang database.