这个错误不是表示你的user没有导出权限,
而是说你的 sys/sys这种登陆方式没有加上 as sysdba这样的后缀。
你完全可以用system来导出嘛,效果一样

解决方案 »

  1.   

    如果用:exp sys/sys as sysdba @dbserver owner=user file=D:\oraclebackup\aaa.dmp log=D:\oraclebackup\aaa.log
    错误提示:
    LRM-00108: 定位参数值 'as' 无效EXP-00019: 处理参数失败,有关帮助请键入 'EXP HELP=Y'
    EXP-00000: 导出终止失败
      

  2.   

    假如 就要用sys这个用户导出其它没有DBA权限的用户下的数据呢?
      

  3.   

    用sys做全库导出 加上full=y
    sys必须用as sysdba 登录,具有最高权限
      

  4.   

    谢谢glucose(glucose) 的回答,但是我这样:
    如果用:exp sys/sys as sysdba @dbserver owner=user file=D:\oraclebackup\aaa.dmp log=D:\oraclebackup\aaa.log
    错误提示:
    LRM-00108: 定位参数值 'as' 无效EXP-00019: 处理参数失败,有关帮助请键入 'EXP HELP=Y'
    EXP-00000: 导出终止失败
    这到底该怎么办呢?请大家指教!
      

  5.   

    我要在 运行--》cmd--》的时候执行备份。
      

  6.   

    为什么一定要用sys做exp,用system完全可以的!!!
    如果必须用sys来做,而且是在bat中执行exp,可以这样做,先将sys/sys@dbserve as sysdba这个内容保存到一个文件中,如
    echo sys/sys@dbserve as sysdba>sys.login
    然后
    exp owner=user file=D:\oraclebackup\aaa.dmp log=D:\oraclebackup\aaa.log<sys.login
      

  7.   

    exp owner=user file=D:\oraclebackup\aaa.dmp log=D:\oraclebackup\aaa.log<d:\sys.login执行后的错误:用户名:
    EXP-00056: 遇到 ORACLE 错误 12154
    ORA-12154: TNS: 无法处理服务名
    EXP-00000: 导出终止失败
      

  8.   

    exp 'sys/sys@dbserver as sysdba' owner=user file=D:\oraclebackup\aaa.dmp log=D:\oraclebackup\aaa.log
      

  9.   

    首先感谢 weljava(土地爷爷) 的回答,用过之后成功!
    借次帖 再问:
    1,怎么用sys 把user(没有DBA权限的用户)上的数据还原到其它没有导入权限用户(user1)下?
    我用:
    imp 'sys/sys@dbserver as sysdba' IGNORE=y fromuser=user touser=user1 file=D:\oraclebackup\aaa.dmp log=D:\oraclebackup\ppp.log
    提示 user1没有导入权限,我只给user1连接和查询的权限。
    2,怎样写个存储过程或者函数,来创建用户和给用户加权限,然后怎样调用?
    我用:
      creatuser(username varchar2, passwords varchar2) return boolean is
      Result boolean;
    begin
    CREATE USER username  PROFILE "DEFAULT" 
        IDENTIFIED BY passwords DEFAULT TABLESPACE "USERS" 
        TEMPORARY TABLESPACE "TEMP" 
        ACCOUNT UNLOCK;
    GRANT "CONNECT" TO username WITH ADMIN OPTION;
    GRANT "DBA" TO username WITH ADMIN OPTION;
      return(Result);
    end creatuser;
    创建,用call creatuser('ccyy','ccyy')调用,但是提示“ORA-06576:不是有效的函数或过程名”还请大家 多多指教!