EXPDP报错:ORA-60019 creating initial extent of size 14 in tablespace of extent size 8

article/2025/3/12 2:35:33

一、原因概述

       和SecureFiles新的LOB架构相关。11g之前叫BasicFiles。在11g如果不特别指定,默认是会创建成BasicFiles LOB。但是在12c之后,LOB列在ASSM管理的表空间。默认都会创建成SecureFiles。

        也就是DB_SECUREFILE初始化参数,在11g时,默认为PERMITTED:允许创建SecureFileLOB,而到12c之后,默认为PREFERRED:所有大对象创建为securefiles,除非指定BASICFILE

【引申

               DB_SECUREFILE参数有效值,还有

               ALWAYS :尝试将ASSM表空间上的所有LOB创建为SecureFile LOB,但是仅可将自动段空间管理(ASSM)表空间外的任何LOB创建为BasicFile LOB

               FORCE:强制将所有LOB创建为SecureFileLOB

               NEVER:禁止创建SecureFiles

               IGNORE:禁止创建SecureFiles,并忽略使用SecureFiles选项强制创建BasicFiles而导致的任何错误】

        报错这个环境的版本为 12c,默认都会创建成SecureFiles。而SecureFiles最少需要14个block_size。

    如果导出用户的默认表空间对应的initial_extent <= 14 个block 就会报错。

 

二、具体环境情况

1 当前数据库版本

SELECT * FROM V$VERSION;

 

2 导出时是否创建LOB字段

导出时进行下面语句查询

SELECT * FROM DBA_Tab_Columns t WHERE t.DATA_TYPE LIKE '%LOB%' AND T.OWNER = 'INTERFACE';

 

3 查看是否为SecureFiles

导出时进行下面语句查询

SELECT *
  FROM dba_lobs t
 WHERE t.table_name LIKE '%SYS_EXPORT%'
   AND t.owner = 'INTERFACE';

4 表空间情况


SELECT t.initial_extent / 1024 init_extent_kb,
       t.initial_extent / 1024 / 8 "?个BLOCK",
       t.block_size / 1024 block_size_kb,
       t.min_extents,
       t.allocation_type,
       t.segment_space_management, --段空间管理:只有auto时才可以创建securefile lobs,导入时创建的SYS_EXPORT开头的表会涉及
       t.*
  FROM dba_tablespaces t
 ORDER BY t.tablespace_name;

其中:

allocation_type的值含义
SYSTEM    自动分配,segment为自动管理时,允许不一样size的extent
UNIFROM    自动分配,但是·extent大小一致,为初始值
USER    用户指定

【创建表空间语句:

DROP TABLESPACE TBS_TEST_ZHONGXINBANK INCLUDING CONTENTS and datafiles;
CREATE TABLESPACE TBS_TEST_ZHONGXINBANK
DATAFILE
    '/oracle/oradata/dmpdb/TBS_TEST_ZHONGXINBANK.dbf'
    SIZE 10M
  AUTOEXTEND ON NEXT  10M MAXSIZE UNLIMITED
     LOGGING
    EXTENT MANAGEMENT
        LOCAL
            UNIFORM
                SIZE 64K
/

修改用户默认表空间:

ALTER USER interface  DEFAULT TABLESPACE TBS_TEST_ZHONGXINBANK;

 

 

5 用户默认表空间情况

SELECT * FROM dba_users;

 

三、解决方案

 

1 方案1

    调整DB_SECUREFILE初始化参数

    ALTER system set db_securefile='NEVER';

    再进行导出。

    导出完成后,根据DBA的建议,选择是否恢复这个参数。

     ALTER system set db_securefile='PREFERRED';

2 方案2

    因为SYSTEM表空间的段空间管理为MANUAL,并且SYSTEM用户的默认表空间为SYSTEM,如果客户愿意提供SYSTEM用户的使用权限,使用SYSTEM用户进行导出即可。

     expdp system/oracle@dmpdb directory=ORABAK content=all schemas=interface,security,trade,ulog,clear dumpfile=all.dmp LOGFILE=expdp_all.log;

 

3 方案3

    专门建一个符合要求的表空间,并将导出用户的默认表空间设置为此表空间,进行导出,导出完成后再改回来,并删除这个表空间。

    需要符合的要求,以下选一即可:

(1)initial_extent的大小设定为>14 * bolck_size

(2)allocation_type参数指定为 AUTOALLOCATE(到数据字典时,这个值为SYSTEM)而不是UNIFORM

(3)segment_space_management参数指定为MANUAL

    

   

 

