欢迎来到之路教程(on itroad-com)

解决方案

SQLPLUS 和 SRVCTL 的区别

SQLPLUS 和 SRVCTL 实用程序的使用之间存在一些差异。

两者都应该导致实例启动,但Oracle总是推荐使用SRVCTL,因为SRVCTL做的更多,例如:SRVCTL会进行依赖分析,如果存在集群相关问题会通知,以更好的方式方式比 SQLPLUS 可能只是说实例没有启动。
SRVCTL 命令将尝试启动相关资源(如 vip/ons/listeners),以防它们未运行。

SRVCTL 实用程序总是对实例进行某种预启动,例如更新 OCR 信息,而不是等待实例资源的检查脚本来检测此实例启动并更新 OCR。

使用 SRVCTL,使用 root 用户操作系统设置,因为它继承自 crsd.bin,它将以 oracle 用户身份启动实例。
对于 SQLPLUS,使用 oracle 用户操作系统设置。
为 root 或者 oracle 设置不同的用户设置会使性能有所不同(sga 碎片与否,另一个“solaris”项目设置,...)

然而,共同的部分是 SRVCTL 使用 SQLPLUS 来启动/停止实例。

SRVCTL 工具管理由其他几个 Oracle 工具使用的配置信息。
例如,企业管理器使用 SRVCTL 生成的配置信息来发现和监视集群中的节点。

请注意,'srvctl start database/instance' 命令不会启动所有已启用和未运行的服务,这些服务将列出的实例作为 10g 中的首选或者可用实例。

使用 srvctl 和 使用 sqlplus 启动Oracle 数据库实例有什么区别

问题

我们有一些实例,似乎通过 sqlplus 启动 rac 数据库会导致性能问题(数据库服务器上的高负载)。
使用 srvctl 重新启动节点似乎解决了性能问题。

使用 srvctl 与使用 sqlplus 启动 数据库节点之间有什么区别?

日期:2020-09-17 00:11:19 来源:oir作者:oir