如何区分Oracle的数据库,实例,服务名,SID

 我来答
longrenyingdc8ecb1
推荐于2017-11-27 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2297万
展开全部
这里我说简单一点吧,理论上的东西有点绕。
数据库:有一定的方法去管理的,按照一定方式存放和读取数据的空间。(比如oracle有表空间,数据文件,视图,角色,权限等进行管理和存放数据)
实例:说白了,就是给上面的数据库分配的内存,以及为了这个数据库启动的进程。(比如,在oracle数据库启动后,非配给这个数据库sga的内存空间,而且启动了smon(oracle系统管理进程),pmon(内存管理进程),ckpt(检查点进程)等,这两项和在一起,叫做实例)
服务名:服务名其实没有明确的定义(个人理解),基本应用是在配置监听的时候才有用(rac的时候有些用处),这个名字其实是随便起的,没有什么固定的意义,只要你能分辨出来,其实起什么名字都行。(中文的好像不行)
SID:是数据库和实例的标识。(假设你的机器上有两台数据库,而且都启动了,那么怎么证明这个这部分SGA是分给A数据库的,怎么证明这个pmon进程是B数据库的,其实就是通过这个标识去判断的。一般认为每个数据库的SID在同一个网络中唯一就行。)
千锋教育
2018-08-03 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

数据库(database):物理操作系统文件或磁盘(disk)的集合。使用Oracle 10g的自动存储管理(Automatic Storage Management,ASM)或RAW分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变。

实例(instance):一组Oracle后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。

service_names是对外的服务名,是服务器端使用的,一个库可以设置多个对外服
务名,以实现不同的目的

sid用于实例区分各个数据库,service name用于外部链接。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式