四、引申

     如果导入也有类似问题,并且导入环境的数据库版本是12c及以上,

      最好,建表空间时,将定制表空间的initial_extent的大小设定为>14 * bolck_size,而不是修改初始化参数 db_securefile。

    或者,创建的定制表空间,allocation_type参数指定为 AUTOALLOCATE而不是UNIFORM

    参考如下:

DROP TABLESPACE TBS_TEST_ZHONGXINBANK INCLUDING CONTENTS and datafiles;
CREATE TABLESPACE TBS_TEST_ZHONGXINBANK
DATAFILE
    '/oracle/oradata/dmpdb/TBS_TEST_ZHONGXINBANK.dbf'
    SIZE 10M
  AUTOEXTEND ON NEXT  10M MAXSIZE UNLIMITED
     LOGGING
    EXTENT MANAGEMENT
        LOCAL
            AUTOALLOCATE
/

       或者,创建的定制表空间,segment_space_management参数指定为MANUAL,不建议这么做。

参考如下:

DROP TABLESPACE TBS_TEST_ZHONGXINBANK INCLUDING CONTENTS and datafiles;
CREATE TABLESPACE TBS_TEST_ZHONGXINBANK
DATAFILE
    '/oracle/oradata/dmpdb/TBS_TEST_ZHONGXINBANK.dbf'
    SIZE 10M
  AUTOEXTEND ON NEXT  10M MAXSIZE UNLIMITED
     LOGGING
    EXTENT MANAGEMENT
        LOCAL
            UNIFORM
                SIZE 64K
  SEGMENT SPACE MANAGEMENT MANUAL
/
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/bbcHqDAv.shtml

相关文章

oracle 中 /*+ full(表名)*/ 优化详解

文章目录 hint 关键字&#xff1a; /* full(表名)*/可能遇到的问题别名为 "SELxx" hint 关键字&#xff1a; / full(表名)/ 一般来说&#xff0c;sql 优化时&#xff0c;尽量走 index&#xff0c;但不绝对有时候&#xff0c;全表扫描的效率比索引高 索引 和 全表扫…

Docker——Docker 镜像详解

Docker 镜像 Docker镜像是什么Docker镜像加载原理联合文件系统&#xff08;UnionFS&#xff09;镜像加载原理镜像分成理解 Commit镜像镜像的总结 Docker镜像是什么 Docker 容器的运行是基于宿主机的内核&#xff0c;通过linux的namespaces来实现隔离&#xff0c;相对于虚拟机而…

Docker镜像使用详解

目录 基础命令使用进阶 容器和虚拟机具有相似的资源隔离和分配优势&#xff0c;但功能不同&#xff0c;因为容器虚拟化的是操作系统而不是硬件。多个容器可以在同一台机器上运行&#xff0c;并与其他容器共享操作系统内核&#xff0c;每个容器在用户空间中作为独立进程运行。一…

docker镜像下载及docker镜像管理

文章目录 docker镜像下载镜像说明通外网主机上获取镜像官网上查看镜像的详细说明 镜像的命名方式镜像的重命名镜像的删除删除单个删除全部镜像 镜像的打包与解压包默认存放路径说明镜像打包【单个】镜像打包【多个】镜像解压 容器的导出和导入把容器导出为镜像镜像导入为容器 查…

Docker基础 - 仓库,镜像,容器详解

仓库&#xff0c;镜像&#xff0c;容器的关系 我们再回顾下仓库&#xff0c;镜像&#xff0c;容器的关系&#xff08;这是官网的图&#xff09; [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NBtYxRyR-1683856218077)(null)] Docker 镜像 当运行…

Docker本地镜像推送到私有库

Docker Registry是官方提供的工具&#xff0c;可以用于构建私有镜像仓库 1. 下载镜像Docker Registry docker pull registy 2. 运行私有库Registry&#xff0c;相当于本地有个私有Docker hub docker run -d -p 5000:5000 -v /zzyyuse/myregistry/:/tmp/registry --privileg…

docker镜像

docker镜像 文章目录 docker镜像1.镜像的概念2.docker镜像层3.docker存储驱动3.docker registry4.Docker Hub 1.镜像的概念 Docker镜像类似于虚拟机中的镜像&#xff0c;是一个只读的模板&#xff0c;也是一个独立的文件系统&#xff0c;包括运行容器所需的数据。 Docker镜像…

Docker入门教程:本地打包docker镜像

什么是Docker&#xff1f; Dockers是基于Go语言开发的虚拟容器技术。以前我们部署应用通常是将源代码打包成一个jar包运行&#xff0c;这样就会受到运行环境、配置环境的限制&#xff0c;而且程序也不能跨服务器运行。Docker基于Linux容器技术&#xff0c;将Java源代码、运行环…

