如何理解oracle实例(instance)和数据库(database)的概念

    今天群里有朋友问什么是instance,什么是database。于是群友七嘴八舌的说了很多很理论很理论的东西,这些东西网上很多,如果提问者能看懂的话也就不问我们了。很显然,提问者刚刚接触oracle,这个问题是困扰oracle新丁的一个常见问题。

    我举个通俗易懂的例子,虽然不是很恰当,但是对于初学者理解instance和database很有帮助。
    我的C:\下放了一个文本文件:example.txt,这是个实际存在的物理文件,现在打开进程管理器,进程管理器中看不到什么和这儿文件有关系的进程。但是当我双击这个文本文件以后,进程管理器中就会出现notepad.exe。我可以通过记事本对example.txt进行操作,比如说添加一些文字进去,或者删除一些文字,然后保存,或者不保存。
    在这个例子里,instance就是在进程管理器中能看到的notepad.exe,而数据库就是那个C:\example.txt。
    instance是一组进程,还有一块共享的内存区域,database是一组数据文件。而操作系统层级上,notepad.exe就是一个进程,还有给它分配的内存,都能在进程管理器里看到,而C:\example.txt就是实际存在的物理文件。
    这么一说,很通俗的就讲好了instance和database的关系。在大概理解了这两者的关系之后,就可以看看书,看看资料,深入理解这些概念了。
posted @ 2011-11-19 13:53  wingsless  阅读(1705)  评论(1编辑  收藏  举报