现在的位置: 首页 > 综合 > 正文

创建em资料库的系列问题 ora-47999

2013年08月27日 ⁄ 综合 ⁄ 共 2293字 ⁄ 字号 评论关闭

版权所有,不得转载!

1.dvca的使用
dvca -action option -oh %ORACLE_HOME% -jdbc_str jdbc:oracle:oci:@orcl -sys_passwd oracle -owner_account dvo -owner_passwd oracle_1
出现异常
java.lang.NoClassDefFoundError: oracle/security/misc/Checksum 
解决办法:在ORACLE_HOME/jlib下找到ojmisc.jar放到ORACLE_HOME/jdk/jre/lib/ext下
2.
D:/>dvca -silent -action disable -service oracleserviceorcl -sys_passwd oracle -owner_account dvo -owner_passwd oracle_1 -logfile c:/a.log
oracle 11g中使用dvca失败,提示错误
Exception in thread "main" java.lang.Exception: Version mismatch!
        at oracle.security.misc.C11.c(C11)
        at oracle.security.misc.Checksum.SHA(Checksum)
        at oracle.security.datval.dvca.util.StringUtil.d(StringUtil.java:521)
        at oracle.security.datval.dvca.CommandArguments.processArguments(Command
Arguments.java:1072)
        at oracle.security.datval.dvca.Dvca.startCA(Dvca.java:71)
        at oracle.security.datval.dvca.Dvca.main(Dvca.java:274)

  这个问题我也没有解决,后来是通过在database vault下想办法绕过限制完成的。

3.安装database vault后重新创建dbconsole出错
  查看emca的三个日志
  oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-20001: SYSMAN already exists..
 
  查看drop日志,有下面的错误,SYSMAN用户并未删除掉。如果进入
   第 1 行出现错误:
   ORA-01031: 权限不足
   ORA-06512: 在 line 113

   用dvam管理用户登录,将dv_accmgr角色赋予sys

4.安装oracle database vault后,创建触发器出错,bug,应升级到10.2.0.4,但11.1.0.6版本仍然有此问题,
  bug号为5696532,目前没有看到修复
  ORA-47999: internal Database Vault error: create trigger
  暂时解决办法:
  登录dvo   禁用触发器dvsys.DV_BEFORE_DDL_TRG   增加触发器后再启用。

5.删除资料档案库
  emca -deconfig dbcontrol db -repos drop
  手工删除em资料库的方法,不能漏掉,否则创建时会报错
  drop user sysman cascade;
  drop user mgmt_view cascade;
  drop role mgmt_user;

6.创建资料库异常
  emca -config dbcontrol db -repos create
  java.sql.SQLException: ORA-04063: package body "SYSMAN.MGMT_AUDIT_LOG" has
  errors ORA-06508: PL/SQL: could not find program unit being called ORA-06512:
  at "SYSMAN.EM_TARGET", line 1615 ORA-06512: at "SYSMAN.MGMT_TARGET", line 2705
  ORA-06512: at line 1
 
  解决办法:要注意在emca创建好sysman之后马上就登录赋权,要抢在创建包前就把权限赋完。
  1.sysman登录,编译
  SQL> exec emd_maintenance.recompile_invalid_objects;
  2.检查状态
  SQL> select object_name, object_type from dba_objects where owner='SYSMAN' and status='INVALID';
  3.如果仍然无效
  SQL> conn / as sysdba
  SQL> grant execute on utl_file to sysman;
  SQL> conn sysman
  SQL> alter package mgmt_audit_log compile;

7.em没有dva的web应用  404问题
  oracle 11gR1在选择database vault组件后也不会自动部署dva的web应用,
  这就需要我们手工在oc4j中部署。部署方法在我的上一篇文档中可以看到。
  http://blog.csdn.net/wonder4/archive/2008/12/17/3540184.aspx
  在重建em资料库后也会删除dva的web应用,也需要重新部署。
 
 

抱歉!评论已关闭.