Docker 镜像

&#xff08;一&#xff09;下载实例 &#xff08;二&#xff09;镜像基本操作 备注&#xff1a; 相同名称的镜像可以存在多个&#xff0c;即需要不同的tags版本 &#xff08;三&#xff09;使用 Dockerfile 定制镜像 &#xff08;1&#xff09;介绍 镜像的定制实际上就是定…

Docker (一)之docker镜像库地址

一、关于docker的镜像问题&#xff1a; 当我们想要去拉取一个镜像的时候&#xff0c;初始的时候会去从国外的镜像库里面拉取&#xff0c;速度可想而知&#xff1b;这时我们需要给docker配置一个国内的镜像库&#xff1a; 目前发现docker有2个地方可以配置镜像库的地址&#x…

Docker镜像发布到阿里云和私有库

目录 一、Docker镜像 &#xff08;一&#xff09;概述 &#xff08;二&#xff09;Docker镜像加载原理 &#xff08;三&#xff09;镜像分层结构优势 &#xff08;四&#xff09;重点理解 &#xff08;五&#xff09;docker commit操作实例 &#xff08;六&#xff09;总…

【云原生|Docker】Docker镜像操作

作者&#xff1a;柒号华仔 个人主页&#xff1a;欢迎访问我的主页 个人信条&#xff1a;星光不问赶路人,岁月不负有心人。 个人方向&#xff1a;主要方向为5G&#xff0c;同时兼顾其他网络协议&#xff0c;编解码协议&#xff0c;C/C&#xff0c;linux&#xff0c;云原生等&…

Docker私有镜像仓库是什么?

Docker镜像仓库概述 镜像仓库作为Docker技术的核心组件之一&#xff0c;其主要作用就是负责镜像内容的存储和分发。Docker镜像仓库从使用范围来说分为“公有镜像仓库”和“私有镜像仓库”&#xff0c;公有镜像仓库是可以被任何人使用的&#xff0c;例如Docker公司维护的在线存储…

了解和使用 Docker 镜像仓库

前言 在上文 《了解和使用 Docker》 之后&#xff0c;反响不错&#xff0c;也上了热榜。本来是想直接整理一下容器编排工具 Docker Swarm 和 K8s 博文的&#xff0c;但是半路杀出了这个活动&#x1f602;&#xff0c;为表敬意&#xff0c;先参与一波吧。 本文主要介绍一下容…

Docker容器之镜像仓库详解

Docker容器之镜像仓库详解 文章目录 Docker容器之镜像仓库详解1. 什么是Docker Image&#xff1f;2. 什么是Docker Registry?3. 镜像相关的操作 本文将集中对镜像、仓库、容器的概念与三者之间的联系进行详细介绍&#xff0c;以及基本的镜像管理操作。 1. 什么是Docker Image&…

docker镜像仓库

一、docker镜像仓库 docker镜像仓库&#xff08;repository&#xff09;是集中存放镜像的地方。方便与后续的镜像拉取与上传&#xff0c;便于对镜像的集中管理。镜像仓库一般可分为Docker Hub公共中央仓库和个人或者公司使用的私有仓库&#xff0c;私有仓库如果是个人使用则可…

Docker -- 镜像仓库(搭建私有镜像仓库、向镜像仓库推送镜像、从镜像仓库拉取镜像)

文章目录 1. 镜像仓库1.1 镜像仓库概念 2. 搭建私有镜像仓库2.1.简化版镜像仓库&#xff08;不推荐&#xff09;2.2 带有图形化界面版本&#xff08;推荐&#xff09;2.2.1 配置Docker信任地址2.2.2 使用DockerCompose部署带有图象界面的DockerRegistry 3. 向镜像仓库推送镜像4…

最全经典 | 机器视觉基础知识汇总

人工智能的小白资源群&#xff0c;这里有最齐全的干货资源&#xff0c;可以和你一样的入门小白一同交流学习亦可以得到专业技术大神的指导。欢迎入群813416857&#xff08;AI人工智能学习交流&#xff09;&#xff0c;785685380&#xff08;机器学习技术交流群&#xff09;&…

机器视觉光源知识总结(二)

更多文章请关注微信公众号&#xff1a;机器视觉专业论坛

机器视觉系统的搭建

对于许多新人来说能成功搭建一套完善的视觉系统是比较困难的&#xff0c;机器视觉包括了许多需要掌握的知识点、比产品选型&#xff1a;视觉软件、相机、光源、镜头。比如安装高度、视野大小、系统要求的运行时间、工作环境等等&#xff0c;对于新人来说需要一套完善的知识体系…