Oracle数据库导出与导入全过程详解

作者:技术拾光时间:2026-06-07 08:52:07浏览:90

Oracle数据库导出时,需先处理空表:执行altertableallocateextent语句分配空间,再用exp命令导出dmp文件;导入时需新建用户,使用imp命令并加full=y参数导入全部内容,同时注意字符集及忽略错误等设置。

一、Oracle数据库导出dmp数据文件

1. 处理空表,避免遗漏

执行导出前,建议先检查数据库中是否存在空表,否则空表可能无法正常导出。通过以下SQL语句可以列出所有数据行数为0的表:

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

将查询结果复制出来,逐条执行(若无空表,可跳过此步骤):

alter table 表名1 allocate extent;……alter table 表名n allocate extent;

执行完分配空间的语句后,即可继续后续的导出操作。

2. 在Oracle安装目录下执行导出命令

以示例环境为例,Oracle安装目录为:C:\app\Administrator\product\11.2.0\dbhome_1\BIN\。在该文件夹空白处按住Shift键并右键,选择“在此处打开命令窗口”,如下图所示:

Oracle数据库导出与导入全过程详解

在命令窗口中输入以下导出命令:

exp username/password@orcl file=D:\daochu.dmp

命令说明: exp 为导出命令;username/password@orcl 分别代表用户名、密码和实例名;file=D:\daochu.dmp 指定导出文件保存路径及文件名。

若只需导出某个表,可添加 tables 参数:

exp username/password@orcl file=d:\daochu.dmp tables=(tablename)

二、Oracle数据库导入dmp数据文件

1. 新建用户(以PL/SQL Developer为例)

在导入之前,需要创建一个新用户用于接收数据。下图展示了PL/SQL Developer中新建用户的界面,重点修改三个关键位置即可:

Oracle数据库导出与导入全过程详解

Oracle数据库导出与导入全过程详解

Oracle数据库导出与导入全过程详解

2. 在Oracle安装目录下执行导入命令

同样在Oracle安装目录(路径同上)中,按住Shift打开命令窗口。导入命令格式如下:

imp username/password@orcl full=y file=

其中 file= 后面可直接将dmp文件拖入命令窗口,路径会自动填充。full=y 表示导入全部内容。

总结

导出与导入是Oracle数据库日常维护的基本操作,重点在于空表处理以及路径权限的设置。按照以上步骤操作,一般不会遇到较大问题。若遇到具体报错,可根据错误信息调整相应参数。