linux中oracle数据库exp和imp导入导出的基本使用

登录linux的oracle用户

一、exp
1、按表本地导出:

exp 数据库用户名/密码 file=***.dmp tables=表名1,表名2

(注:此处file指定默认路径为/home/oracle/)

2、全表导出:

exp 数据库用户名/密码 file=***.dmp full=y

3、按用户导出:

exp 数据库用户名/密码 file=***.dmp owner=用户名1,用户名2

4、注意事项:
如果有些表含有CLOB、BLOB等大字段,需要注意保持源库和目标库的表空间名保持一致,不然会报出找不到表空间的错,导致表丢失。

二、imp
1、按表本地导入:

imp 数据库用户名/密码 file=/home/oracle/***.dmp full=y ignore=y

full=y:导入文件中全部内容,有可能有多个用户的内容。
ignore=y:不存在表,创建表并导入数据;若已存在表,忽略创建表再导入。

三、expdp/impdp(数据泵)
1、简单基础使用:
此方式会使用默认的导出目录DIRECTORY,如此需要在导入的库创建相同的DIRECTORY

expdp 数据库用户名/密码 dumpfile=***_%U.dmp tables=表名1,表名2 parallel=4

impdp 数据库用户名/密码 dumpfile=***_%U.dmp tables=表名1,表名2 parallel=4 ignore=y

parallel:并行度设置,这个参数可以提升导入导出的效率,但是需要根据服务器cpu的情况而定,一般设置不要超过cpu的核心数,否则会导致资源争夺和性能下降。
注:并行导出的所有文件,在导入时必须全部导入,不然会报错ORA-39059: dump file set is incomplete,提示缺失完整文件。

2、表空间和索引问题:
(1)导入时注意查看表空间和临时表空间(temp/tempfile)的大小,要预留足够的空间大小。

select * from dba_temp_files;

(2)如果已经存在表并有索引和约束时,导入的速度会很慢,可以考虑先禁用。

--禁用
ALTER INDEX my_index UNUSABLE;

--启用
ALTER INDEX my_index REBUILD;

(3)也可以在导出时忽略原表索引。
仅导出数据和表结构:content=METADATA_ONLY
仅导出数据:content=DATA_ONLY

expdp 数据库用户名/密码 dumpfile=***_%U.dmp tables=表名1,表名2 parallel=4 content=DATA_ONLY

3、指定DIRECTORY并带入查询条件:

expdp 数据库用户名/密码 DIRECTORY=mydata_dir dumpfile=***_%U.dmp tables=表名1,表名2 parallel=4
query=表名1:\"WHERE pub_date\>to_date\(\'2023-12-01 00:00:00\',\'yyyy-mm-dd hh24:mi:ss\'\)\"

DIRECTORY:在Oracle数据库中,DIRECTORY 是一个数据库对象,用于指定文件系统中的一个目录。这个目录对象在数据库中被创建,然后可以被用于诸如数据导入导出、日志文件、或者其他需要访问文件系统目录的数据库操作。注意导出指定了DIRECTORY,导入时也必须指定。
query:这是一种条件查询策略,query后面参数可以填入某表的查询条件,注意符号转义。

--这是一个sql语句,指定DIRECTORY的路径,此文件夹需要手动在服务器创建并授权
CREATE DIRECTORY mydata_dir AS '/path/to/my/directory';

--授权
Grant read,write on directory mydata_dir to 数据库用户名;
--创建并授权
mkdir /path/to/my/directory

chmod 777 /path/to/my/directory

注:使用这种方式必须提前创建DIRECTORY并授权,否则会报错ORA-06512: at “SYS.UTL_FILE”, line 536

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值