Heim >Datenbank >MySQL-Tutorial >Oracle无法对所有EM相关帐户解锁怎么办

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

WBOY
WBOYOriginal
2016-06-07 16:19:161551Durchsuche

创建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 相关帐户解锁

   创建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:oraclecfgtoollogsemcaorclemca_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:oracleproduct11.2.0dbhome_1oui

  查看日志文件,是因为执行了下面的语句报的错:

  2013-4-29 22:47:03 oracle.sysman.emcp.util.PlatformInterface executeCommand

  配置: 执行 CMD /C D:oracleproduct11.2.0dbhome_1sysmanadminscriptsemcaemcaDbUtil.bat "D:oracleproduct11.2.0dbhome_1sysmanadminscripts;D:oracleproduct11.2.0dbhome_1bin;" D:/oracle/product/11.2.0/dbhome_1/perl/binperl.exe D:oracleproduct11.2.0dbhome_1sysmanadminscriptsemcaemcaDbUtil.pl D:oracleproduct11.2.0dbhome_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的时候在窗口首行提示的错误信息:

  这里已经可以很确定是windows命令行的问题了,像这样的错误一般在linux下是不会遇到的,执行下面的命令,在执行cmd的时候系统自动运行了某个命令,但是该命令不存在,,所以报错。只要将自动运行置空即可:

  reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor" /v "AutoRun" /d "" /f

  再重新执行操作,不再出现上面的错误了。

  上面的语句添加了一条注册表项,各个参数的意思如下:

  /v:表示要添加的值名AutoRun

  /d:要分配的数据

  /f:不提示强行改写现有数据

Stellungnahme:
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