oracle数据泵迁移
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据泵迁移宏康
注:导出源机器下称a机,导入目标机器下称b机。
这里以核心库为例子,另两个库只加注释说明。
1.环境
迁移旧数据库的用户
10.50.100.11核心数据库(hkprdb):HKAPP、HKLIS、LISACCOUNT和LIS_MONITOR、HKFXQ
迁移后新数据库的用户
核心数据库(hkprdb):HKAPP、HKLIS、LISACCOUNT和LIS_MONITOR、HKFXQ 财务数据库(hkaccdb):ACC_MONITOR、HKACCOUNT、HKLIFE、HKYSS和HKINVTPRD (旧投资库中的HK555投资用户)。
资讯数据库(hkinvt):FCDB。
确认登陆数据库的库名和语言
cat /etc/oratab
export ORACLE_UNQNAME=hkinvt
export ORACLE_SID=hkinvt
echo $NLS_LANG
SQL> select userenv('language') from dual;
2.统计数据库信息
最后通过统计下的信息比较a库和b库的数据差别,用以验证数据完整性
三个库分别更换in后的用户
('HKAPP','HKLIS','LISACCOUNT','LIS_MONITOR','HKFXQ')
('ACC_MONITOR','HKACCOUNT','HKLIFE','HKYSS','HKINVTPRD')
(‘FCDB’ ,’HK555’)
set lines200
set pagesize 5000
col db_link for a50
col host for a150
表:
select OWNER,TABLE_NAME,TABLESPACE_NAME,STATUS,NUM_ROWS from
dba_tables where owner in
('HKAPP','HKLIS','LISACCOUNT','LIS_MONITOR','HKFXQ') order by OWNER,TABLE_NAME;
权限:
select * from DBA_SYS_PRIVS where grantee in
('HKAPP','HKLIS','LISACCOUNT','LIS_MONITOR','HKFXQ') order by GRANTEE,PRIVILEGE;
同义词:
select * from dba_synonyms where table_owner in
('HKAPP','HKLIS','LISACCOUNT','LIS_MONITOR','HKFXQ') order by TABLE_OWNER,TABLE_NAME;
数据库链接:
select * from dba_db_links order by OWNER,CREATED;
无效对象:
select owner,object_name,OBJECT_TYPE,STATUS from dba_objects where owner in ('HKAPP','HKLIS','LISACCOUNT','LIS_MONITOR','HKFXQ') and status='INVALID' order by owner,object_name;
2.1. 统计表空间数据文件大小
根据要求,怕数据文件过大导致读写性能下降,所以每个数据文件10G且关闭自动扩展。
因为投资的一个用户要迁移到财务上,所以建表空间时注意将该对象的相关表空间建到财务上。
核心
select
ername,t.TABLESPACE_NAME,f.FILE_NAME,f.BYTES/1024/1024/1024 from dba_usersu,DBA_TABLESPACESt,dba_data_files f where
u.DEFAULT_TABLESPACE=t.TABLESPACE_NAME and
t.TABLESPACE_NAME=f.TABLESPACE_NAME and ername in
('HKAPP','HKLIS','LISACCOUNT','LIS_MONITOR','HKFXQ') order by
ername,t.TABLESPACE_NAME,f.FILE_NAME;
财务
select
ername,t.TABLESPACE_NAME,f.FILE_NAME,f.BYTES/1024/1024/1024 from dba_usersu,DBA_TABLESPACESt,dba_data_files f where
u.DEFAULT_TABLESPACE=t.TABLESPACE_NAME and
t.TABLESPACE_NAME=f.TABLESPACE_NAME and ername in
('ACC_MONITOR','HKACCOUNT','HKLIFE','HKYSS') order by
ername,t.TABLESPACE_NAME,f.FILE_NAME;
投资
select
ername,t.TABLESPACE_NAME,f.FILE_NAME,f.BYTES/1024/1024/1024 from dba_usersu,DBA_TABLESPACESt,dba_data_files f where
u.DEFAULT_TABLESPACE=t.TABLESPACE_NAME and
t.TABLESPACE_NAME=f.TABLESPACE_NAME and ername in ('FCDB','hk555') order by ername,t.TABLESPACE_NAME,f.FILE_NAME;
2.2. 建表语句,新库按照源大小建表空间
select 'create tablespace '||TABLESPACE_NAME||' logging datafile
''/oradata/'||TABLESPACE_NAME||'.dbf'' size 10G autoextend off;' from dba_tablespaces order by TABLESPACE_NAME;
select 'alter tablespace '||TABLESPACE_NAME||' add datafile
''/oradata/'||TABLESPACE_NAME||'.dbf'' size 10G autoextend off;' from dba_tablespaces order by TABLESPACE_NAME;
2.3. 建立目录
分别在a机和b机查询建立目录
select * from dba_directories;
如不存在合适目录则建立新目录
create or replace directory dump as '/u01/dump';
grantread,write on directory dump to system;
3. 导出数据
核心:18:11:06-18:22:49
expdp system/orac1e directory=dump dumpfile=hkprdb20141205.dmp logfile=lkydb20150109_expdp.log
schemas=hkapp,hklis,lisaccount,lis_monitor,hkfxq
财务:18:15:46-18:19:51
expdp system/orac1e_HK directory=DBBAKUP_DIR dumpfile=hkaccdb20141205.dmp logfile=hkaccdb20141205_expdp.log schemas=acc_monitor,hkaccount,hklife,hkyss
投资:18:20:35-20:25:15
expdp system/orac1e_HK directory=DUMP_DIR
dumpfile=hkinfodb20141205.dmp logfile=hkinfodb20141205_expdp.log schemas=fcdb,hk555
将a导出的dump文件传输到b的相关directory下
4. 导入数据
核心:
impdp system/orac1e_HK schemas=HKAPP,HKLIS,LISACCOUNT,LIS_MONITOR,HKFXQ
dumpfile=hkprdb20141205.dmp logfile=hkprdb20141205_impdp.log directory=dump
财务:
impdp system/orac1e_HK schemas=ACC_MONITOR,HKACCOUNT,HKLIFE,HKYSS dumpfile=hkaccdb20141205.dmp logfile=hkaccdb20141205_impdp.log directory=dump
从投资库迁移过来的用户,用迁移库导出的dump进行导入,通过remap_schema 来修改用户名
impdp system/orac1e_HK remap_schema=HK555:HKINVTPRD dumpfile=hkinfodb20141205.dmp logfile=hkaccdb20141205_remap_impdp.log directory=dump
投资:
impdp system/orac1e_HK schemas=FCDB dumpfile=hkinfodb20141205.dmp logfile=hkinfodb20141205_impdp.log directory=dump
5. 校验
最后,通过之前统计的信息比对两边(本次使用Eclipse比对的),判断数据是否完整。
根据实际情况编译失效对象。