weblogic的版本是10.3,操作系统是linux,安装weblogic创建了一个weblogic用户,由于使用root用户修改了一些性能参数后,使用了root用户启动了一次weblogic,而原来启动weblogic的脚本是使用了weblogic用户,在使用weblogic用户启动weblogic时出现了不能锁定AdminServer.lok文件的错误,具体错误信息如下所示:

[weblogic@localhost ~]$ cd /home/weblogic/Oracle/Middleware/user_projects/domains/sbkwsjb/bin

[weblogic@localhost bin]$ ./startWebLogic.sh

.

.

JAVA Memory arguments: -Xms1024m -Xmx2048m -XX:CompileThreshold=8000 -XX:PermSize=256m -XX:MaxPermSize=512m

.

WLS Start Mode=Development

.

CLASSPATH=/home/weblogic/Oracle/Middleware/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/weblogic/Oracle/Middleware/patch_ocp371/profiles/default/sys_manifes

t_classpath/weblogic_patch.jar:/usr/java64/jdk1.6.0_45/lib/tools.jar:/home/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic_sp.jar:/home/weblogic/Oracle/Middleware/wlserver_10.3/

server/lib/weblogic.jar:/home/weblogic/Oracle/Middleware/modules/features/weblogic.server.modules_10.3.6.0.jar:/home/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/webservices.jar:/home

/weblogic/Oracle/Middleware/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/home/weblogic/Oracle/Middleware/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar:/home/weblogic/Oracle/Mi

ddleware/wlserver_10.3/common/derby/lib/derbyclient.jar:/home/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/xqrl.jar:.:/usr/java64/jdk1.6.0_45/lib:/usr/java64/jdk1.6.0_45/lib/dt.jar:/u

sr/java64/jdk1.6.0_45/lib/tools.jar

.

PATH=/home/weblogic/Oracle/Middleware/wlserver_10.3/server/bin:/home/weblogic/Oracle/Middleware/modules/org.apache.ant_1.7.1/bin:/usr/java64/jdk1.6.0_45/jre/bin:/usr/java64/jdk1.6.0_45/bin:/

usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/java64/jdk1.6.0_45/bin:/home/weblogic/bin

.

***************************************************

* To start WebLogic Server, use a username and *

* password assigned to an admin-level user. For *

* server administration, use the WebLogic Server *

* console at http://hostname:port/console *

***************************************************

starting weblogic with Java version:

java version "1.6.0_45"

Java(TM) SE Runtime Environment (build 1.6.0_45-b06)

Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

Starting WLS with line:

/usr/java64/jdk1.6.0_45/bin/java -client -Xms1024m -Xmx2048m -XX:CompileThreshold=8000 -XX:PermSize=256m -XX:MaxPermSize=512m -Dweblogic.Name=AdminServer -Djava.security.policy=/home/webl

ogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.policy -Xverify:none -da -Dplatform.home=/home/weblogic/Oracle/Middleware/wlserver_10.3 -Dwls.home=/home/weblogic/Oracle/Middleware

/wlserver_10.3/server -Dweblogic.home=/home/weblogic/Oracle/Middleware/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToCon

sole= -Dweblogic.ext.dirs=/home/weblogic/Oracle/Middleware/patch_wls1036/profiles/default/sysext_manifest_classpath:/home/weblogic/Oracle/Middleware/patch_ocp371/profiles/default/sysext_mani

fest_classpath weblogic.Server

bea -000362 server failed. Reason:

There are 1 nested errors:

weblogic.management.ManagementException: Unable to obtain lock on /home/weblogic/Oracle/Middleware/user_projects/domains/sbkwsjb/servers/AdminServer/tmp/AdminServer.lok. Server may already b

e running

at weblogic.management.internal.ServerLocks.getServerLock(ServerLocks.java:206)

at weblogic.management.internal.ServerLocks.getServerLock(ServerLocks.java:67)

at weblogic.management.internal.DomainDirectoryService.start(DomainDirectoryService.java:74)

at weblogic.t3.srvr.ServerServicesManager.startService(ServerServicesManager.java:461)

at weblogic.t3.srvr.ServerServicesManager.startInStandbyState(ServerServicesManager.java:166)

at weblogic.t3.srvr.T3Srvr.initializeStandby(T3Srvr.java:881)

