我用的是Oracle9i,用sysman登录到OEM。
首选身份证明中的pc节点身份证明和数据库身份证明我都填了,
并且pc用户加入到了“作为批处理作业登录”中,
数据库身份证明中的角色是DBA。
试图对数据库进行备份,总是提示:使用首选身份证明时出现如下错误:ORA-01031:insufficient privileges。

解决方案 »

  1.   

    直接用rman或exp吧,套个壳子用什么oem麻烦。
      

  2.   

    登录方式呢
    是normal还是sysdba
      

  3.   

    连接数据库时,
    连接身份为sysdba的时候,提示权限不足。(事实上用户的角色为dba)
    将连接身份改为normal就可以连接了。
      

  4.   

    SYSDBA与DBA不是同一概念。SYSDBA是权限,DBA是角色。
    SYSDBA可以管理实例及数据库,DBA只能在数据库打开后生效。更多精彩,请参见ORACLE官文。
    所以,DBA无权对数据库进行备份
    需要SYSDBA或者SYSOPER。
      

  5.   

    SQL> create user tmp identified by tmp;用户已创建。SQL> grant dba to tmp;授权成功。SQL> host rman target tmp/tmp@test恢复管理器: Release 10.2.0.1.0 - Production on 星期一 1月 18 16:03:41 2010Copyright (c) 1982, 2005, Oracle.  All rights reserved.RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-00554: 内部恢复管理器程序包初始化失败
    RMAN-04005: 目标数据库中存在错误:
    ORA-01031: insufficient privilegesSQL> drop user tmp;用户已删除。SQL> create user tmp identified by tmp;用户已创建。SQL> grant sysdba to tmp;授权成功。SQL> host rman target tmp/tmp@test恢复管理器: Release 10.2.0.1.0 - Production on 星期一 1月 18 16:04:03 2010Copyright (c) 1982, 2005, Oracle.  All rights reserved.连接到目标数据库: EHT (DBID=3774244215)RMAN>
      

  6.   

    注意多个数据库实例时候,set ORACLE_SID='', 1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上;2、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。 3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE . 4. 看看是否需要使用orapassw生成口令文件 . 
      

  7.   

    SQL> grant sysdba to tmp;
    我以sysdba的身份登录的,执行这一句的时候提示权限不足!
      

  8.   

    直接由normal登陆备份好了,好像oracle对sysdba身份备份有许多限制,这个情况我也遇到过。其实以sysdba和sys用户登陆是差不多,sys用户是不能备份或导出数据库的
      

  9.   

    grant sysdba to sys 成功了,用sys用户可以备份的数据库