注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

mylotustips的博客

IBM Lotus协作产品家族经验分享

 
 
 

日志

 
 
关于我

欢迎大家使用SR向IBM800提交问题http://www.ibm.com/support/servicerequest 可以随时查看问题状态,上传文件

网易考拉推荐

若Server.ID包含密码,重启OS后Domino服务器无法启动  

2013-01-23 11:16:01|  分类: Domino服务器 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

某客户的服务器版本是 V8.5.3 (64位) 运行在 Windows Server 2008R2 (x64)上。

重启OS后,管理员启动Domino 服务器时,在控制台看到以下错误:

ti="00243A5A-48257A8F" sq="00000011" THREAD [0EC4:0002-0EC8] WAITING FOR SEM 0x0926 New process semaphore <@0CD87988> <OWNER=08B8:08BC> FOR 30000 ms
ti="00244616-48257A8F" sq="00000012" THREAD [0EC4:0002-0EC8] WAITING FOR SEM 0x0926 New process semaphore <@0CD87988> <OWNER=08B8:08BC> FOR 30000 ms

据了解,客户是几个月前完成的升级,路径是:7.0.3-8.0-8.5-8.5.3 (32bit)-8.5.3 (64bit)
.
在遇到上述问题时,客户重新安装Domino服务后,能够正常启动,暂时绕开了问题。

由于服务器在重启后提示 WAITING FOR SEM 0x0926 New process semaphore 的问题属于信号量超时,需要进一步添加调试参数,收集日志进行分析。

1. 在服务器上设置以下调试参数:

CONSOLE_LOG_ENABLED=1
DEBUG_THREADID=1
DEBUG_CAPTURE_TIMEOUT=1
DEBUG_SHOW_TIMEOUT=1

方法一:在服务器的notes.ini文件中加上以下几行,完成后重新启动
Domino 服务器,使它们生效。
方法二:如果服务器不能重新启动的话,您可以通过以下命令的方式来启用:
set config CONSOLE_LOG_ENABLED=1
set config DEBUG_THREADID=1
set config DEBUG_CAPTURE_TIMEOUT=1
set config DEBUG_SHOW_TIMEOUT=1

2 在启用 Domino
出现上述提示时,用命令行手工收集nsd日志。下面是如何收集nsd的提示:
I 打开一个命令窗口
II 进入domino data目录,例如"cd c:\lotus\domino\data"
III 在Domino程序目录下执行nsd,例如"c:\lotus\domino\nsd"
IV 当nsd运行结束,再运行一次 nsd 以收集两次数据作为对比
V 退出Domino服务器,如果可以,可在Domino控制台输入'q'或者'quit'命令来退出Domino,
如果服务器不能正常退出,就需要用'nsd -kill'这个命令来杀掉所有Domino进程。

3 需要收集的数据有:
- nsd log, 文件名: nsd_<plaftform>_<ServerName>_date@time.log, date/time 应是nsd运行的时刻
- console log, 文件名: console_name_yyyy_mm_dd@hh_mm_ss.log, date/time 应是服务器最后一次启动的时刻
- SEMDEBUG txt, 文件名: SEMDEBUG_name_yyyy_mm_dd@hh_mm_ss.TXT, date/time 应是服务器最后一次启动的时刻

上面的文件位于Domino Data目录,IBM_TECHNICAL_SUPPORT 子目录

在上面的步骤完成后,请客户把nsd日志, console日志和SEMDEBUG发送给IBM技术支持工程师进行调查。

问题分析过程:

系统服务方式先启动了Domino,进程编号是09B8,堆栈显示在等待输入Server ID密码:

* F44535500000614 331303200000208       18   01/10 19:11:14     ["d:\Lotus\Domino\nservice.exe"  "=d:\Lotus\Domino\notes.ini" "-jc" "-c":  0614]
             7d0      614       18   01/10 19:11:18       ["d:\Lotus\Domino\scontroller.exe" -svc =d:\Lotus\Domino\notes.ini -c -w:  07d0]
     ->      9b8      7d0       18   01/11 03:10:07         [d:\Lotus\Domino\nserver.exe =d:\Lotus\Domino\notes.ini -j:  09b8]
     ->      9d4      9b8       18   01/11 03:10:08           [d:\Lotus\Domino\nfileret.EXE server startup:  09d4]
     ->      a04      9b8       18   01/11 03:10:08           [d:\Lotus\Domino\nlogasio.EXE NOTESLOGGER reserved  :  0a04]
     
