要诊断服务失败的原因,请始终从服务日志开始,该路径在svcs输出中。或者只是使用“ svcs -Lv”直接显示它。
我对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_name或service_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
要诊断服务失败的原因,请始终从服务日志开始,该路径在svcs输出中。或者只是使用“ svcs -Lv”直接显示它。
[另一种'当您知道如何时轻松'。失败时,框架将运行stop方法,然后运行start方法。
我现在可以浏览pdf文件并查看以确认这一点以及restart