oracle数据库服务器=oracle实例+oracle数据库。
oracle实例负责内存的东西。
oracle数据库负责磁盘的东西。
oracle实例=oracle内存+oracle进程。
而oracle实例由oracle_sid和oracle_home经过哈希函数算出的一个在内存中的地址号。
所以说oracle实例如果非要给个名称的话,基本都是oracle_sid,
如何查看oracle实例名,在连接到数据库以后,可以select * from v$instance。
一般不需要看什么oracle实例名。
所谓的“实例”,就是一个 SQL Server 数据库引擎一个 数据库引擎 下面,又可以建立 多个数据库
例如我的计算机,SQL Server 实例的名字是 SQLEXPRESS
这个实例下面,有好几个数据库。
为什么要命名。就是我机器上,很有可能安装了 SQL Server 2005, 又安装了 SQL Server 2008。 2个服务器, 需要不同的名字来区分。
对于 网络请求来说
如果我要访问一个 SQL 数据库
必须提供 机器名 + 实例的名字,才能访问
例如:
C:\Documents and Settings\wzq>sqlcmd -S "localhost\SQLEXPRESS"
1>use stock
2>go
已将数据库上下文更改为 'Stock'。
实例名,也就是当前数据库的实例名那么v$instance视图中的instance_name就是当前实例的实例名
其实还有其他方式,比如在系统层面查询实例名的方式(linux的用户参数也可以),但是因为可能同时启动两个数据库实例,而你当前的数据库,可能并不是系统层面显示的实例名,所以这种方式还是不那么靠谱的。所以instance个人认为是最好的方式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)