at weblogic.t3.srvr.T3Srvr.startup(T3Srvr.java:568)

at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:469)

at weblogic.Server.main(Server.java:71)

出现这种情况的原因有两种可能但不限于,一是执行kill -9杀死weblogic进程,一种是使用的不是安装weblogic的用户比如root用户来启动weblogic。这里出现这种情况之前,既使用了kill -9杀死weblogic进程,也使用root用户(而不是weblogic用户)来启动weblogic。

对于这种情况解决方法有以下三种

1.是修改AdminServer.lok文件的权限,让weblogic用户能锁定它.

2.删除AdminServer.lok文件并重新使用weblogic用户来启动weblogic服务.

3.杀死仍然运行的服务进程并重新weblogic服务.

这里我采用的是第一种解决方法:

[root@localhost bin]# cd /home/weblogic/Oracle/Middleware/user_projects/domains/sbkwsjb/servers/AdminServer/tmp/

[root@localhost tmp]# ls -lrt

total 12

drwxr----- 5 weblogic bea 4096 Dec 29 19:09 _WL_internal

drwxr----- 3 weblogic bea 4096 Mar 17 17:53 _WL_user

-rw-r----- 1 weblogic bea 264 Apr 21 17:11 WebServiceUtils.ser

-rw-r----- 1 root root 0 Apr 21 17:24 AdminServer.lok

[root@localhost tmp]# chown weblogic:bea AdminServer.lok

[root@localhost tmp]# ls -lrt

total 12

drwxr----- 5 weblogic bea 4096 Dec 29 19:09 _WL_internal

drwxr----- 3 weblogic bea 4096 Mar 17 17:53 _WL_user

-rw-r----- 1 weblogic bea 264 Apr 21 17:11 WebServiceUtils.ser

-rw-r----- 1 weblogic bea 0 Apr 21 17:24 AdminServer.lok

第二种方法,删除AdminServer.lok文件并重新使用weblogic用户来启动weblogic服务的操作示例如下:

1. 在user_projects/domains/目录中移动或删除它被锁定的文件,例如:

$ find . -name "*DAT"

./servers/AdminServer/data/store/diagnostics/WLS_DIAGNOSTICS000000.DAT

./servers/AdminServer/data/store/default/_WLS_ADMINSERVER000000.DAT

这里要注意的是Unix或Linux是大小敏感的,在执行查找时不要将"*DAT"写成".dat",如果写成".dat"可能删除将?/security/SerializedSystemIni.dat文件删除。

2.删除EmbeddedLDAP.lok and AdminServer.lok 文件

[root@localhost tmp]rm -rf /home/weblogic/Oracle/Middleware/user_projects/domains/sbkwsjb/servers/AdminServer/tmp/AdminServer.lok

[root@localhost tmp]rm -rf

/home/weblogic/Oracle/Middleware/user_projects/domains/sbkwsjb/servers/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.lok

3.可以执行下面的脚本来找出进程正在监听的端口并通过kill -TERM将其杀掉。

#!/bin/ksh

line='---------------------------------------------'

pids=$(/usr/bin/ps -ef | sed 1d | awk '{print $2}')

if [ $# -eq 0 ]; then

read ans?"Enter port you would like to know pid for: "

else

ans=$1

fi

for f in $pids

do

/usr/proc/bin/pfiles $f 2>/dev/null | /usr/xpg4/bin/grep -q "port: $ans"

if [ $? -eq 0 ]; then

echo $line

echo "Port: $ans is being used by PID:\c"

/usr/bin/ps -ef -o pid -o args | egrep -v "grep|pfiles" | grep $f

fi

done

exit 0

4.重新启动weblogic服务

[weblogic@localhost bin]$nohup ./startWebLogic.sh &

第三种方法,杀死仍然运行的服务进程并重新weblogic服务的示例操作如下:

1. 找到Managed Server的:

ps -ef | grep ManagedServer

2.使用kill -9 杀掉Managed Server进程:

kill -9

3. 重新启动weblogic服务:

nohup ./startWebLogic.sh &

要注意的是startWeblogic.sh脚本通常要使用nohup来启动,这样当用户退出时shell才能保持继续运行.

如果是Windows平台

1. AdminServer.lok 文件的缺存储目录是: C:\Oracle\Middleware\user_projects\domains\\servers\AdminServer\tmp\

2. 执行startWebLogic.cmd 命令来启动weblogic服务

注意,如果AdminServer.lok 不能删除可以在任务管理器中杀掉Weblogic服务的所有java.exe进程,再来删除AdminServer.lok file。

在解决不能锁定AdminServer.lok文件之后我们再来使用weblogic用户启动weblogic服务:

[weblogic@localhost bin]$ ./startWebLogic.sh

...省略...

an error occurred while initializing the Embedded LDAP Server. The exception thrown is java.lang.ClassCastException: com

.octetstring.vde.backend.BackendRoot cannot be cast to com.octetstring.vde.backend.standard.BackendStandard. This may indicate a problem with the data files for the Embedded LDAP Server. If

the problem is with the data files and it can not be corrected, backups of previous versions of the data files exist in /home/weblogic/Oracle/Middleware/user_projects/domains/sbkwsjb/servers

/AdminServer/data/ldap/backup

bea -000362 server failed. Reason:

There are 1 nested errors:

java.lang.ClassCastException: com.octetstring.vde.backend.BackendRoot cannot be cast to com.octetstring.vde.backend.standard.BackendStandard

at weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:303)

