clob字段怎么导出_Oracle 11g及12c+版本下为啥有些表不能exp导出?

【引言】

今天有同事问了一个问题,在Oracle 11g下,为啥exp方式导出一个用户的数据表,在imp后却发现有些表并没有迁移过来。经查阅官方文档,发现和Oracle11g及12c +版本相对于10g,有一个新特性deferred_segment_creation(延迟段创建)造成的。

该参数的作用为:

oracle 11g中,当创建的表无数据时,不进行segment分配,以节省存储空间。

为了理解啥原理,这里再复习下Oracle的几个概念:

1. tablespace: 一个数据库划分为一个或多个逻辑单位,该逻辑单位成为表空间;每一个表空间可能包含一个或多个Segment;

2. Segments: Segment指在tablespace中为特定逻辑存储结构分配的空间。每一个段是由一个或多个extent组成。包括数据段、索引段、回滚段和临时段

3. Extents: 一个 extent 由一系列连续的 Oracle blocks 组成。通过extent 来给segment分配空间。

4. Data Blocks:Oracle 最小I/O存储单位,一个 data block 对应一个或多个分配给data file的操作系统块;默认为8KB,此参数在创建实例时可以修改,如做数仓库一般修改为64KB以上,为的是一次能从存储中多读取一些数据进内存,提升处理速度。

来张图更直观:

ef8d3cf8a349025206514876227a4ae5.png

Oracle10g之前的版本,table 创建时,默认创建了一个data segment,这个data segment含有min extents 指定的extents 数,每个extent 据表空间的存储参数分配一定数量的blocks。

Oracle11g及12c以后版本,有了一个新特性参数deferred_segment_creation(延迟段创建),默认为true;该参数表示:创建表时,如为空没有数据插入则不分配segment,如果为false,则在创建表示创建一个data segment;

注意sys用户除外,它会自动分配空间,普通用户不会自动创建。

了解了如上deferred_segment_creation特性;

有同学会说:把deferred_segment_creation修改为flase不就行了。

注意:

deferred_segment_creation修改为flase后,只对新建的空表起作用,之前空表依旧无法正常导出,除非把之前的所有空表做一次segment段分配处理。

怎么做?

把所有的空表segment create 处理,通过sql手动方法实现

步骤如下:

步骤1:--查询所有的空表

select table_name from user_tables where NUM_ROWS=0;

步骤2:--拼接sql,批量生成修改语句

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;

步骤3:--利用exp/imp命令重新执行导出和导入操作即可。

步骤4:--修改deferred_segment_creation修改为flase,规避后续再次出现此类问题。

这里注意,步骤2会出现一种现象:

步骤2查出来的有些空表,在视图user_tables中的num_rows不等于0(原因:表中以前有数据,删除后oracle没有统计,视图user_tables中数据没有更新),故通过步骤2的sql并不能为所有的空表分配数据段。

怎么办?

执行一遍统计信息搜集即可。

select 'analyze table '||table_name||' compute statistics;' from user_tables;

analyze table tablename compute statistics;

等同于 analyze table tablename compute statistics for table for all indexes for all columns;

for table的统计信息存在于视图:user_tables 、all_tables、dba_tables

for all indexes的统计信息存在于视图:user_indexes 、all_indexes、dba_indexes

for all columns的统计信息存在于视图:user_tab_columns、all_tab_columns、dba_tab_columns

执行完后,视图user_tables中的num_rows值会做更新,此时再执行步骤2,能够给所有空表分配数据段

然而,在执行 analyze table tablename compute statistics 时,oracle会报object statictis are locked (这些表的统计被锁了),通过如下方式解锁:

