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中进行介绍
补充:对于数据库的迁移,务必设置相同的字符集。或者兼容的字符集
当然,我们推荐使用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中进行介绍
补充:对于数据库的迁移,务必设置相同的字符集。或者兼容的字符集
相关文章推荐
- ORACLE EXP IMP 命令介绍
- Oracle数据导入导出imp/exp命令 [转]
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
- [自备参考]oracle imp命令详细介绍
- oracle exp/imp命令详解
- Oracle数据导入导出imp/exp命令
- 转:Oracle数据导入导出imp/exp命令
- oracle imp/exp 导入导出命令
- Oracle下备份恢复之EXP、IMP命令详解
- Oracle数据导入导出imp/exp命令
- Windows中Oracle使用Doc命令完成数据的导出(EXP)/导入(IMP)
- oracle exp,imp命令
- Oracle数据导入导出imp/exp命令
- Oracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类 解决办法
- Oracle数据导入导出imp/exp :未知的命令开头。。。忽略了剩余的行
- Oracle数据导入导出imp/exp命令 适合10g以上expdp/impdp命令
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
- Oracle exp/imp导出导入命令及数据库备份
- oracle exp/imp命令详解
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令