Oracle11G R2: 解决exp无法导出空表及expdp/impdp使用教程
5星 · 超过95%的资源 需积分: 37 190 浏览量
更新于2024-09-16
1
收藏 23KB DOCX 举报
"Oracle11G R2的expdp和impdp工具的使用以及解决exp无法导出空表的问题"
Oracle 11G R2版本引入了一些新的特性,其中之一是对于空表,系统不再自动分配段(segment),以节省存储空间。然而,这导致了一个问题,即使用传统的exp工具无法导出空表。为了解决这个问题,有以下两种方法:
1. 插入并回滚数据:
在空表中插入一行数据,然后执行`ROLLBACK`操作,这样就会为表分配一个segment。之后使用exp进行导出时,空表就可以被正确导出了。
2. 设置deferred_segment_creation参数:
这个参数默认为TRUE,意味着只有在表有数据时才会分配segment。将其改为FALSE,无论是空表还是非空表,都会立即分配segment。修改参数的SQL语句如下:
```sql
ALTER SYSTEM SET deferred_segment_creation=FALSE SCOPE=BOTH;
```
但请注意,这个设置对已经存在的空表无效,只会影响到之后新创建的表。若需导出之前的空表,仍然需要使用第一种方法。
3. 查找并分配extent:
可以通过查询`USER_TABLES`视图来找出所有空表,并为它们分配extent。查询语句如下:
```sql
SELECT 'ALTER TABLE ' || TABLE_NAME || ' ALLOCATE EXTENT;' FROM USER_TABLES WHERE NUM_ROWS = 0;
```
将查询结果导出并执行,这样空表的segment就会被创建,随后便能正常导出。
自Oracle 10g以来,引入了新的数据泵工具expdp和impdp,它们提供了更强大的数据导出和导入功能。与exp相比,expdp不仅能够处理空表,还支持更多高级选项,例如导出/导入特定表、表空间、用户、甚至整个数据库。以下是expdp的基本使用方法:
创建逻辑目录:
```sql
CREATE DIRECTORY db_bak AS 'D:\test\dump';
```
确保在操作系统中对应的路径存在,否则可能会导致错误。
查看目录:
```sql
SELECT * FROM DBA_DIRECTORIES;
```
赋予权限:
```sql
GRANT READ, WRITE ON DIRECTORY db_bak TO system;
```
导出数据:
以用户模式导出数据:
```bash
expdp system/manager@orcls schemas=system dumpfile=expdp.dmp directory=db_bak
```
这里,`system`是用户名,`manager`是密码,`orcls`是连接的服务名,`schemas=system`指定导出的模式,`dumpfile=expdp.dmp`是导出的文件名,`directory=db_bak`指定了数据泵输出的目录。
同样,impdp工具用于导入数据,其语法结构与expdp类似,可以根据需要调整参数以满足不同的导入需求。
Oracle 11G R2的expdp和impdp工具提供了一种更灵活、高效的数据迁移方式,而针对空表导出问题的解决方案,可以帮助用户在各种情况下顺利进行数据备份和恢复。
2011-11-21 上传
1496 浏览量
2017-06-20 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-12-29 上传
lxb2189
- 粉丝: 0
- 资源: 2
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