select 'exec dbms_stats.unlock_table_stats('||'''OWNNAME'''||','''||table_name||''');' from user_tables where table_block=’DISABLED’;

以下是UNLOCK_TABLE_STATS Procedure介绍

This procedure unlocks the statistics on the table.

Syntax

DBMS_STATS.UNLOCK_TABLE_STATS (

   ownname    VARCHAR2,

   tabname    VARCHAR2);

Parameters

Table 141-98 UNLOCK_TABLE_STATS Procedure Parameters

Parameter

Description

ownname

The name of the schema

tabname

The name of the table

Usage Notes

When statistics on a table is locked, all the statistics depending on the table, including table statistics, column statistics, histograms and statistics on all dependent indexes, are considered to be locked.

The SET_*, DELETE_*, IMPORT_*, GATHER_* procedures that modify statistics in the dictionary of an individual table, index or column will raise an error if statistics of the object is locked.

Procedures that operates on multiple objects (such as GATHER_SCHEMA_STATS) will skip modifying the statistics of an object if it is locked. Many procedures have force argument to override the lock.

 欢迎关注个人微信公众号“一森咖记”c8e27466cb55e7887b67ebe7b8d5e116.png

2e2628018872037ebdd823170e87d290.png

   

近期热文

你可能也会对以下话题感兴趣。点击链接便可查看。

  • Oracle ADG同步技术,DBA必备的一种“后悔药”

  • OpenJDK和Oracle JDK有什么区别和联系?

  • 神技_如何快捷下载Oracle补丁的方法?!

  • 趋势篇:oracle 11g,12c,18c,19c之support lifetime

  • Configuring Kernel Parameters about SHMMAX on HP

  • 对recursive calls的深刻理解

  • Centos能不能替换RHEL?

  • RAC1 服务器要重启,喂:RAC2你先顶一下,咋搞?!

  • 对recursive calls的深刻理解

  • OpenJDK和Oracle JDK有什么区别和联系?

  • Centos能不能替换RHEL?

  • PLSQL Developer中控制结果集表格自动提交

  • alter table T1 add column新增字段执行时间超长,咋回事?

  • Oracle 11g 异机rman恢复报错ORA-27302:failure occurred at: sskgpcreates

  • 年末总结_聊一聊数据库行业的“继往开来”

  • Materialized view物化视图的一个简单应用场景

  • 干货:RHEL7.2生产环境下双节点12c RAC搭建实操

  • 【干货篇】在国内外数据库百家争鸣的时代,DBA们该何去何从?

  • LINUX环境:MySQL和Oracle开机自启动,咋搞?Logminer:oracle人为误操作之恢复神器

  • What:ASM自动脱落了

  • 实操:12C RAC环境下的ADG同步库搭建

  • “神器”:Oracle日志采集分析工具——TFA

  • Oracle Rac:关闭透明大页的原因及方法

  • 实操篇:Oracle 19c的安装部署

  • 浅谈MySQL三种锁:全局锁、表锁和行锁

  • Oracle如何访问MySql:透明网关

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 读写二进制文件

读写二进制文件的一种选择是直接使用流类型;在这种情况下,最好使用字节数组执行读写操作。另一个选择是使用为这个场景定义的读取器和写入器:BinaryReader和BinaryWriter。使用它们的方式类似于使用 StreamReader 和 StreamWriter&#xff0c…

推荐系统(1)--splitting approaches for context-aware recommendation

开篇语: 大一的时候。在实验室老师和师兄的带领下。我開始接触推荐系统。时光匆匆,转眼已是大三,因为大三课甚是少。于是便有了时间将自己所学的东西做下总结。第一篇博客。献给过去三年里带我飞的老师和师兄们,感谢你们的无私帮助…

python 百度云文字识别 proxy_python使用百度文字识别功能方法详解

介绍python使用百度智能去的文字识别功能,可以识别截图中的文,登陆路验证码等等。, 登陆百度智能云,选择产品服务。选择“人工智能”---文字识别。点击创建应用。 如图下面有关于“文字识别”的各类信息,如通用文字识别…

Android性能优化典范(转)

本文转自:http://hukai.me/android-performance-patterns/ 2015新年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Andr…

Xamarin效果第二十一篇之GIS中可扩展浮动操作按钮

在前面文章中简单玩了玩GIS的基本操作、Mark相关、AR、测距和加载三维白模,今天再次对操作栏又一次修改了,直接放到了右下角可伸缩效果;啥也不说了都在效果里:添加支持圆角 ContentView:Xamarin.Forms.PancakeView再来Xamarin 社区工具包:Xamarin.CommunityToolkit再来看看最终…

【新版发布】ComponentOne 新增 .NET 6 和 Blazor 平台控件支持

ComponentOne Enterprise是葡萄城推出的一款内置 300 多种开发控件的 .NET控件集,可满足 WinForm、WPF、Blazor、ASP.NET MVC 等平台下的系统开发需求,提供表格数据管理、数据可视化、报表和文档等功能,被开发人员誉为“.NET开发的‘瑞士军刀…

Ruby如何成长成高性能系统构架

为什么80%的码农都做不了架构师?>>> 结束了一份Ruby为主的工作,想把个方面总结一下,这篇是关于系统性能方面的.以下数据都是简单回忆的数据,加之企业保密数据的需要,和精确数有些出入,仅供参考. 说起Ruby的性能,无论从官方到社区,都公认是劣于其它的框架…

ArcGIS 10.2数字化线状要素时自动拼接成一条线

(1)在已有线的基础上自动连接成一条线 数字化时,经常会碰到这种情况,不小心双击了,或者画到一半饿了,双击完成去吃饭了,回来继续画,该怎样去做呢? 一开始一直和捕捉和经典…

设置tableView的分割线从最左端开始

苹果原生的tableView的cell分割线默认是没有从最左端开始,有时候这样不免影响美观,有时也会有这样的需求,设置tableView的分割线从最左端开始: 不多说了,直接上代码吧: //分割线从顶端开始 --------适配iO…

java 定时 spring_Spring定时任务实现与配置(一)

朋友的项目中有点问题。他那边是Spring架构的,有一个比较简单的需要定时的任务执行。在了解了他的需求之后,于是提出了比较简单的Springquartz的实现方式。注意本文只是讨论,在已搭建完毕的Spring工程下,完成最简单的定时任务。第…

内核同步机制

内核中用于临界区保护下的互斥机制,它包括自旋锁、原子操作和信号量,三者保证了对临界资源访问的互斥型。 1.1 内核中的互斥机制 1.1.1 自旋锁 自旋锁用在多个CPU系统中。当一个线程在一个CPU上正使用资源,而另一个线程在另一个CPU上正忙等待…

makefile运行_NVDIA TX2入门 系列之三:运行Yolov3

上篇TX2安装完成OpenCV 3.4.0之后,基本软件包已经安装完成,本篇开始安装并运行大名鼎鼎的号称速度最快的目标识别分类算法Yolov3。Yolov3 是啥啊Yolov3是一款基于darknet深度学习框架的目标检测开源项目,目前已经发展到第3版本,即…

C#实现树的双亲表示法

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace 树的实现 {public partial class Form1 : Form{public Form1(){Init…

MySQL存储写入速度慢分析

一、存储结构分析MySQL存储结构图:解析:1、读操作:内存读-->cache缓存读-->磁盘物理读读取到的数据会按上述顺序往回送。2、写操作:内存数据直接写入cache缓存(非常快)-->写入disk由上可知,MySQL之所以读写速…

windows 建立wifi热点

1、以管理员身份运行命令提示符:netsh wlan set hostednetwork modeallow ssidmywifi key123456其中ssid为wifi名称,key为wifi密码。2、设置Internet连接共享:在“网络连接”窗口中,右键单击已连接到Internet的网络连接&#xff0…

【C语言简单说】一:第一个C语言程序

注册CSDN有些年头了,但是从未写过任何任何的东西。 几年前的懵懵懂懂,现在虽然依旧懵懂但是还好,能够听得懂大触们大致再说神马东西了。 这段时间有点怀疑人生,由于本人才疏学浅,所以只好留下一点帮助小白级入门的干货…

腾讯视频VIP会员,周卡特价9元!腾讯官方直充,会员立即生效!

腾讯视频新剧热播,但去广告必须是腾讯视频VIP会员,今天就给大家推荐特价充值腾讯视频VIP会员的平台——幻海优品,官方在线直充,会员秒到!腾讯视频VIP会员特价充值周卡:原价12元,特价9元月卡&…

google+stackoverflow_哪些开发问题最让程序员“头秃”?我们分析了Stack Overflow的11000个问题...

作者 | Nick Roberts编译 | AI科技大本营(ID:rgznai100)自 2008 年成立以来,Stack Overflow 一直在拯救所有类型的开发人员。自那时以来,开发人员提出了数百万个关于开发领域的问题。但是,迫使开发者转向 Stack Overflow 的问题都是什么呢&am…

mybatis 返回 插入的主键

2019独角兽企业重金招聘Python工程师标准>>> 一般返回的是 数据库的 自增的 主键,,, 百度了一通,,我 刚开始 以后 可以 通过 插入的方法的,, 返回值 可以获取到 自增的主键&#xff…

Source Generator实战

前言最近刷B站的时候浏览到了老杨的关于Source Generator的简介视频。其实当初.Net 6刚发布时候看到过微软介绍这个东西,但并没有在意。因为粗看觉得这东西限制蛮多的,毕竟C#是强类型语言,有些动态的东西不好操作,而且又有Fody、N…