at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

出现的错误是没有权限打开事务文件EmbeddedLDAP.tran,这还是权限原因:

/home/weblogic/Oracle/Middleware/user_projects/domains/sbkwsjb/servers/AdminServer/data/

ldap/ldapfiles/EmbeddedLDAP.tran (Permission denied)

修改EmbeddedLDAP.tran 文件的权限:

[root@localhost weblogic]# cd /home/weblogic/Oracle/Middleware/user_projects/domains/sbkwsjb/servers/AdminServer/data/ldap/ldapfiles/

[root@localhost ldapfiles]# ls -lrt

total 164

-rw-r----- 1 weblogic bea 864 Dec 30 09:01 EmbeddedLDAP.index

-rw-r----- 1 weblogic bea 204 Dec 30 09:01 EmbeddedLDAP.delete

-rw-r----- 1 weblogic bea 146088 Apr 21 16:16 EmbeddedLDAP.data

-rw-r----- 1 weblogic bea 8 Apr 21 17:24 EmbeddedLDAP.twpos

-rw-r----- 1 weblogic bea 8 Apr 21 17:24 EmbeddedLDAP.trpos

-rw-r----- 1 root root 0 Apr 21 17:24 EmbeddedLDAP.tran

-rw-r----- 1 weblogic bea 0 Apr 21 19:26 EmbeddedLDAP.lok

从上面的信息可以看到EmbeddedLDAP.tran文件的权限是root用户所有,这是因为之前使用root用户启动过weblogic的原因,而现在是使用weblogic用户来启动weblogic

[root@localhost ldapfiles]# chown weblogic EmbeddedLDAP.tran

[root@localhost ldapfiles]# ls -lrt

total 164

-rw-r----- 1 weblogic bea 864 Dec 30 09:01 EmbeddedLDAP.index

-rw-r----- 1 weblogic bea 204 Dec 30 09:01 EmbeddedLDAP.delete

-rw-r----- 1 weblogic bea 146088 Apr 21 16:16 EmbeddedLDAP.data

-rw-r----- 1 weblogic bea 8 Apr 21 17:24 EmbeddedLDAP.twpos

-rw-r----- 1 weblogic bea 8 Apr 21 17:24 EmbeddedLDAP.trpos

-rw-r----- 1 weblogic root 0 Apr 21 17:24 EmbeddedLDAP.tran

-rw-r----- 1 weblogic bea 0 Apr 21 19:26 EmbeddedLDAP.lok

[root@localhost ldapfiles]# chown weblogic:bea EmbeddedLDAP.tran

[root@localhost ldapfiles]# ls -lrt

total 164

-rw-r----- 1 weblogic bea 864 Dec 30 09:01 EmbeddedLDAP.index

-rw-r----- 1 weblogic bea 204 Dec 30 09:01 EmbeddedLDAP.delete

-rw-r----- 1 weblogic bea 146088 Apr 21 16:16 EmbeddedLDAP.data

-rw-r----- 1 weblogic bea 8 Apr 21 17:24 EmbeddedLDAP.twpos

-rw-r----- 1 weblogic bea 8 Apr 21 17:24 EmbeddedLDAP.trpos

