浅析我眼中的expdp、impdp

这里大多数能很快搜到的就不多叙述了

大致分为两大类数据库在用、数据库没在用。

数据库没有使用了(一般是为了迁移数据或着保留备份)

下面是以按用户导为例
nohup expdp \'/ as sysdba\' schemas=xxx DIRECTORY=xxx dumpfile=实例名_日期_%U.dmp logfile=实例名_日期.log  EXCLUDE=SYSTEM_GRANT,DB_LINK,TABLE_STATISTICS,INDEX_STATISTICS PARALLEL=4 COMPRESSION=ALL cluster=no &

 此处可以将schemas替换成parfile将所需要导入的对象放入文件中格式网上都有讲随便翻翻就有

 PARALLEL= 4

这里并行数量根据lscpu查看 

COMPRESSION=ALL

根据情况选择是否开启压缩

cluster=no

这个选项一般情况下尽量带着否则会报错

table_exists_action=replace 用前要申请(工作也要学会保护自己)

注意:EXCLUDE这个选项不只可以选择数据,可以预演导入导出操作,查看把不需要的去掉可以减少很多无效报错。

多对一时

REMAP_TABLESPACE=%:(目标名称大写)

REMAP_SCHEMA=同理

一对一

REMAP_TABLESPACE=XXX:(目标名称大写)

REMAP_SCHEMA=同理

多实例可以通过flashback_scn保证唯一性

数据库在有使用(生产)

这里提供一个流程,相关sql需要根据业务情况改写。能进行生产迁移的查询sql应该还是有一定积累的这里就不多说明了。

1.通知业务记录老库序列值

2. 通知业务停应用

3. 确认没有应用连接


上面操作主要是为了保证自己操作是有效的

4.杀掉相关会话

select s.username,'alter system kill session ' || '''' || s.sid || ',' || s.serial# || ',@' || s.inst_id||'''' || ' immediate;' kill_sql
from gv$session s, gv$process p
where s.inst_id=p.inst_id
and s.paddr = p.addr
and s.username is not null
and s.username not in ()
order by s.username;

5.锁用户

6.锁job

7.检查有无新建对象

8.导出导入数据

9.编译无效对象

10.检查对象数量及状态

11.核对表行数

12.收集统计信息

搞完也别急,记得让业务核对数据。

有什么问题了单独导一下自己根据情况解决。

写的都是我不成熟的理解,希望大佬们看了可以指正!

刚入坑的话还是可以看看少走点弯路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值