大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
一、创建用户
1.1 步骤
1.2 注意事项
二、处理空表
(1)描述
Oracle11g中的新特性,当一个表中的数据为0时不分配segment,所以就不能够被导出。
(2)解决方法
方法一:
先insert一条数据,再rollback就产生segment了,该方法是在空表中先插入一条数据,再删除就 产生segment了,执行exp或者expdp时就可以导出了此空表了。
方法二:
修改 deferred_segment_creation 参数,该参数默认为TRUE,当修改为FALSE时,无论是空表还是非空表都分配segment,修改语句为:
alter system set deferred_segment_creation=false scope=both;
注意:该值设置之后对于以前导入的空表是不产生作用的,仍不能导出,只能对后面新增的表产生作用,如需导出之前的空表只能使用方法一。
方法三:
使用下面SQL查找空表,把查询结果导出,执行导出的语句,强行修改segment值,然后再执行导出语句,则可以导出空表。
select 'alter table '||table_name||' allocate extent;'
from user_tables
where num_rows=0 or num_rows is null;
(3)总结
方法一在表很多的时候不实际,方法二最好用在数据库刚创建时,方法三在实际中最常用。
三、使用传统方式进行迁移
2.1 步骤
(1)处理空表
select 'alter table '||table_name||' allocate extent;'
from user_tables
where num_rows=0 or num_rows is null;
(2)数据库备份
exp username/password@service file=filename.dmp;
(3)数据库导入
imp username/password@service file=filename.dmp full=y ignore=y;
四、使用数据泵方式进行迁移
3.1 步骤
(1)处理空表
select 'alter table '||table_name||' allocate extent;'
from user_tables
where num_rows=0 or num_rows is null
(2)数据库备份
sqlplus clean/clean@orcl as sysdba;
create directory dpdata1 as 'd:\dump';
grant read,write on directory dpdata1 to clean;
quit
expdp flow/flow@flow directory=dpdata1 dumpfile=20200401.DMP logfile=20200401.log schemas=USER;
(3)数据库导入
sqlplus flow/flow@flow as sysdba;
create directory dpdata1 as 'd:\dump';
grant read,write on directory dpdata1 to flow;
quit
impdp flow/flow@flow directory=dpdata1 dumpfile=20200401.DMP REMAP_SCHEMA=BPM_SAAS:flow EXCLUDE=USER;
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179593.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...