console_MS_NFS_01_2013_01_11@03_10_08.log

[09B8:0002-09BC] Lotus Domino (r) Server (64 Bit), Release 8.5.3FP3, November 15, 2012
[09B8:0002-09BC] Copyright (c) IBM Corporation 1987, 2011. All Rights Reserved.
[09B8:0002-09BC] Restart Analysis (0 MB): 100%
[09B8:0002-09BC] 2013/01/11 03:10:12   Recovery Manager: Restart Recovery complete. (0/0 databases needed full/partial recovery)
[09B8:0002-09BC] The ID file being used is: d:\Lotus\Domino\data\server01.id
[09B8:0002-09BC] Enter password (press the Esc key to abort):

后以应用程序方式又启动了Domino,进程编号是0DFC,由于检测到Domino服务器进程的存在,就不断的报告

2013-01-10 07:14:44 PM ZE8 sq="0000000E" THREAD [0DFC:0002-0E00] WAITING FOR SEM 0x0926 New process semaphore (@0CD37988) (OWNER=09B8:09BC) FOR 30000 ms
New Process Semaphore
     ->      dfc      520      500   01/10 19:12:40   ["D:\Lotus\Domino\nserver.exe" :  0dfc]
             e10      dfc      500   01/10 19:12:43     ["D:\Lotus\Domino\nsrvwrap.exe" "D:\Lotus\Domino\nserver.exe" -p 3580 -d d:\Lotus\Domino\data:  0e10]

[0DFC:0002-0E00] Lotus Domino (r) Server (64 Bit), Release 8.5.3FP3, November 15, 2012
[0DFC:0002-0E00] Copyright (c) IBM Corporation 1987, 2011. All Rights Reserved.

概括起来,如果服务器ID设置了密码,Domino 服务器在启动后将不运行服务器任务。
要运行服务器任务,必须从控制台连接到服务器控制器,并在提示时指定服务器密码。

以下是两个server进程的堆栈信息,供参考:

############################################################
### thread 1/6: [ nserver:  0dfc:  0e00]
### FP=0x0006dbb8, PC=0x76daf6fa, SP=0x0006dbb8
### stkbase=0x00070000, total stksize=32768, used stksize=9288
############################################################
 [ 1] 0x76daf6fa ntdll.ZwWaitForSingleObject+10 (e00,101400c4,101400c0,47eda1)
 [ 2] 0x7FEFCF210AC KERNELBASE.WaitForSingleObjectEx+156 (12d,47cb46,0,194)
@[ 3] 0x0047d6c2 nnotes.WaitOnNativeSemaphore+374 (0,0,1,0)
@[ 4] 0x0047e20a nnotes.OSLockSem+242 (213b2c4,44f9fe,22,456ede)
@[ 5] 0x100925b3 nserverl.ServerInit+107 (6eca5,100f64a4,13,6ec84)
@[ 6] 0x1009373f nserverl.MainServerInit+751 (0,0,132e8e,400000)
@[ 7] 0x1000148b nserverl.FirstProcessMain+11 (6f058,76b60095,c0000034,76db1468)
@[ 8] 0x100012e9 nserverl.ServerMain+577 (1,237958,0,200)
@[ 9] 0x00401273 nserver.WinMain+627 (2,0,0,400000)
@[10] 0x004030cd nserver.WinMainCRTStartup+621 (0,0,0,0)
 [11] 0x76b5f34d kernel32.BaseThreadInitThunk+13 (0,0,0,0)
 [12] 0x76d92ca1 ntdll.RtlUserThreadStart+33 (0,0,0,0)



<@@ ------ Notes Process Info -> Call Stack for Process :: [ nserver:  09b8] (Time 19:14:13) ------ @@>

