zoukankan      html  css  js  c++  java
  • oracle 导入数据报600错误

    之前导入一个大容量dmp数据文件,报一个600错误,咨询网上的解决方法,按上面的处理一圈也没有整好,最后咨询组里一个大神,出现此错误 思路是,单个数据文件大小最大为32G,分析数据库后解决如下:

    错误情况:

    解决方法:在保证我们导入sql无误的情况下,检查当前用户所在表空间:

    select username,default_tablespace from user_users;

    可以看到,我们当前使用的是users表空间,下面检查当前使用表空间的使用率:

    select total.tablespace_name,
           round(total.MB, 2) as Total_MB,
           round(total.MB - free.MB, 2) as Used_MB,
           round((1 - free.MB / total.MB) * 100, 2) as Used_Pct
      from (select tablespace_name, sum(bytes) / 1024 / 1024 as MB
              from dba_free_space
             group by tablespace_name) free,
           (select tablespace_name, sum(bytes) / 1024 / 1024 as MB
              from dba_data_files
             group by tablespace_name) total
     where free.tablespace_name = total.tablespace_name;

    在未给表空间加dbf文件前,表空间使用率接近99%,自此分析出为什么oracle报600错误了,数据文件爆满溢出,导入数据后会被回滚的,解决方式就是加dbf数据文件.

     alter tablespace USERS add datafile 'H:\APP\16489\ORADATA\ORCL\USERS03.DBF' size 3G autoextend on;

     了解到我导入的数据文件较大,直接加了两个30G的dbf文件,以备后患
     alter tablespace USERS add datafile 'H:\APP\16489\ORADATA\ORCL\USERS05.DBF' size 30G autoextend on;

    需要注意的是新增的dbf文件是会直接占用硬盘内存的,看大家需求创建新DBF,不要创建一个过大而又用不完的.

    增加dbf文件后表空间足够装下我们的数据了,执行导入,无错误,导入成功。

  • 相关阅读:
    准备 LVM Volume Provider
    掌握 cinder-scheduler 调度逻辑
    Cinder 组件详解
    掌握 Cinder 的设计思想
    理解 Cinder 架构
    1 张图秒懂 Nova 16 种操作
    计算节点宕机了怎么办?- 每天5分钟玩转 OpenStack(43)
    Live Migrate 操作
    Resize Instance 操作详解
    关于Linux的10个核心面试问题与答案
  • 原文地址:https://www.cnblogs.com/zhonglihai/p/7595521.html
Copyright © 2011-2022 走看看