ORA-1555解决方案

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 01:56 点击:

1、一致性导出
    在将数据库的数据写入导出转存文件的过程中,Export一次读一个表。因此,尽管Export开始于一个指定的时间点,而各个表则读于不同的时间。在Export开始读表时,存储在那个表中的数据。由于太多表与其他表相关,所以用户在导出期间修改数据,就会引起导出的数据不一致。导出转储文件可能含有不一致的数据,例如在一个表中具有外键记录,而在相关的表中没有相匹配的主键记录。
要避免导出中的不一致性,有两种选择:
(1)第一,应该在无人修改表时安排导出,如果不行,可以使用startup restrict选项确保当导出发生时,只有DBA注册到数据库用户。
(2)第二,可以使用CONSISTENT参数,该参数只能用于Complete导出。在一致性导出过程中,Oracle将试图创建一个导出开始时,导出数据的读一致性版本。如果Oracle不能重新创建表的读一致性版本,便会出现“快照太老”的错误。要确保不会遇到“快照太老”的错误,必须创建大型回退段,因为Oracle将重写老的回退段条目,而忽略consistent=y设置。
    只要有可能,就要确保导出数据的异型性,方法是在数据库没有被使用或安装在restricted模式下时,运行导出。如果做不到这一点,就要在导出的过程中,限制数据库的使用,并执行一个CONSISTENT=Y导出。
   另一个替代方法是创建两个参数文件(parfile)。一个文件含有数据库或模式内部的主要表的名称,可以将这个文件用于第一个导出,使用默认值为consistent=n。第二个文件含有必须维护其一致性的表
的名称,该文件用户执行一个consistent=y的导出。使用这两种解决方案,回退段不必设置得很大,系统的性能也不会受到很大影响。
 
创建回退段

(1)建立undotablespace
  建立undotablespace的语法如下:
create undotablespace tablespace_name
datafile 'fullpath+datafilename' size XXM
[autoextend on|off next XX maxsize XX];
alter tablespace RBS
default storae
(initial 1M next 1M minextents 100);
create rollbacl segement R4 tablespace RBS
storage (optimal 100M);
alter rollback segement R4 online;

set transaction user rollback segment SEGEMENT_NAME;
 
本文出自 “BlueTrace” 博客

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Table函数使用简介
      • Oracle数据库Constraint约束的常用操作及异常处理
      • Bulk Collect性能分析(zz)
      • export/import的使用
      • OCP043第十五讲 Database Security
      • ORACLE10gr2数据导入MySQL方案
      • oracle 让sys用户可以使用isqlplus
      • 在oracle数据库下使用iSQL*Plus DBA访问数据库
      • Oracle行列转换小结
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1