欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 导入导出工具

程序员文章站 2022-05-26 19:19:51
...

Oracle 11g R2明确声明不再支持export和import淘汰的原因:导入导出速度慢替代品:数据泵,速度提升5倍,但是不能远程导入导出,

Oracle 11g R2明确声明不再支持export和import
淘汰的原因:导入导出速度慢
替代品:数据泵,速度提升5倍,但是不能远程导入导出,只能在服务端
数据泵工具expdp和impdp

exp工具导出数据库文件成.DMP后缀的二进制文件

.dmp文件平台无关性

exp导出前
1.运行catexp.sql或者catalog.sql脚本(只要求手工创建实例,用dbca创建的数据库实例不需要)
2.确保有充足的磁盘空间
3.确认有所需的权限:导本用户需要create session权限,导其他用户需要EXP_FULL_DATABASE角色

exp xxwz/xxwz@XXWZ file=xxwz.dmp owner=xxwz log=xxwz.log

调用方式
命令行方式
交互式方式
参数文件方式
OEM

命令行方式:
导出模式:
表模式:
exp hr/hr tables=employees,departments,%A%,emp:emp1 rows=yes file=exp1.dmp //%A%通配符,导出所有含A的表;emp:emp1导出分区表emp的分区emp.

用户模式:
exp sys/sys owner=hr direct=y file=expdat.dmp//用直接模式导出hr用户的数据

表空间模式:
exp \'sys/sys as sysdba\' transport_tablespace=y tablespaces=xxwz_data log=xxwz.log
//导出xxwz表空间的数据字典信息,不导数据

全数据库模式
exp sys/sys FULL=y file=d:\xxwz.dmp grants=y rows=y //GRANTS为导出权限,rows为导出数据


交互式
exp hr/hr

参数文件方式
写一个参数文件exp.txt
file=xxwz.dmp
log=xxwz.log
owner=xxwz
rows=y
然后执行exp命令
exp xxwz/xxwz@XXWZ parfile=d:\exp.txt

导入导出字符集转换
源数据库与exp字符集转换、exp字符集与imp字符集转换、imp字符集与目标数据库字符集转换
如果事先设置好这么字符集就可以避免转换

查看数据库字符集信息
select * from nls_database_parameters;
查询到的参数组合成字符集:NLS_LANGUAGE.NLS_TERRITORY.NLS_CHARACTERSET
查看exp和imp的字符集可以查看注册表的本地机器-软件-oracle-nls_lang或者cmd>chcp再查询代码对应的字符集。

设置exp和imp的字符集
cmd>set NLS_LANG=American_America.AL32UTF8


查看dmp文件的字符集
它的第二字节和第三字节为字符集
或者
imp xxwz/xxwz@XXWZ show=y file=d:\xxwz.dmp //不导入只是看看

导出方式:常规路径模式和直接路径模式(避开检查,,速度提高一倍)
特点:
直接模式不能交互式
客户端和服务端字符集设置一样(不设置一样会有warning)
buffer参数没作用。
命令格式:在命令行加上 direct=y

imp命令
imp sys/sys file=d:\xxwz.dmp fromuser=xxwz touser=xxwz1 table=*;

导入数据顺序
创建表
导入数据
创建B树索引
导入触发器
完整性约束
bitmap、函数、domain索引

Oracle 导入导出工具