############################################################
### thread 1/6: [ nserver:  09b8:  09bc]
### FP=0x0006c4b8, PC=0x76daf9fa, SP=0x0006c4b8
### stkbase=0x00070000, total stksize=73728, used stksize=15176
############################################################
 [ 1] 0x76daf9fa ntdll.ZwDelayExecution+10 (6c578,0,0,7FEFCF34B7D)
 [ 2] 0x7FEFCF21203 KERNELBASE.SleepEx+179 (6c890,0,0,0)
@[ 3] 0x00456676 nnotes.OSDelayThread+50 (4786ba,6c890,2d,6d138)
@[ 4] 0x00462a1a nnotes.OSConsoleRead+962 (6cd38,27a4c40,6c790,c13f7e8)
@[ 5] 0x009bf5bb nnotes.GetCharModePassword+647 (6d260,4a,0,0)
@[ 6] 0x009c02e3 nnotes.SECKFMDefaultPromptHandler+979 (c13f608,0,6d138,98e2af)
@[ 7] 0x0098e527 nnotes.iBSAFEPromptWithoutSems+495 (1,0,35bdf8,6dac0)
@[ 8] 0x009aa0cc nnotes.OpenWhileLocked+3960 (6d548,4c5145d,0,1eaaa8d)
@[ 9] 0x009a899e nnotes.IDFileGet+594 (0,1,6d6f0,9a43a5)
@[10] 0x009a78d2 nnotes.BSAFEAccessCore+1902 (411f0c0,456ede,0,4775b0)
@[11] 0x009a7fbc nnotes.SECKFMAccess+764 (e,c0b0748,6dc0a,e)
@[12] 0x009920b9 nnotes.SECKFMUserInfo+3561 (10006EC84,c0b0748,411f0c0,6e0e2)
@[13] 0x10092687 nserverl.ServerInit+319 (6eca5,100f64a4,13,6ec84)
@[14] 0x1009373f nserverl.MainServerInit+751 (0,3,242e0c,400000)
@[15] 0x1000148b nserverl.FirstProcessMain+11 (6f058,76b60095,c0000034,76db1468)
@[16] 0x100012e9 nserverl.ServerMain+577 (2,927afa8,0,200)
@[17] 0x00401273 nserver.WinMain+627 (4,0,0,400000)
@[18] 0x004030cd nserver.WinMainCRTStartup+621 (0,0,0,0)
 [19] 0x76b5f34d kernel32.BaseThreadInitThunk+13 (0,0,0,0)
 [20] 0x76d92ca1 ntdll.RtlUserThreadStart+33 (0,0,0,0)

按技术文档 #1373356,管理员清空了Server ID的密码,重启OS,不再提示输入密码,测试没问题了。

注:如果注册Server.ID时勾选了“最小密码长度”,可能无法直接清空密码,需要用Cert.ID重新验证服务器ID并设置“最小密码长度”为0。

以下是英文文档中描述的步骤,供参考:

The easiest way to remove the password from a server.id is with a Domino Administrator client.  From the Configuration Tab, select Configuration > Certification > ID Properties.  Then click the "Change password" button.  On the "Change password" window, select the "No password" button and select OK.

Note that in 6.x and later, if the Password Quality for the server.id in question was set any higher than 0, then the "No Password" button will not appear.  If this is found to be the case, you will have to recertify the server.id, specifying a Password Quality of 0.  After doing so the "No Password" button will appear and the above instructions can be followed as directed.

清空 server.id 密码的步骤:

1) 将 server.id 拷贝到管理员的电脑.
2) 管理员打开 Administration Client
3) 点击 Configuration 选项卡
4) 点击 Tools > Certification
5) 点击 Certification > ID Properties
6) 选择 server.id 文件
7) 在 "ID Properties" 对话框,点击 "Change Password" 按钮
8) 在下一个提示对话框,点击 "No Password"
9) 确认你将取消 server.id 密码
10) 将取消密码的 server.id 拷贝到服务器上 Domino Data 目录.




  评论这张
 
阅读(3450)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017