适用于Oracle DB的Solaris SMF可以,但不适用于侦听器。 SMF方法如何在svcadm下工作,但在失败时不重启服务?

问题描述 投票:0回答:2

我对Solaris SMF有2个问题。 (我是SMF新手。)

我根据https://docs.oracle.com/cd/E37838_01/html/E61677/odbstartstop.html在SMF中设置了Oracle RDBMS服务>

数据库部分完全按预期工作,因此我添加了listener

作为另一个服务实例,因为方法脚本具有选项“ listener”(而不是“ db”)作为参数,并且将运行lsnrctl start ${LISTENER}而不是使用sqlplus访问然后启动或停止数据库实例。服务的

svcadm启用

svcadm禁用按预期启动和停止listener。问题是框​​架检测到lsnrctl是否正在运行,但是如果停止,则不执行任何操作来重新启动它。见下文:
svc:/site/oracle/db/oracle12lsnr:LISTENER4 (?)
 State: maintenance since May 21, 2020 03:25:39 PM BST
Reason: Method failed.
   See: http://support.oracle.com/msg/SMF-8000-8Q
   See: /var/svc/log/site-oracle-db-oracle12lsnr:LISTENER4.log
Impact: This service is not running.

-原因:方法失败。

-与通过svcadm enable(或disable)调用该方法表明该方法工作正常这一事实不符。”>

进一步调查-我从根目录杀死了lsnrctl进程,并从svcs -Lv

中获得了此进程]
[ May 22 14:13:30 Executing stop method ("/lib/svc/method/svc-oracle12-database lsnr stop LISTENER4"). ]
LSNRCTL for Solaris: Version 12.1.0.2.0 - Production on 22-MAY-2020 14:13:30
Copyright (c) 1991, 2016, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orahost.some.domain)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Solaris Error: 146: Connection refused
[ May 22 14:13:30 Method "stop" exited with status 95. ]

所以第一个问题已经改变,现在是:为什么要运行stop方法?数据库服务关闭时,此服务的db

版本运行start
方法。

老实说,我正在努力获取大量信息。我目前正在阅读上述网址的pdf版本。我在这里快速浏览了Moellenkamp的博客http://blog.moellenkamp.org/archives/18-Auditing-a-single-SMF-service-revisted.html,但我还没有实现该审计服务-假设它仍然会有所帮助。如果有人对为什么它不起作用有任何想法,我将非常感激。

第二个问题是这个:

在示例中,清单存储在/lib/svc/manifest/site/oracle/db中,并且第一次

我将其更改为/lib/svc/manifest/site/oracle12db,因为2个子目录(在... / site之后)似乎在顶部上方,这导致服务只是无法以任何方式工作(始终处于维护状态)。我had调整了清单xml文件以匹配更改后的目录结构。我感到莫名其妙,在摆弄之后,我只是简单地更改了xml文件和目录结构以匹配示例,并且一切正常。为什么会这样呢? service_nameservice_bundle中的层是否有一些公式?]

我还没有阅读任何内容,表明必须按照示例扩展目录结构。据我所知,我还没有输入xml文件的错字-尤其是因为撤消所做的更改以匹配原始示例仅仅是为了更改service_name和service_bundle行以匹配扩展目录结构。

我对Solaris SMF有2个问题。 (我是SMF新手。)我根据https://docs.oracle.com/cd/E37838_01/html/E61677/odbstartstop.html在SMF中设置了Oracle RDBMS服务。 >

要诊断服务失败的原因,请始终从服务日志开始,该路径在svcs输出中。或者只是使用“ svcs -Lv”直接显示它。

[另一种'当您知道如何时轻松'。失败时,框架将运行stop方法,然后运行start方法。

我现在可以浏览pdf文件并查看以确认这一点以及restart

refresh之类的东西。我将对user13596356的响应投赞成票,因为从7年前开始,快速检查日志和user40330的SMF问题中的一些输入使我看到了有缺陷的服务方法脚本。
oracle listener manifest solaris smf
2个回答
1
投票

要诊断服务失败的原因,请始终从服务日志开始,该路径在svcs输出中。或者只是使用“ svcs -Lv”直接显示它。


0
投票

[另一种'当您知道如何时轻松'。失败时,框架将运行stop方法,然后运行start方法。

我现在可以浏览pdf文件并查看以确认这一点以及restart

© www.soinside.com 2019 - 2024. All rights reserved.