-rw-r----- 1 weblogic bea 0 Apr 21 17:24 EmbeddedLDAP.tran

-rw-r----- 1 weblogic bea 0 Apr 21 19:26 EmbeddedLDAP.lok

再次使用weblogic用户来启动weblogic

[weblogic@localhost bin]$ ./startWebLogic.sh

.

.

JAVA Memory arguments: -Xms1024m -Xmx2048m -XX:CompileThreshold=8000 -XX:PermSize=256m -XX:MaxPermSize=512m

.

WLS Start Mode=Development

.

CLASSPATH=/home/weblogic/Oracle/Middleware/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/weblogic/Oracle/Middleware/patch_ocp371/profiles/default/sys_manifes

t_classpath/weblogic_patch.jar:/usr/java64/jdk1.6.0_45/lib/tools.jar:/home/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic_sp.jar:/home/weblogic/Oracle/Middleware/wlserver_10.3/

server/lib/weblogic.jar:/home/weblogic/Oracle/Middleware/modules/features/weblogic.server.modules_10.3.6.0.jar:/home/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/webservices.jar:/home

/weblogic/Oracle/Middleware/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/home/weblogic/Oracle/Middleware/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar:/home/weblogic/Oracle/Mi

ddleware/wlserver_10.3/common/derby/lib/derbyclient.jar:/home/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/xqrl.jar:.:/usr/java64/jdk1.6.0_45/lib:/usr/java64/jdk1.6.0_45/lib/dt.jar:/u

sr/java64/jdk1.6.0_45/lib/tools.jar

.

PATH=/home/weblogic/Oracle/Middleware/wlserver_10.3/server/bin:/home/weblogic/Oracle/Middleware/modules/org.apache.ant_1.7.1/bin:/usr/java64/jdk1.6.0_45/jre/bin:/usr/java64/jdk1.6.0_45/bin:/

usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/java64/jdk1.6.0_45/bin:/home/weblogic/bin

.

***************************************************

* To start WebLogic Server, use a username and *

* password assigned to an admin-level user. For *

* server administration, use the WebLogic Server *

* console at http://hostname:port/console *

***************************************************

starting weblogic with Java version:

java version "1.6.0_45"

Java(TM) SE Runtime Environment (build 1.6.0_45-b06)

Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

Starting WLS with line:

/usr/java64/jdk1.6.0_45/bin/java -client -Xms1024m -Xmx2048m -XX:CompileThreshold=8000 -XX:PermSize=256m -XX:MaxPermSize=512m -Dweblogic.Name=AdminServer -Djava.security.policy=/home/webl

ogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.policy -Xverify:none -da -Dplatform.home=/home/weblogic/Oracle/Middleware/wlserver_10.3 -Dwls.home=/home/weblogic/Oracle/Middleware

/wlserver_10.3/server -Dweblogic.home=/home/weblogic/Oracle/Middleware/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToCon

sole= -Dweblogic.ext.dirs=/home/weblogic/Oracle/Middleware/patch_wls1036/profiles/default/sysext_manifest_classpath:/home/weblogic/Oracle/Middleware/patch_ocp371/profiles/default/sysext_mani

fest_classpath weblogic.Server

至此问题已经解决。

总结:出现不能锁定AdminServer.lok文件的错误的原因是,因为使用kill -9 杀掉了weblogic服务进程,或者使用不是安装weblogic程序的用户来启动过weblogic所造成的。出现这种问题后,有三种解决方法:

1.是修改AdminServer.lok文件的权限,让weblogic用户能锁定它.

2.删除AdminServer.lok文件并重新使用weblogic用户来启动weblogic服务

3.杀死仍然运行的服务进程并重新weblogic服务.

