zoukankan      html  css  js  c++  java
  • oracle定时备份失效,手动执行报错ORA31634ORA31664

    报错内容:自动备份失效,手动执行脚本报错 ORA-31634 ORA-31664

    1、问题发现:

    每天定时数据泵导出作业未正常导入,查看import.log,居然为空。

    2、问题追踪:

    手工调用back.sh脚本导出,运行几秒后报错:
    ORA-31634: job already exists
    ORA-31664: unable to construct unique job name when defaulted

    3、查找解决

    1)分析错误及如何解决:

    ORA-31634: job already exists
    Cause: Job creation or restart failed because a job having the selected name is currently executing. This also generally indicates that a Master Table with that job name exists in the user schema. Refer to any following error messages for clarification.
    Action: Select a different job name, or stop the currently executing job and re-try the operation (may require a DROP on the Master Table).
    ORA-31664: unable to construct unique job name when defaulted
    Cause: The job name was defaulted, and the name creation algorithm was unable to find a unique job name for this schema where the table name (for the master table) didn"t already exist.
    Action: Specify a job name to use or delete some of the existing tables causing the name conflicts.
    经分析是expdp运行时调用job的唯一名不存在,查询dba_datapump_jobs,正常情况下job_name字段只有SYS_IMPORT_SCHEMA_01和SYS_IMPORT_SCHEMA_02两行,而此表有135行,解决方法删除表中字段state是NOT RUNNING状态的表。

    2)解决

    生成清除master table的SQL语句为:
    select 'drop table ' || owner_name || '.' || job_name || ';' from dba_datapump_jobs where state = 'NOT RUNNING';

    手工执行生成的SQL语句后,再次查询dba_datapump_jobs确认是否有state是NOT RUNNING的master table,重复生成SQL语句执行即可。
    再次手工调用导入脚本,正常导入。
  • 相关阅读:
    nginx 注册为服务
    使用Windows Service Wrapper快速创建一个Windows Service
    mongo数据导入导出
    msql数据导入导出
    sql server 数据库之间导入导出数据表
    性能问题核对清单
    常用sqlserver性能分析
    Jmeter压测Mysql示例
    nginx日志定制
    zookeeper集群部署
  • 原文地址:https://www.cnblogs.com/zrxuexi/p/15575791.html
Copyright © 2011-2022 走看看