Oracle技术文档.md
tags: Oracle
环境说明:
- Oracle11g
- CentOS6.10/CentOS7.5
功能(可选-建议操作)
Oracel exp 导出空表数据
TODO 寻找更好导出空表的方法
问题原因:
由于Oracle11g新特性,当表无数据时,不分配segment,以节省空间。而导出时只会导出已分配segment的表
解决步骤:
第一步: 修改系统配置
设置deferred_segment_creation参数
SQL> show parameter deferred_segment_creation
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean TRUE
SQL> alter system set deferred_segment_creation=false;
系统已更改。
SQL> show parameter deferred_segment_creation
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean FALSE
注意: 该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能使用后续方法。
**第二步: **处理空表
方法1: 批量处理空表
-- 首先使用下面的sql语句查询一下当前用户下的所有空表
select table_name from user_tables where NUM_ROWS=0 or num_rows is null;
然后用一下SQL语句执行查询
-- select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;
-- 查询结果如下所示..
alter table TBL_1 allocate extent;
alter table TBL_2 allocate extent;
alter table TBL_3 allocate extent;
alter table TBL_4 allocate extent;
-- 执行上面语句即可
方法2: insert一行,再rollback就产生segment了
该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。
参考链接: Oracle导出空表
Oracle数据导入导出
Oracle导入导出命令
# 导出数据
exp fdm/qwe1234@192.168.100.165:1521/newfdm file=20190514_newfdm.db owner=fdm
# 导入前需要删除原有数据库所有表+序列
imp fdm/qwe123 file=/home/oracle/20190514_newfdm.db fromuser=fdm touser=fdm DESTROY=Y
导出日志查看.配置 <导出空表数据> 后即可导出空表 xxx 0行
[oracle@WOM ~]$ exp fdm/qwe123@192.168.172.70:1521/fdm file=fdm.db owner=fdm
Export: Release 11.2.0.1.0 - Production on 星期三 10月 23 17:09:59 2019
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 UTF8 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)
即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 FDM 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 FDM 的对象类型定义
即将导出 FDM 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 FDM 的表通过常规路径...
. . 正在导出表 ASSISTANT_ANALYSIS导出了 0 行
. . 正在导出表 BACK_MINING_MODEL导出了 5 行
. . 正在导出表 BACK_MINING_MODEL_ENTITY导出了 38 行
. . 正在导出表 WEB_LOG导出了 1463 行
. 正在导出同义词
. 正在导出视图
. 正在导出存储过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
导出成功终止, 但出现警告。
网友评论