|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
也许最好的策略是以不变应万变:给客户他们所需要的,不多也不少。如果MySQL学习教程适合他们,他们就不应该买别的工具。事实上,云计算产业一直推崇自助服务,但提供这些服务的公司已经开始认识到解决方案提供商推销他们商品的价值。oracle
Oracle10G的DataPump(PartI)
作者:Fenng
出处:Http://www.DBAnotes.net
Oracle10G的DataPump手艺可以在分歧数据库间高速的挪动数据库和元数据.这个手艺的基本是两个数据挪动工
具:DataPumpExport和DataPumpImport.
Oracle的DataPump是经由过程一个PL/SQL包来完成的:DBMS_DataPump(也叫DataPumpAPI).DataPump利用
间接路径装载和内部表机制举行数据的挪动.DataPump利用DBMS_METADATAPL/Sql包举行包含ETL历程在内的
一切的数据库工具操纵.
DataPump是Oracle一些别的关头特征(如基于流的复制、逻辑Standby等)的基本。
DataPump特征是集成到Oracle数据库10G中的,可是尺度版本10G并行度只要1.
关头观点
MasterTable
MasterTable(MT)是DataPump手艺的中心.MasterTable用来保留全部过程当中的细节信息(也能够说是一些
元数据信息).有了MT,导出大概导进的重启动才变成大概.这些细节信息包含:
发生Job形态的呈报从头启动Job定位在Dump文件中的一切的工具.
主表在举行以后导出大概导进的操纵的用户形式中被创立.该用户必需要有充足空间.主表的名字和创立它的Job名字相
同.这也就是说,你不克不及显式的指定一个和现有的表大概视图重名的DataPumpJob.
导出的时分,主表被创立,并在完成的时分写到Dump文件中.在启动导进的时分,主表从Dump文件会合载进到数据库中,
并用来把持操纵的按次.主表也能够用一些参数来举行初始化操纵.要注重的是主表不克不及跨文件存储.以是,指定的Dump
文件的巨细最少要可以包容得下MT.
主表依以下情形或被保存大概删除:
Job乐成完成,MT被删除.假如Job是利用STOP_JOB交互命令停失落的,MT将被保存以用来重启动Job.假如Job是利用KILL_JOB交互命令Kill失落的,MT将被删除,而且Job不克不及从头启动.假如Job不测中断,MT老是被保存.
MasterProcess主历程
每个导出大概导进的Job城市发生一个主历程.主历程把持全部Job,包含和客户端通讯,创立并把持worker历程,
并举行日记操纵.
WorkerProcess
WorkerProcess是并行化举行实践的卸载与装载元数据和表数据的历程.历程的数目和PARALLEL指定的数值相称
.在全部Job过程当中,该数目能够举行调剂.我们在后面已说起,尺度版下并行度为1.
收集导出和导进
当你经由过程收集运转Import操纵,源是另外一个体系,不是一个Dump的文件集.
基于服务器的处置体例
和本来的Export/Import体例分歧的是,DataPump的导出和导进基础是在服务器.这意味着:
由于文件的读和写年夜部分都是在服务器端,以是路径的标准和数据库目次工具的剖析都是针对服务器而不是客户
端由于对文件的会见是在操纵体系形式下,大概会存在数据平安成绩.假如利用默许的目次信息,大概会发生文件抵触成绩.
Dump、Log和SQL文件的默许地位
Dump、Log和SQL文件的默许地位基于服务器的。在你运转DataPumpExport大概DataPumpImport的时分,
必需由DBA大概是有CREATEANYDIRECTORY权限的用户创立一个目次工具.在该工具创立以后,你必要对其他用户
受权READ/WRITE工具操纵权限.
GRANTREADONDIRECTORYdata_pump_dirTOfoo;
注重该目次只要在数据库服务用具有读取权限的时分才能够.
DataPump依据以下的按次决意文件的地位:
1.对该文件指定的目次工具;
2.假如对一个文件没有指定目次工具,那末将默许利用初始化参数中的DIRECTORY指定的工具.
特权用户和非特权用户
DataPump辨认两类的用户:特权(Privileged)用户和非特权(Nonprivileged)的用户.
Privileged用户具有EXP_FULL_DATABASE和IMP_FULL_DATABASE权限.非特权用户不具有这些权限.
特权用户能够作以下事情:
导出导进其他用户具有的数据库工具.导出导进非基于形式的工具(好比表空间和形式界说等外容).对其他用户启动的Job举行一些操纵.
DataPump怎样会见数据?
间接路径(DirectPath,DP)和内部表(ExternalTables,ET).ET形式下利用ORACLE_DATAPUMP驱动并利用间接
路径API外部数据流格局.Oracle称DataPump会主动选择最快的办法.
文件分派
DataPumpJob办理三品种型的文件:
Dump文件Log文件纪录一个操纵的相干信息SQL文件纪录一个SQL_FILE操纵输入的纪录
指定文件和分外的附件文件
关于导出操纵,你能够指定Dump文件,跟着操纵的举行你发明文件空间有些不敷,你可使用交互形式下的ADD_FILE
命令增加分外的文件.关于导进的操纵.一切的dump文件必需在Job界说的时分指定.Log文件和SQL文件将掩盖存在的
文件.Dump文件从不掩盖已存在的文件.
设定并行度
关于导出和导进,并行度的设定(经由过程PARALLEL参数指定)应当低于大概即是Dump文件的个数.假如文件个数不敷,性
能大概会下降(多线程同时会见一个Dump文件).后面已说起,尺度版本10G并行度只要1,以是,这个参数实践上对企业
版的10G才是无效的.
利用替换变量
在导出和导进操纵中,可使用%U替换变量来婚配文件名字,如许在必定情形下便利了很多.
DataPump中的Export和Import的新的特征
相对旧有的exp/imp,DataPump中的Export和Import有良多新的特征,包含:
1DataPumpJob实行到一半的时分指定最年夜线程数的才能.
2DataPumpjob是完整能从头启动的.
3从长工夫运转的Job分别大概是从头附加上往而不会对Job自己有影响.
4撑持经由过程收集的导出导进操纵.
5Remap_datafile.
6撑持完善粒度工具选择.
7撑持对Job的交互命令行形式监控和交互.
8看待导进的工具的空间评价.
9具有指定命据库版本工具挪动才能.
未完待续
附MT布局形貌
SQL>descSYS_EXPORT_SCHEMA_01
称号是不是为空?范例
--------------------------------------------------------------------
PROCESS_ORDERNUMBER
DUPLICATENUMBER
DUMP_FILEIDNUMBER
DUMP_POSITIONNUMBER
DUMP_LENGTHNUMBER
DUMP_ALLOCATIONNUMBER
COMPLETED_ROWSNUMBER
ERROR_COUNTNUMBER
ELAPSED_TIMENUMBER
OBJECT_TYPE_PATHVARCHAR2(200)
OBJECT_PATH_SEQNONUMBER
OBJECT_TYPEVARCHAR2(30)
IN_PROGRESSCHAR(1)
OBJECT_NAMEVARCHAR2(500)
OBJECT_SCHEMAVARCHAR2(30)
PARTITION_NAMEVARCHAR2(30)
FLAGSNUMBER
COMPLETION_TIMEDATE
OBJECT_TABLESPACEVARCHAR2(30)
SIZE_ESTIMATENUMBER
OBJECT_ROWNUMBER
PROCESSING_STATECHAR(1)
PROCESSING_STATUSCHAR(1)
BASE_OBJECT_TYPEVARCHAR2(30)
BASE_OBJECT_NAMEVARCHAR2(30)
BASE_OBJECT_SCHEMAVARCHAR2(30)
PARALLELIZATIONNUMBER
UNLOAD_METHODNUMBER
GRANULESNUMBER
SCNNUMBER
DOMAIN_INDEXVARCHAR2(30)
DOMAIN_INDEX_SCHEMAVARCHAR2(30)
GRANTORVARCHAR2(30)
NAMEVARCHAR2(30)
VALUE_TVARCHAR2(4000)
VALUE_NNUMBER
IS_DEFAULTNUMBER
FILE_TYPENUMBER
USER_DIRECTORYVARCHAR2(4000)
USER_FILE_NAMEVARCHAR2(4000)
FILE_NAMEVARCHAR2(4000)
EXTEND_SIZENUMBER
FILE_MAX_SIZENUMBER
EXTEND_ACTIVENUMBER
OVERFLOW_TONUMBER
PROCESS_NAMEVARCHAR2(30)
LAST_UPDATEDATE
WORK_ITEMVARCHAR2(30)
NON_TRANSACTIONALCHAR(1)
OBJECT_NUMBERNUMBER
COMPLETED_BYTESNUMBER
TOTAL_BYTESNUMBER
METADATA_IONUMBER
DATA_IONUMBER
CUMULATIVE_TIMENUMBER
OLD_VALUEVARCHAR2(4000)
SEEDNUMBER
LAST_FILENUMBER
USER_NAMEVARCHAR2(30)
OPERATIONVARCHAR2(30)
JOB_MODEVARCHAR2(30)
VERSIONNUMBER
DB_VERSIONVARCHAR2(30)
STATEVARCHAR2(30)
PHASENUMBER
GUIDRAW(16)
START_TIMEDATE
BLOCK_SIZENUMBER
METADATA_BUFFER_SIZENUMBER
DATA_BUFFER_SIZENUMBER
DEGREENUMBER
LANGUAGEVARCHAR2(30)
PLATFORMVARCHAR2(100)
ABORT_STEPNUMBER
INSTANCEVARCHAR2(16)
参考文档
1.Oracle10iDatabaseUtilities
2.DataPumpinOracleDatabase10gFromOTN
原文出处:
<ahref="http://www.dbanotes.net/Oracle/10G-Data-Pump-PartI.htm">http://www.dbanotes.net/Oracle/10G-Data-Pump-PartI.htm</a>
解决方案提供商开始推动DBaaS浪潮之前,他们应该深入了解究竟什么是DBaaS。 |
|