Heim > Datenbank > MySQL-Tutorial > Hauptteil

Oracle无法对所有 EM 相关帐户解锁

WBOY
Freigeben: 2016-06-07 17:28:29
Original
1055 Leute haben es durchsucht

这里已经可以很确定是windows命令行的问题了,像这样的错误一般在linux下是不会遇到的,在执行cmd的时候系统自动运行了某个命令,

Oracle创建EM的时候报错:
 
配置: Failed to unlock mgmt_view account
 2013-4-29 22:47:03 oracle.sysman.emcp.EMReposConfig invoke
 
严重: 无法对所有 EM 相关帐户解锁
 
2013-4-29 22:47:03 oracle.sysman.emcp.EMConfig perform
 严重: 无法对所有 EM 相关帐户解锁
 有关详细资料, 请参阅 D:\oracle\cfgtoollogs\emca\orcl\emca_2013_04_29_22_43_32.log 中的日志文件。
 
2013-4-29 22:47:03 oracle.sysman.emcp.EMConfig perform
 配置: Stack Trace:
 oracle.sysman.emcp.exception.EMConfigException: 无法对所有 EM 相关帐户解锁
 at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:349)
 at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:158)
 at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:253)
 at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:590)
 at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1453)
 at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:574)
 at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:522)
 2013-4-29 22:47:03 oracle.sysman.emcp.EMConfig restoreOuiLoc
 配置: Restoring oracle.installer.oui_loc to D:\oracle\product\11.2.0\dbhome_1\oui
 

查看日志文件,是因为执行了下面的语句报的错:
 
2013-4-29 22:47:03 oracle.sysman.emcp.util.PlatformInterface executeCommand
 配置: 执行 CMD /C D:\oracle\product\11.2.0\dbhome_1\sysman\admin\scripts\emca\emcaDbUtil.bat "D:\oracle\product\11.2.0\dbhome_1\sysman\admin\scripts;D:\oracle\product\11.2.0\dbhome_1\bin;" D:/oracle/product/11.2.0/dbhome_1/perl/bin\perl.exe D:\oracle\product\11.2.0\dbhome_1\sysman\admin\scripts\emca\emcaDbUtil.pl D:\oracle\product\11.2.0\dbhome_1 "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=PC201303231245)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl.ke3470.com)))" SYS SYSDBA declare repos_pwd varchar2(30); view_user varchar2(30); view_user_pwd varchar2(30); view_user_acc_status varchar2(30); begin repos_pwd := ?; sysman.mgmt_view_priv.get_view_user(view_user); select account_status into view_user_acc_status from sys.dba_users where upper(username) = upper ( view_user ); IF view_user_acc_status like '%LOCKED%' THEN execute immediate 'alter user ' || view_user || ' account unlock'; END IF; IF view_user_acc_status like '%EXPIRED%' THEN sysman.mgmt_view_priv.set_view_user_creds ( repos_pwd ); sysman.mgmt_view_priv.GET_VIEW_USER_CREDS ( view_user, view_user_pwd ); execute immediate 'alter user ' || view_user || ' identified by ' || view_user_pwd || ''; END IF; end; orcl 1 SYSMAN_PWD  时出错
 

但很奇怪的是,单独拿出来并不会出现这样的错误,再往前看看日志,发现执行上面的语句之前,报了另外一个错误:
 
2013-4-29 22:47:03 oracle.sysman.emcp.util.PlatformInterface executeCommand
 配置: '?' 不是内部或外部命令,也不是可运行的程序
 或批处理文件。
 
可以看出这个是windows下cmd命令提示符显示的错误信息,估计是调用内部命令的时候出错了,再看看刚打开cmd的时候在窗口首行提示的错误信息:

Oracle无法对所有 EM 相关帐户解锁

这里已经可以很确定是windows命令行的问题了,像这样的错误一般在linux下是不会遇到的,在执行cmd的时候系统自动运行了某个命令,,但是该命令不存在,所以报错。只要将自动运行置空即可:
 
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor" /v "AutoRun" /d "" /f
 

再重新执行操作,不再出现上面的错误了。
 
上面的语句添加了一条注册表项,各个参数的意思如下:
 
/v:表示要添加的值名AutoRun
 
/d:要分配的数据
 
/f:不提示强行改写现有数据

linux

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage