文档详情

数据库迁移案例.doc

发布:2025-04-22约1.12万字共13页下载文档
文本预览下载声明

逻辑迁移

方案二、

采用expdp、impdp方法

使用并行expdp

sqlplusassysdba

SQLcreateorreplacedirectoryexport_DIRas/home/new;

catbakwithexpdp.sh

date

expdpsystem/oracle@orclDIRECTORY=export_DIRDUMPFILE=fulldatabase.dmpFULL=Y

job_name=expfulldbparallel=4

date

2,使用正常expdp

catbak.sh

date

expdpsystem/oracle@orclDIRECTORY=export_DIRDUMPFILE=fulldatabase.dmpFULL=Y

job_name=expfulldb

date

3,

SQLcreateorreplacedirectoryexport_DIRas/home/new;

viimpwithimpdp.sh

date

impdpsystem/oracle@repDIRECTORY=export_DIRDUMPFILE=fulldatabase.dmpFULL=Y

date

方案三、

1,先把符合一定时间条件的数据做成文本,spool成文本

viunload.sh

2,然后把文本导入数据库

sqlldrscott/tigercontrol=loader.ctl

控制文件(loader.ctl)将加载一个外部数据文件(含分隔符).loader.ctl如下:

loaddata

infile/home/oracle/backup/script/oradata.txt

replaceintotableemployees

fieldsterminatedby,optionallyenclosedby

(EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,PHONE_NUMBER,HIRE_DATEdd-mon-yy,JOB_ID,SALARY,COMMISSION_PCT,MANAGER_ID,DEPARTMENT_ID)

oradata.txt如下:

7369,Scott,CLERK,7902,17-DEC-80,800.00,,20

7902,FORD,ANALYST,7566,17-DEC-80,3000.00,,20

7566,JONES,MANAGER,7839,17-DEC-80,2975.00,,20

7839,KING,PRESIDENT,,17-DEC-80,5000.00,,10

3,最后把增量部分导进去

并发操作?

?sqlldr?userid=/?control=result1.ctl?direct=true?parallel=true?

?sqlldr?userid=/?control=result2.ctl?direct=true?parallel=true?

?sqlldr?userid=/?control=result2.ctl?direct=true?parallel=true?

?当加载大量数据时(大约超过10GB),最好抑制日志的产生:?

??SQLALTER?TABLE?employeesnologging;?

?这样不产生REDOLOG,可以提高效率。然后在CONTROL文件中load?data上面加一行:unrecoverable,此选项必须要与DIRECT共同应用。

??在并发操作时,ORACLE声称可以达到每小时处理100GB数据的能力!其实,估计能到1-10G就算不错了,开始可用结构相同的文件,但只有少量数据,成功后开始加载大量数据,这样可以避免时间的浪费。?

SQL*Loader是Oracle数据库导入外部数据的一个工具.它和DB2的Load工具相似,但有更多的选择,它支持变化的加载模式,可选的加载及多表加载.

如何使用SQL*Loader工具

我们可以用Oracle的sqlldr工具来导入数据。例如:

sqlldrscott/tigercontrol=loader.ctl

控制文件(loader.ctl)将加载一个外部数据文件(含分隔符).loader.ctl如下:

loaddata

infile/home/oracle/backup/script/mydata.csv

rep

显示全部
相似文档