设为首页 收藏本站
查看: 543|回复: 0

[经验分享] exp导出出现:ORA

[复制链接]

尚未签到

发表于 2015-12-19 15:49:19 | 显示全部楼层 |阅读模式
  相关文章:

  《exp导出出现:ORA-00904: "POLTYP": invalid>  
  客户反映将JFY用户下的某个表的字段由VARCHAR2(50)调整为VARCHAR2(100)之后,执行exp导出时收到如下的报错:
  Connected to: Oracle Database 11g Enterprise Edition>
  With the Partitioning, OLAP, Data Mining and Real Application Testing options
  Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
  Note: grants on tables/views/sequences/roles will not be exported
  
  About to export specified users ...
  . exporting pre-schema procedural objects and actions
  . exporting foreign function library names for user JFY 
  . exporting PUBLIC type synonyms
  EXP-00008: ORACLE error 904 encountered
  ORA-00904: : 标识符无效  
  EXP-00000: Export terminated unsuccessfully
  
      客户的exp导出操作是在数据库服务器段完成的,且调度脚本已经稳定运行了1年多,在调整字段长度后出现该报错。脚本中exp的语句如下:
  exp jfy/xxx BUFFER=8192 FILE=$bakdir$myfile.dmp ROWS=y COMPRESS=y CONSTRAINTS=y GRANTS=n INDEXES=y LOG=$bakdir$mylogfile
  jfy是个DBA权限的用户。
  
  根据以上的错误情况,在MOS中找到如下符合描述的文章:
  
  Errors EXP-8 ORA-904 During Export (Doc>
  
  
  In this Document
Symptoms Cause Solution   
  
Applies to:
Oracle Database - Enterprise Edition - Version 10.2.0.4 and later  Information in this document applies to any platform.
   ***Checked for>
  
Symptoms
  You are attempting to perform an export as the SYSTEM user or a DBA. During export, the following errors occurred:
EXP-00008: ORACLE error 904 encountered   ORA-00904: : invalid>
  
  
  When performing a trace on the export, we see that the ORA-904 error is caused by the following statement:
PARSE ERROR #9:len=302 dep=0 uid=5 oct=3 lid=5 tim=778463694169 err=904  SELECTSYNNAM, DBMS_JAVA.LONGNAME(SYNNAM), DBMS_JAVA.LONGNAME(SYNTAB), TABOWN,TABNODE, PUBLIC$, SYNOWN, SYNOWNID, TABOWNID, SYNOBJNO FROM SYS.EXU9PTSWHERE SYNOBJNO IN ( SELECT SYNOBJNO FROM SYS.EXU9TYPT WHERE TABOBJNO = :1 ) ORDER BY SYNTIME
Cause
  The PUBLIC privilege has been revoked from the DBMS_JAVA package.
  
  Privilegesto the DBMS_JAVA package are needed for the export to succeed. However,as there is concern about security issues due to privileges on the DBMS_JAVA many have revoked the execute privilege to this package to keep the database secure.
Solution
  Explicitly grant EXECUTE on the DBMS_JAVA package to the DBA role:
SQL> grant execute on DBMS_JAVA to dba;   
   This will allow members of the DBA role to have the rights to perform the export while keeping the DBMS_JAVA package out of the PUBLICrole.
  按照文章的提示,执行grant execute on DBMS_JAVA to dba;语句之后exp操作恢复正常。
      出现这个问题的原因是PUBLIC的DBMS_JAVA包权限被回收,要想执行exp导出成功需要DBMS_JAVA的execute权限,然而担心到安全的问题,回收了DBMS_JAVA包的执行权限,以保证数据库的安全。
  
      按照Oracle的解释,那么一定是某种不安全的操作触发了Oracle因为安全的原因回收了PUBLIC的DBMS_JAVA execute权限,从而导致的该报错。
  
  --end--
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-153420-1-1.html 上篇帖子: cannot set user id: Resource temporarily unavailable 下篇帖子: 一次删除归档遇ORA
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表