有朋友问什么是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的关系。在大概理解了这两者的关系之后,就可以看看书,看看资料,深入理解这些概念了。