webloigc12服务启动不了_weblogic启动不能锁定AdminServer.lok的故障处理相关推荐

  1. Weblogic启动时报不能锁定AdminServer.lok文件的错误

    这个问题的处理是删除锁定文件,并且查看文件的所属用户以及所分配的权限. weblogic的版本是10.3,操作系统是linux,安装weblogic创建了一个weblogic用户,由于使用root用户 ...

  2. webloigc12服务启动不了_一键启动知多少!

    一键启动(自动挡车型)相比对手动挡的钥匙启动高大上不会出现膝盖被钥匙磕到的情况 也不会出现钥匙孔边上有划痕的现象 但是一键启动开关启动的顺序是什么? 是长按至启动还是通电后再启动? 一键启动常见问题答 ...

  3. hadoop 9000端口的服务未启动_IDEA 微服务单项目多端口启动

    点击上方 Coding这件小事 ,选择 星标 公众号 重磅资讯.干货,第一时间送达 文章转自:Java知音 网上教程具体如下图 注册中心,开了N个端口就创建了N个Module 还有的就是各种创建eur ...

  4. 服务器启动文件,[Zookeeper] 服务端之单机版服务器启动

    1 服务器端整体概览图 概览图 ServerCnxnFactory:负责与client之间的网络交互,支持NIO(默认)以及Netty SessionTrackerImpl:会话管理器 Datadir ...

  5. linux自动启动network服务,Windows/Linux 创建开机启动服务

    系统服务是一种应用程序类型,它在后台运行.服务应用程序通常可以在本地和通过网络为用户提供一些功能.有些软件无需安装解压就能使用,或者在安装时未向系统注册服务.如果我们需要开机启动,需要手动创建服务. ...

  6. 后端代码之服务端 - 项目工程化创建目录启动服务 -讲解篇

    文章目录 前言 一. 目录创建 与 应用启动 A. 步骤如下: B. 具体cmd命令执行流,截图如下:(`部分无效,可忽略`) 二. 查看Express的欢迎页 1. 查看欢迎页的 浏览器url地址: ...

  7. vs.net c# 安装、注册windows service服务,判断服务是否存在,是否启动

    vs.net c# 安装.注册windows service服务,判断服务是否存在,是否启动 一.安装服务: private void InstallService(IDictionary state ...

  8. 用户配置文件同步服务,显示为正在启动解决办法

    我的用户配置文件之前可以用,由于服务器更改密码之后无法启动,显示正在启动的 解决办法: 1.管理工具--服务-- Forefront Identity Manager Service Forefron ...

  9. 非零基础自学Golang 第18章 HTTP编程(下) 18.2 HTTP服务端 18.2.2 启动HTTP服务器 18.2.3 启动HTTPS服务器

    非零基础自学Golang 文章目录 非零基础自学Golang 第18章 HTTP编程(下) 18.2 HTTP服务端 18.2.2 启动HTTP服务器 18.2.3 启动HTTPS服务器 第18章 H ...

最新文章

  1. SpringBoot(Thymeleaf)前端html页面直接的传参和判定
  2. Razor Page Library:开发独立通用RPL(内嵌wwwroot资源文件夹)
  3. Android之MVVM框架 - 数据绑定
  4. linux生成地图,ROS中利用V-rep进行地图构建仿真
  5. 服务器性能指标(二)——CPU利用率分析及问题排查
  6. 【转】java中定义二维数组的几种写法
  7. python virtualenv_python开发之virtualenv与virtualenvwrapper讲解
  8. linux django搭建网站,Linux下搭建Django站点一
  9. (软件工程复习核心重点)第二章可行性研究习题
  10. 使用mysql遇到的异常
  11. 【impala学习之一】impala
  12. 跳出公式,看清全局,图神经网络(GCN)原理详解
  13. 经济应用文写作【6】
  14. CN2专线和普通国际对比优势在哪里 有什么优势
  15. delphi 18位身份证号码的校验
  16. 比尔盖茨的风流情史,妻子同意他与前女友同居,婚内出轨损失 80 亿
  17. Scala-scalaMap转JSON字符串和javaMap
  18. 萧邦主的技术博客导航
  19. 穿透多层代理获得真实ip
  20. Azureus Vuze v5.7.2.0官方中文版

热门文章

  1. 国际顶会加持,算法大赛等你共探技术新可能
  2. 万物皆可Graph | 当推荐系统遇上图神经网络(三)
  3. 【论文】基于特定实体的文本情感分类总结(PART I)
  4. 独立站需要ERP系统吗?
  5. 饼状图改变数据显示位置_Tableau--饼图大作战
  6. pip更新出问题后再输入报No module named ‘pip‘错怎么处理
  7. 吴恩达机器学习 2.矩阵和向量知识
  8. 232 Crossword Answers
  9. 关联省份与学校的级联HTML,JS实现的省份级联实例代码
  10. java 项目心得_读懂JAVA WEB项目的一点心得 | 学步园