Oracle11G在LINUX下导出空表解决方案及EXP导出操作
"这篇文档主要介绍了在Linux环境下如何导入和导出Oracle 11G数据库,特别是处理空表无法导出的问题,以及exp导出工具的使用方法。" 在Oracle 11G数据库中,一个常见的问题是空表无法通过EXPORT导出,这是因为11GR2版本的一个新特性,即当表没有数据时,系统不会为其分配segment以节省存储空间。为了解决这个问题,有两种可行的方法: 1. 插入并回滚法:在空表中插入一行数据,然后执行`ROLLBACK`操作。这样会使得表产生segment,从而能够被导出。这种方法适用于已经存在的空表。 2. 修改deferred_segment_creation参数:这个参数默认为TRUE,表示延迟segment的创建。将其设置为FALSE,无论表是否为空,都会立即分配segment。设置SQL语句如下: ``` ALTER SYSTEM SET deferred_segment_creation=FALSE SCOPE=BOTH; ``` 需要注意的是,这个参数的改变只影响设置之后创建的表,对于之前已存在的空表无效,若要导出这些旧的空表,仍需使用第一种方法。 接下来,我们讨论Oracle的导出工具`exp`: `exp`是一个位于`/ORACLE_HOME/bin`目录下的可执行文件,用于将数据库中的数据备份为二进制文件,便于跨操作系统迁移。它支持三种导出模式: - 用户模式:导出指定用户的所有对象及其数据。 - 表模式:导出用户所有的表或指定的单个表。 - 全库模式:导出数据库中的所有对象。 以下是一个使用`exp`进行交互式导出的示例: ``` $ exp test/test123@appdb Enter array fetch buffer size: 4096 Export file: expdat.dmp > m.dmp (导出文件名为m.dmp) (1) Export database, (2) Users, or (3) Tables: (2) U > 3 Export table data (yes/no): yes Compress extents (yes/no): yes Export done in ZHS16GBK character set and ZHS16GBKNCHAR character set About to export specified tables via Conventional Path Table (T) or Partition (T:P) to be exported: (RETURN to quit) > cmamenu (输入要导出的表名) .. exporting table CMAMENU 4336 rows exported Table (T) or Partition (T:P) to be exported: (RETURN to quit) ``` 在这个例子中,我们选择了导出用户的所有表,并且指定了数据导出和压缩的选项,然后输入了要导出的表名`CMAMENU`,导出了4336行数据。 通过理解以上信息,用户可以在Linux环境中更有效地管理和迁移Oracle数据库,特别是在处理空表导出问题时有了明确的解决方案。
下载后可阅读完整内容,剩余5页未读,立即下载
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