您的位置:首页 > 数据库 > Oracle

oracle imp、exp命令 精简介绍

2013-09-28 15:26 344 查看
对于数据的的迁移,特别是不同版本之间和不同系统之间的迁移,使用exp/imp可以完成,

当然,我们推荐使用expdp/impdp进行数据的导入,导出。下面我们简单讲讲exp、imp的基本操作

1 整个数据库的导出、导入



a 导出、导入之前我们需要确认数据库的字符集,设置环境变量NLS_LANG

export NLS_LANG=AMERICAN_AMERICA.UTF8(这是我的参数,具体的根据实际情况而定)

#查询oracle字符集参数

select * from v$nls_parameters

select * from v$nls_parameters where parameter='NLS_CHARACTERSET';

select value from nls_database_parameters t where t.PARAMETER='NLS_NCHAR_CHARACTERSET'

b 执行导出命令,需要使用一定权限的用户,否则只会导出该用户拥有的对象

exp system/root file=/backup/full.dmp log=/backup/full.log full=y



c 进行导入命令



imp system/root file=/backup/full.dmp log=/backup/full2.log full=y ignore=y

2 基于用户进行数据的导出、导入

export NLS_LANG=AMERICAN_AMERICA.UTF8

a 执行导出命令,使用对应的用户,可以指定owner,也可以不指定 但是不能指定full参数



exp scott/root file=/backup/scott.dmp log=/backup/scott.log 或者

exp system/root file=/backup/scott.dmp log=/backup/scott.log owner=scott

b 如果没有用户和表空间,我们需要先创建指定的表空间和用户



create tablespace "hsj"

logging

DATAFILE '/u01/oradata/orcl/heshengjun.ora' SIZE 500M REUSE EXTENT

MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;

创建用户

create user hsj identified by root

default tablespace hsj

temporary tablespace temp;

c 授予scott权限,具体用户根据自己的用户而定

GRANT UNLIMITED TABLESPACE TO "SCOTT";

GRANT CREATE DATABASE LINK TO "SCOTT";

GRANT CREATE ANY TABLE TO "SCOTT";

GRANT CREATE ANY TRIGGER TO "SCOTT";

GRANT CREATE ANY VIEW TO "SCOTT";

GRANT CREATE DATABASE LINK TO "SCOTT";

GRANT CREATE PROCEDURE TO "SCOTT";

GRANT CREATE TABLE TO "SCOTT";

GRANT CREATE TABLESPACE TO "SCOTT";

GRANT CREATE TRIGGER TO "SCOTT";

GRANT DROP ANY TABLE TO "SCOTT";

GRANT INSERT ANY TABLE TO "SCOTT";

GRANT UPDATE ANY TABLE TO "SCOTT";

GRANT CONNECT TO "SCOTT";

GRANT RESOURCE TO "SCOTT";

GRANT IMP_FULL_DATABASE to "SCOTT"

GRANT DBA TO "SCOTT";

d 执行导入命令



imp scott/root file=/backup/scott.dmp log=/backup/scott2.log full=y

或者



imp scott/root file=/backup/scott.dmp log=/backup/scott2.log fromuser=scott touser=scott

3 基于表对象的导出导入

export NLS_LANG=AMERICAN_AMERICA.UTF8

a 导出表 对象 demp 和emp

#在linux系统下,对特殊符号转义

exp scott/root file=/backup/table.dmp log=/backup/table.log tables=\(dept,emp\);

b 导入表 对象 demp 和emp

imp scott/root file=/backup/table.dmp log=/backup/table2.log full=y

或者

imp scott/root file=/backup/table.dmp log=/backup/table2.log tables=\(dept,emp\);

总结:对于其他参数,比如缓存 buffer,压缩 compress 都没有配置,有兴趣可以参考文档进行配置

对于读取参数文件,将会在expdp、impdp中进行介绍



补充:对于数据库的迁移,务必设置相同的字符集。或者兼容的字符集
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: