




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSGRealSync操作管理手册2023/1/14DSGdataInc.目录TOC\o"1-3"\h\z1RealSync工作原理41.1原理概论41.2日志抓取〔DataCapture〕51.3日志分析〔Analyze〕51.4交易合成〔Synthesize〕61.5交易传输71.6数据装载82realsync支持列表102.1首次全同步102.2复制关系维护102.3DML操作复制支持102.4DDL操作复制支持122.5常见的不支持操作及处理方式143各复制端口一览表164软件部署结构说明195发起全同步并启动复制206realsync目录和文件结构说明236.1源端安装目录说明23config目录重点文件说明23scripts目录中的文件说明23bin目录重点文件说明24log目录重点文件说明24rmp目录重点文件说明256.2目标端安装目录说明25scripts目录重点文件说明25bin目录重点文件说明26log目录重点文件说明26rmp目录重点文件说明267realsync日常维护287.1进程检查28数据复制的进程检查287.2如何停止和启动进程29源端进程的停止29源端进程的启动29目标端进程的停止30目标端进程的启动307.3日志监控31源端日志分析监控31目标端装载日志347.4队列累积查看36源端日常是否xf1积压36目标端日常是否xf1积压377.5如何进行重新全同步37停止并清空源端的realsync程序只需执行full_sync_ds.sh37停止并清空目标端的realsync程序秩序执行full_sync_dt.sh40重新启动源端的realsync程序只需执行start_dsg.sh41重新启动目标端的realsync程序只需执行start_dsg_dt.sh42确认全同步已经结束并且进入到实时同步阶段427.6如何修改日志分析间隔457.7维护需要过滤的DDL操作45过滤DDL操作的意义45支持的过滤操作种类457.8日常需要删除的一些文件48检查磁盘阵列的剩余空间48删除源端realsync的文件48删除目标端realsync的文件49RealSync工作原理原理概论RealSync技术是针对数据库提供了基于逻辑的交易复制方式。该方式通过直接捕获源数据库的交易,将数据库的改变逻辑复制到目标系统数据库中,实现源系统和目标系统数据的一致性。如上图所示,RealSync在数据源〔DataSource,简称DS〕端和数据目标端〔DataTarget端,简称DT〕分别安装Agent进程,Source端的Agent进程对ORACLE日志进行监控,发现改变及时对目标数据库进行更新。当应用系统在DataSource端向数据库进行任何操作时时,这些信息都将在RedoLog中保存,RealSyncAgent通过对实时获取的Log日志进行分析,获得本次操作的交易指令和交易数据,然后将这些交易指令和交易数据经过格式转化生成XF1数据格式,并实时通过网络传送到DataTarget系统。DataTarget系统的RealSyncAgent接收数据库包,经过校验码检查,确认正确的数据库包后,调用Oracle函数按照交易的先后顺序在DataTarget系统中执行该交易。日志抓取〔DataCapture〕RealSync对数据的抓取是通过安装在DataSource端的Agent模块定时分析OracleRedoLog来获取DataSource端的交易类型及数据的。RealSyncAgent在判断DataSource端的Oracle系统是否有新的交易产生时是通过定期检查oracle提供的视图中记录的当前SCN号来判断的,这样防止每次检都通过读取log文件来判断否有新的交易产生时造成的系统影响。在确认有新的交易产生时,可以同时获得当前的RedoLog组,以及最新日志在日志文件的最新位置。RealSyncAgent模块根据这些信息将上次抓取时记录的日志位置与本次读取的最新位置之间的Log读取并加以分析。然后将这些数据保存在OnlineLogCache文件中,等待下一步作交易合成处理。RealSync的优势:与其他类似日志复制产品相比,RealSync对日志进行分析,得到交易信息再进行传送;而其他类似产品不对日志作分析,传送全部日志,然后在目标端通过日志作Recover,这样一来,不仅传送数据量大,而且目标端数据库不能翻开。日志分析〔Analyze〕Oracle数据库的所有更改都记录在日志中,其中记录了对数据库中的每一个变化。当我们需要了解数据库中所作的交易时,一个最有效实用而又低本钱的方法就是分析Oracle数据库的日志文件。RealSyncAgent中集成了DSG的优秀日志分析功能,该功能完全不同于oracle提供的Logminer日志分析工具,在性能和功能上都大大提高,主要表达在系统性能的优化上,大幅度提高日志分析的速度,使得对于高并发业务系统的复制成为可能。按照RealSync的日志分析设计目标,每秒能够分析的日志量到达10M/s。RealSync通过对日志的分析,得到该数据库中的每个SQL指令,并将这些SQL指令生成XF1格式的表达方式。XF1格式是DSG公司的专有技术,该技术是DSG公司用来表达SQL指令的方式,该数据格式能够通过DSG的专有转换算法能够直接转换为ORACL的内部数据表达格式,从而在分析和转载时需要最小的转化,提高分析和装载速度,减少资源占用、丰富能够表达的各种数据类型。交易合成〔Synthesize〕通过ORACLEREDOLOG分析的交易指令存在如下的几个特点:〔1〕这些指令是交叉出现的,属于一个交易〔Transaction〕的多条SQL指令是非连续存储的,多个交易的SQL之间是相互穿插的;〔2〕Redolog中记录了所有的commit的交易以及没有commit的交易;所以,为了提高系统的可控制性、保证逻辑完整性、防止数据丧失,最好将复制的最小单位为一个交易〔Transaction〕,而不是以单个SQL指令为复制单位,这样在DataTarget端的交易装载更加容易控制。同时,对于复制的数据而言,只有那些Commit的数据对于DataTarget端系统是有意义的,而对于那些Rollback的数据无需复制到Datatarget系统上。所以RealSync在复制过程中不是复制每个SQL语句,而是对抓取的数据进行交易整合后以交易〔Transaction〕为单位进行复制,同时只复制COMMIT的交易。如上图所示,在OnlineLogCache文件中,包括Commit的交易,没有Commit的交易和Rollback的交易。交易合成模块首先按照交易序号对SOL语句进行划分,每个交易包含多条SOL语句。然后,以交易为单位进行处理,将已经Commit的交易,传至传输处理模块;将未提交的交易保存在本地,一旦通过日志得知保存的未提交交易已提交,立即将该交易发送到传输处理模块;对Rollback的交易作丢弃处理。RealSync的优势:RealSync是以交易为单位进行传输的,而不是以SOL语句为单位进行传输的,更容易保证数据的一致性和完整性。交易传输RealSync技术为了保证数据传输的平安、可靠,在传输处理上作了特殊的处理与支持:〔1〕数据在传输之前首先存入DataSource端的Cache,传输进程〔sender〕从Cache中读取交易数据封装为TCP/IP数据包传送给Datatarget端的vagentd进程。〔2〕在datatarget端,vagentd进程在收到传输的交易数据包后,首先存入Queue,然后由Load进程从Queue中严格按照交易的顺序装载交易信息。如上图所示,负责传输的进程〔sender〕从本地队列中按照先进先出的原那么抓取需要传输的交易,将交易数据封装成一个数据包后通过TCP/IP协议传递给对端系统。在封装的数据包的包头局部描述了包的大小。对端系统在接受到传来的数据包后,首先根据包头描述的包大小进行传输的合法性检查,判断是否传输完整。数据装载在传统的复制技术中,常用的数据装载方式是采用Oracle的SQL接口,通过Insert、Update、Delete等SQL语句实现数据的装载。这种方式在通用性上很好,但关键在于性能问题非常突出。SQL语句的执行需要经过parse、plan、格式转换等过程,造成大量的系统开销。尤其是update和Delte操作的大量Where子句操作需要进行复杂的查询定位任务,从而导致装载性能低下,对处理能力的要求比生产系统的还高。DSGRealSync在设计之初就定位于电信级大数据量系统的应用,因此在装载性能上进行了大幅度的改善,使得装载端的性能和处理能力需求降至最低。在其中DSGRealSync采用了两个关键的技术提高了装载速度:〔1〕采用XF1数据格式的装载;〔2〕采用Rowidmapping的方式实现快速定位;XF1〔DSGExtendFormat〕格式是DSG公司的专有技术,该技术是DSG公司用来表达SQL指令的方式,该数据格式能够通过DSG的专有转换算法能够直接转换为ORACL的内部数据表达格式,从而在分析和转载时需要最小的转化,提高分析和装载速度,减少资源占用、丰富sql语句的表达方式。Oracle数据库系统在设计上提供了4个层次的接口,其中包括User层,SQL层,Transformation层和I/O层。其结构为:USERUSERSQLTransformationI/O在这四层当中,当采用SQL接口进行数据装载时,调用的是User层,而DSGRealSync通过XF1数据格式装载时,调用I/O层直接将数据通过Oracle的最底层函数写入系统中,所以DSGRealSync在装载层上有一定优势;对于交易中的操作,存在着大量的Where子句操作,在采用标准SQL语句执行这些操作时,系统需要首先定位目标记录所在的数据文件的位置信息,这将带来大量的索引查询开销,当并发执行数千条指令时,系统的开销将变得非常庞大。DSGRealSync工具不采用该方式实现装载数据的定位,而是通过ROWMapping的方式实现记录的快速定位:当RealSync从源端Log文件中读取交易数据时,将获得该交易对应记录的所在位置,用rowid表示为rowid_ds;当该交易在目标端装载时,系统不翻译为Where子句,而是去通过保存在目标端的rowmapping表获得对应目标端该记录的所在位置rowid,记录为rowid_dt。从而在目标端装载时通过rowid能够直接定位于该数据需要写入的位置。防止了大量的索引查找时间。每条记录的rowmapping信息是在该记录执行insert操作、sqlloader或首次批量同步时建立起来的。RealSync的优势:DSG扩展格式XF1(DSGExtendFormat)是RealSync产品的一个核心技术,是一种最高效率表示ORACLE记录的数据格式,该格式只需要经过最小的转换过程就能够装载到ORACLE数据库中,并且装载效率非常高。无需标准SQL语句执行的复杂过程加快装载速度对于Update,Delete等带Where子句的交易,可以大幅度提高装载速度realsync支持列表首次全同步〔1〕 指定复制对象•指定需要复制的user•指定需要复制的表•指定哪些表需要复制•指定哪些表不需要复制〔2〕 不停业务的首次全同步〔3〕 指定表的重新全同步复制关系维护〔1〕 添加新表到复制任务〔2〕 删除某些表的复制任务〔3〕 添加新的用户到复制任务〔4〕 删除某个用户的复制任务DML操作复制支持〔1〕 支持的DML操作类型•Insert;•Update;•Delete;〔2〕 支持对TruncateTable操作复制〔3〕 支持DIRECTPATHLOADING在Logging模式下批量装载数据的复制•sqlldrdirect=y•impdp•insertinto/*+APPEND*/〔4〕 提供ROWIDMapping模式的映射关系〔支持Uniquekey和非uniquekey的表的复制〕〔5〕 支持的DATATYPES:•CHAR•DATE•NUMBER•LONGVARCHAR•VARCHAR•VARCHAR2•NCHAR•NVARCHAR2•FLOAT•LONG•LONGRAW•BLOB•CLOB•ROWID〔6〕 支持的Table类型•Tablewithpartitions•Tablewithchained-rows〔7〕 支持Insertall操作insertallwhen1=1thenintots_test_nokeyvalues(id,name,addr,info,sysdate,systimestamp,num)whenid=1000thenintots_testvalues(id+1,name,addr,info,sysdate,systimestamp,num)select*fromts_test;〔8〕 支持Merge操作beginforiin1..1000loopifmod(i,3)=0theninsertintots_testvalues(i,'测试'||i,'中上海','1',sysdate,systimestamp,i/200);endif;endloop;commit;foriin1..1000loopmergeintots_testausingdualbon(a.id=i)whenmatchedthenupdatesetname='测试'||to_char(sysdate,'yyyymmdd')whennotmatchedtheninsertvalues(i,'测试'||i,'中上海','1',sysdate,systimestamp,i/200);endloop;commit;end;DDL操作复制支持〔1〕 系统支持的DDL操作ObjectstypeOperatetype备注tablesCreatetableDroptableTruncatetableAltertable:column_clauses::add_column_clausesmodify_column_clausesdrop_column_clauserename_column_clauseconstraint_clauses::ADDconstraintsMODIFYconstraintsDropconstraintsalter_table_partitioning::add_table_partitiondrop_table_partitiontruncatepartitionindexesCreateAlterDropviewsCreateAlterDropsequencesCreateAlterfunctionsCreateAlterDropproceduresCreateAlterDroppackagesCreatepackageCreatepackagebodyAlterpackageDroppackageDroppackagebodygrantalterdatabaseuserCreateuserAlteruserDropuserroleCreateroleAlterroleDroprolecreatebodydirectoryCreatedirectoryDropdirectoryprofileCreateprofileAlterprofileDropprofiledblinkCreatedblinkAlterdblinkDropdblinkrevoke〔2〕 支持的DDL操作配置可在以上支持的DDL中进行一些DDL是否复制的配置,包括:•databaselevel的DDL过滤,可指定role,user,dblink,profile等database级的操作是否需要同步•USERlevel的DDL过滤:可指定user级下的重要操作是否需要同步,例如可指定所有的droptable等大破坏性的操作都不能被复制。•TABLELEVEL的ddl过滤:可指定某些重要表的TRUNCATETABLE,DROPTABLE等大破坏性操作不被复制。常见的不支持操作及处理方式不支持的对象类型ClusterContextIOTTABLEORGANIZATIONEXTERNALtableNESTEDTABLEXMLTABLEDIRECTORYBITMAPINDEXDomainindexesLibraryType/typebodyUserdefinedtypeBFILE以上对象或者数据类型DSGRealsync暂时没支持,但如果应用中确实用到了这些对象,DSG将承诺马上支持,因为这些对象的数据已经分析到了,只不过是过滤了而已。不支持的database级的常见操作alterdatabaseaddtablespacealterdatabaseadddatafilealtersystem不支持的schema下的对象操作对于nologging的table上执行的如下操作:insert/*+append*/,impdp,sqlldrdirect=y;对于不支持的操作,只需要对这些表或整个schema进行一次全同步就能够把数据全部复制过去。各复制端口一览表生产系统容灾系统复制内容口腔医院复制IP安装路径:/oracle/realsync登录用户名:oracleDbpsdport:60000Vagentdport:60001安装路径:/oracle/realsync登录用户名:oracleVagentdport:60001DSGDSGXXKLOGXXKLOGOUTPBILLOUTPBILLMHISMHISNURSINGNURSINGJJFORMJJFORMPRODUCTKEYPRODUCTKEYCPRCPRBONUSBONUSTOADTOADAPPINFACEAPPINFACEEXAMLABINTFACEEXAMLABINTFACEECONSTATECONSTATLABLABADMINISTRATORADMINISTRATORITF_BALJITF_BALJPHARMACYPHARMACYEQUIPMENTEQUIPMENTINSURANCEINSURANCEINPBILLINPBILLSYSHISSYSHISOUTPADMOUTPADMPACSPACSINQUIREINQUIREPHYEXAMPHYEXAMSURGERYSURGERYBLDBANKBLDBANKINPADMINPADMLOGINLOGINHCMSHCMSACCTACCTORDADMORDADMCOMMCOMMEXAMEXAMTJTJOUTPDOCTOUTPDOCTMEDADMMEDADMINFECTINFECTWIRELESSWIRELESSMEDRECMEDRECINTERFACEINTERFACE本地复制IP:IP:DSGDSGXXKLOGXXKLOGOUTPBILLOUTPBILLMHISMHISNURSINGNURSINGJJFORMJJFORMPRODUCTKEYPRODUCTKEYCPRCPRBONUSBONUSTOADTOADAPPINFACEAPPINFACEEXAMLABINTFACEEXAMLABINTFACEECONSTATECONSTATLABLABADMINISTRATORADMINISTRATORITF_BALJITF_BALJPHARMACYPHARMACYEQUIPMENTEQUIPMENTINSURANCEINSURANCEINPBILLINPBILLSYSHISSYSHISOUTPADMOUTPADMPACSPACSINQUIREINQUIREPHYEXAMPHYEXAMSURGERYSURGERYBLDBANKBLDBANKINPADMINPADMLOGINLOGINHCMSHCMSACCTACCTORDADMORDADMCOMMCOMMEXAMEXAMTJTJOUTPDOCTOUTPDOCTMEDADMMEDADMINFECTINFECTWIRELESSWIRELESSMEDRECMEDRECINTERFACEINTERFACE安装路径:/sharedisk/realsync安装路径:/dsg/realsync登录用户名:oracle登录用户名:oraclevagentdport:50001vagentdport:50001dbpsdport:50000软件部署结构说明如上图所示,RealSync在生产数据库(source)上和备份系统端(target)分别安装Agent进程,Source端的vagent进程对ORACLE日志进行监控,发现改变及时对目标数据库进行更新。当应用系统在Source端向数据库进行任何操作时时,这些信息都将在RedoLog中保存,RealSyncAgent通过对实时获取的Log日志进行分析,获得本次操作的交易指令和交易数据,然后将这些交易指令和交易数据经过格式转化生成XF1数据格式,并由发送进程sender实时通过网络传送到Target系统。Target系统的vagentd进程接收数据库包,经过校验码检查,确认正确的数据库包后,由装载进程loder调用Oracle函数按照交易的先后顺序在Target系统中执行该交易。dbpsd进程为管理控制进程,该进程是在作系统配置和发起全同步时使用的,该进程一般安装在生产系统上。vman程序为配置终端,该终端通过dbpsd进程管理source和target上的vagentd程序。发起全同步并启动复制发起全步的方式就是在bin目录下执行vm文件。源端的全同步[rac2/sharedisk/realsync/bin]$catvmconnect:50000userroot/dbpssetds1-itvl3-statestartsetdt1.1-tgtdb2-xf1y-statestartsetdm1.1-cfg-syncftcqiM6[rac2/sharedisk/realsync/bin]$./vmanvman>@vmsetdm过程的日志信息setdm过程是realsync软件中进行数据的导出和导入过程,该过程分为源端导出过程和目标端装载过程。导出过程的日志在源端的log/log.vagentd文件中,在导出过程中的日志信息如下:Log.vagentd日志内容〔全同步过程中〕$cdlog$tail–flog.vagentd$$r~~~~~~~~~~0.18%13MB(R9:4.44,C1:0.00,W5:0.00,P:4.44,T:0,E:1)TIME:ThuDec1523:14:552023/*开始抽取表,显示百分比〔0.18%〕,已经抽取的大小〔13MB〕,读取速度〔R9:4.44〕,压缩速度〔C1:0.00,写速度〔W5:0.00〕,平均速度〔P:4.44〕,总共耗时〔E:1ms〕*/INFO:CR-POOLinitialized!CR_POOLsize:1000,eliminatealgorithm:1(FIFO)xexpTBCS.SUBS_PRODUCTP_R_20...(PID:26945ReaderID:2)PerformancereportisdisabledDetailPerformancereportisdisabled2023-01-14:23:15:01,0sequencesavetocachegrp#sizeseq#bsznabflgdupTHNext-SCN2023/12/1523:15:01线程、日志大小、seq号、标志位、块大小、下一块、标志位〔8为当前日志〕如果出现以上信息说明全同步过程正常开始。log.s0,log.s1,log.s2,log.s3是全同步过程中目标端的日志执行tail-flog.s0日志不断变化并且无错误提示说明目标端装载正常。$cdlog$tail–flog.s0IPC_KEY=0x630106cdCHECK_MEMLEAKisturnedoffEnteringXF1ToOracleLoader(pid:17379,sem_no:8)......Loader:0.xf12023-01-14:12:16:38:TRUNCATETABLE"ODS"."SUBSCRIBER_1"...[TruncateOK]2023-01-14:12:16:38:0-I0-D0-U2-DDL(0ms)Loader:1.xf1DP:handlersize:0,allocated16384KB,maxrowsonetime10242023-01-14:12:16:38:1-I0-D0-U0-DDL(0ms)Loader:2.xf1MappingTBCS.SUBSCRIBER->ODS.SUBSCRIBER_1ODSSUBSCRIBER_11rows1rowsmapped如何判断全同步过程顺利完成全同步过程的完成分为两个阶段:源端导出过程完成和目标端装载过程完成。源端导出过程完成的标志:源端导出过程都打印在log.vagentd日志中,在该日志的导出完成后会看到如下信息:==========SummaryofDBPSExpressExport============Tables6(36)Rows835752820Extents16272ZipLevel1ToRead4800.00MBRead130176.00MBCRRead0.00MBXF1117434.39MBXF1Zipped33602.50MB(71.39%)Elapsed00:32:59.579(1979.579s)======================================================当看到以上的全同步导出统计信息时,可认为源端的导出已经结束目标端装载过程完成的检查:目标端的装载是有多个队列共同完成的,因此我们需要监测几个队列下都已经完成了。检查一:检查目标端的log.s*日志中已经没有新的任务在执行。检查二:检查目标端的rmp/sync0,sync1,sync2队列中已经没有任何xf1文件。$cdrmp$lssync*sync0:cfg.loadernosync1:cfg.loadernosync2:cfg.loaderno当目标端装载完成全同步的数据后,将自动进入到实时同步阶段,我们可以通过查看目标端的log.r0观察系统是否已经自动进入到了实时同步阶段:$cdlog$tail–flog.r0Loader:1.xf12023-12-16:03:31:41:6-I0-D0-U0-DDL(2086ms)Loader:2.xf12023-12-16:03:31:41:0-I0-D6-U0-DDL(2086ms)Loader:3.xf12023-12-16:03:31:41:0-I6-D0-U0-DDL(2086ms)Loader:4.xf12023-12-16:03:31:41:56-I0-D0-U0-DDL(2086ms)Loader:5.xf12023-12-16:03:31:41:56-I0-D0-U0-DDL(2086ms)Loader:6.xf12023-12-16:03:31:41:56-I0-D0-U0-DDL(2086ms)realsync目录和文件结构说明源端安装目录说明安装完成的目录结构如下:[rac2/sharedisk/realsync]$ls-lrttotal128drwxr-xr-x2dsgoinstall96Dec1521:12indexdrwxr-xr-x2dsgoinstall96Dec1521:12softdrwxr-xr-x2dsgoinstall96Dec1521:12expdrwxr-xr-x2dsgoinstall8192Dec1521:12scriptsdrwxr-xr-x3dsgoinstall96Dec1521:21logdrwxr-xr-x2dsgoinstall8192Dec1521:24vcfsddrwxr-xr-x2dsgoinstall96Dec1521:52configdrwxr-xr-x4dsgoinstall8192Dec1912:00bindrwxr-xr-x3dsgoinstall32768Dec2015:16rmpdrwxr-xr-x3dsgoinstall8192Dec2015:16vcfsa[rac2/sharedisk/realsync]$Scripts目录:所有脚本所在目录$VCFS_HOME:该环境变量一般设为vcfsa,用以保存系统运行状态,如log读取的位置,uncommitted交易、统计信息$XLDR_HOME:该环境变量一般设为rmp,用以保存数据传输之前的缓存队列和传输控制信息bin目录:执行文件所在目录Vcfsd目录:系统配置信息,由dbpsd进程使用config目录重点文件说明mapping.ini:setdm命令中用到的映射关系文件。ddl.ini:对DDL操作过滤进行设置的配置文件。scripts目录中的文件说明start_vagentd:启动realsync进程的脚本。stop_vagentd:停止realsync进程的脚本。clean_vagentd:删除realsync工作过程中的所有的中间状态。注:clean_vagentd脚本只有在必须作重新全同步的时候才能使用,否那么将造成很大的破坏性。check:检查realsync所有启动的进程命令。bin目录重点文件说明bin目录为所有执行文件和vm文件的存放地点vagentd:日志分析程序。sender:数据发送程序。dbpsd:效劳程序。vman:字符菜单管理工具。vm:全同步执行批处理文件。其他命令均为DSG公司的工具程序,是为了检查问题时所使用的工具,用户可不必掌握。log目录重点文件说明log目录存放了所有的进程日志文件:log.vagentd:日志分析过程的log文件。log.sender:发送过程的log文件。log.dbpsd:dbpsd进程的log文件。archivelog目录:该目录下为历史的log.vagentd和log.sender文件,这些文件可随时删除。rmp目录重点文件说明源端rmp目录存放了所有发送的队列信息*.xf1文件:为sender发送的队列文件2.cfg.senderno:sender队列的控制文件目标端安装目录说明[DSG/dsg/realsync]$ls-lrttotal32568drwxr-xr-x2dsgdba96Dec1521:07indexdrwxr-xr-x2dsgdba96Dec1521:07impdrwxr-xr-x2dsgdba96Dec1521:07softdrwxr-xr-x3dsgdba96Dec1523:14vcfsadrwxr-xr-x2dsgdba1024Dec1613:46scriptsdrwxr-xr-x3dsgdba1024Dec1616:44logdrwxr-xr-x2dsgdba96Dec1909:35configdrwxr-xr-x4dsgdba1024Dec1912:01bindrwxr-xr-x9dsgdba1024Dec1918:15rmpdsg@basua1:/dsg/etlplus$Scripts目录:所有脚本所在目录$VCFS_HOME:该环境变量一般设为vcfsa,用以保存系统运行状态,$XLDR_HOME:–数据装载之前的缓存队列和装载控制信息–Rowidmapping文件–源数据库的数据字典文件bin目录:执行文件所在目录scripts目录重点文件说明start_vagentd:启动realsync进程的脚本。stop_vagentd:停止realsync进程的脚本。clean_vagentd:删除realsync工作过程中的所有的中间状态。注:clean_vagentd脚本只有在必须作重新全同步的时候才能使用,否那么将造成很大的破坏性。check:检查realsync所有启动的进程命令。bin目录重点文件说明bin目录为所有执行文件和vm文件的存放地点vagentd:日志分析程序。loader:装载进程。其他命令均为DSG公司的工具程序,是为了检查问题时所使用的工具,用户可不必掌握。log目录重点文件说明log目录存放了所有的进程日志文件:log.vagentd:数据接收过程的log文件。log.s0、log.s1、log.s2、log.s3:全同步过程中的装载日志文件。log.r0:增量复制过程中的装载日志文件。archivelog目录:该目录下为历史的log.r0,这些文件可随时删除。rmp目录重点文件说明目标端的rmp目录存放了非常重要的队列信息和rowidmapping信息。[DSG/dsg/realsync/rmp]$ls-lrttotal428830drwxr-xr-x2dsgdba96Dec1523:14verifydrwxr-xr-x2dsgdba96Dec1523:14rowiddrwxr-x2dsgdba115712Dec1601:49sync1drwxr-x2dsgdba131072Dec1604:22sync2-rw-r--r--1dsgdba711558Dec1613:38err_dump-rw-r--r--1dsgdba2Dec1613:38idx.sync-rw-r--r--1dsgdba1386Dec1613:41cfg.objs-rw-r--r--1dsgdba6Dec1616:44cfg.syncdrwxrwxrwx8dsgdba1024Dec1616:44imp_crmdb11drwxr-x2dsgdba126976Dec1616:44sync0-rw-r--r--1dsgdba2Dec1616:44run.flag-rw-r--r--1dsgdba216182641Dec2015:23tgt_total.txtdrwxr-x2dsgdba326656Dec2015:23real0dsg@basua1:/dsg/etlplus/rmp$real0/*.xf1文件:为实时装载过程的队列文件sync0,sync1,sync2:分别为3个全同步装载队列中的队列文件imp_*目录:[DSG/dsg/realsync/rmp/imp_orcl]$ls-lrttotal92drwxr-x2dsgdba3072Dec1612:15o00010a19-rw1dsgdba13126Dec1613:41s_dict.bak-rw1dsgdba13126Dec1613:42s_dict.xf1drwxr-x2dsgdba4096Dec1616:44o0001099cdrwxr-x2dsgdba4096Dec1709:09o00010a06drwxr-x2dsgdba3072Dec1714:24o00010996drwxr-x2dsgdba3072Dec1915:58o00076468drwxr-x2dsgdba3072Dec1916:16o0000edb6[DSG/dsg/realsync/rmp/imp_orcl]$其中:o00010a19目录为表的rowidmapping映射关系s_dict.xf1:为源端的数据字典realsync日常维护进程检查数据复制的进程检查源端的进程检查:[rac2/sharedisk/realsync/scripts]$./checkoracle1574910Jan13?00:00:00/sharedisk/realsync/bin/dbpsd50000oracle1574810Jan13?00:00:00/sharedisk/realsync/bin/vagentd50001oraclan13?00:13:45/sharedisk/realsync/bin/vagentd50001oracle1578710Jan13?00:00:00/sharedisk/realsync/bin/sender-tseq1oraclan13?00:00:06/sharedisk/realsync/bin/sender-tseq1oracle1574210Jan13?00:00:00/sharedisk/realsync/bin/arch_vagentd_realsync/sharedisk/realsync/log/log.vagentd/sharedisk/realsync/log/archivelog/log.vagentd_archlog43200oracle1574610Jan13?00:00:00/sharedisk/realsync/bin/arch_vagentd_realsync/sharedisk/realsync/log/log.sender/sharedisk/realsync/log/archivelog/log.sender_archlog43200[rac2/sharedisk/realsync/scripts]$以上进程中,必须保证2个vagentd,2个sender和1个dbpsd进程的正常运行;目标端的进程检查:[DSG/dsg/realsync/scripts]$./checkoracle202331008:43pts/200:00:00/dsg/realsync/bin/vagentd50001oracle2023420233008:43pts/200:00:01/dsg/realsync/bin/vagentd50001oracle202391008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno11oracle202301008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno31oracle202311008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno21oracle202321008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno01oracle2023320239008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno11oracle2023420230008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno31oracle2023520231008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno21oracle2023620232008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno01oracle202371008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno41oracle2023120237008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno41oracle202331008:43pts/200:00:00/dsg/realsync/bin/loader-r-qno01oracle2023420233008:43pts/200:00:43/dsg/realsync/bin/loader-r-qno01oracle202351008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno51oracle2023820235008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno51oracle202371008:43?00:00:00/dsg/realsync/bin/arch_vagentd_realsync/dsg/realsync/log/log.r0/dsg/realsync/log/archivelog/log.r0_archlog43200[DSG/dsg/realsync/scripts]$以上进程中,实时同步过程必须保证vagentd,loader-r进程的正常运行;全同步过程中必须保证vagentd,loader-s进程的正常运行如何停止和启动进程源端进程的停止[rac2/sharedisk/realsync/scripts]$stop_vagentd[rac2/sharedisk/realsync/scripts]$check源端进程的启动[rac2/sharedisk/realsync/scripts]$check[rac2/sharedisk/realsync/scripts]$start_vagentd[rac2/sharedisk/realsync/scripts]$./checkoracle1574910Jan13?00:00:00/sharedisk/realsync/bin/dbpsd50000oracle1574810Jan13?00:00:00/sharedisk/realsync/bin/vagentd50001oraclan13?00:13:45/sharedisk/realsync/bin/vagentd50001oracle1578710Jan13?00:00:00/sharedisk/realsync/bin/sender-tseq1oraclan13?00:00:06/sharedisk/realsync/bin/sender-tseq1oracle1574210Jan13?00:00:00/sharedisk/realsync/bin/arch_vagentd_realsync/sharedisk/realsync/log/log.vagentd/sharedisk/realsync/log/archivelog/log.vagentd_archlog43200oracle1574610Jan13?00:00:00/sharedisk/realsync/bin/arch_vagentd_realsync/sharedisk/realsync/log/log.sender/sharedisk/realsync/log/archivelog/log.sender_archlog43200[rac2/sharedisk/realsync/scripts]$以上进程中,必须保证vagentd,sender和dbpsd进程的正常运行;目标端进程的停止[DSG/dsg/realsync/scripts]$stop_vagentd[DSG/dsg/realsync/scripts]$check目标端进程的启动[DSG/dsg/realsync/scripts]$check[DSG/dsg/realsync/scripts]$start_vagentd[DSG/dsg/realsync/scripts]$./checkoracle202331008:43pts/200:00:00/dsg/realsync/bin/vagentd50001oracle2023420233008:43pts/200:00:01/dsg/realsync/bin/vagentd50001oracle202391008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno11oracle202301008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno31oracle202311008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno21oracle202321008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno01oracle2023320239008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno11oracle2023420230008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno31oracle2023520231008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno21oracle2023620232008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno01oracle202371008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno41oracle2023120237008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno41oracle202331008:43pts/200:00:00/dsg/realsync/bin/loader-r-qno01oracle2023420233008:43pts/200:00:43/dsg/realsync/bin/loader-r-qno01oracle202351008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno51oracle2023820235008:43pts/200:00:00/dsg/realsync/bin/loader-s-qno51oracle202371008:43?00:00:00/dsg/realsync/bin/arch_vagentd_realsync/dsg/realsync/log/log.r0/dsg/realsync/log/archivelog/log.r0_archlog43200[DSG/dsg/realsync/scripts]$日志监控源端日志分析监控1〕查看源端rmp目录下的cfg.finishseq文件,可以查到源端已经分析完的数据库日志文件。第一列表示主机节点,第二列表示已经分析完的数据库日志文件号。[rac2/sharedisk/realsync/rmp]$catcfg.finishseq#ThreadSEQ24881197[rac2/sharedisk/realsync/rmp]$2〕查看源端log目录下的log.vagentd文件,可以查看源端分析到什么时间的交易。如下的日志:grp#sizeseq#bsznabflgdupTHNext-SCN2023/12/2015:37:22THREAD1of2:SCN_MAX:0xb4b10d4.02680001Finish-0THREAD2of2:SCN_MAX:0xb4b10d3.f4770001Finish-0THREAD-2SCN_MAX:0xb4b10d3f4770001ISMinSCN(mini=1).2023-01-12:15:37:22:processingrba15934.2554159.0(ckp:15934.2558866.x)...2023-01-12:15:37:22:processedreturnedonrba15934.2558866.0(ckp:15934.2558866.x)SCN0xb4b10d4.2f1e0001in2023-01-12:15:37:21(U:9:14056,C:19:11339)4-I0-D6-U0-DDL~~红色时间表示源端数据库交易操作时间蓝色时间表示源端分析此交易的时间两者相减可以得出源端分析滞后的时间3〕查看源端vcfsa目录下的src_total.txt文件,可以知道源端分析出交易的具体信息。如下的日志:[rac2/sharedisk/realsync/vcfsa]$tail-5src_total.txt2023-01-14:11:41:05LEN:1620-I0-D3-U0-DDL2023-01-14:11:41:08LEN:5050-I0-D9-U0-DDL2023-01-14:11:41:11LEN:10126-I0-D0-U0-DDL2023-01-14:11:41:11LEN:3532-I1-D1-U0-DDL2023-01-14:11:41:14LEN:1550-I0-D3-U0-DDL[rac2/sharedisk/realsync/vcfsa]$源端vagentd进程日志查看:〔这里以本地的当前数据同步为例〕[rac2/sharedisk/realsync/log]$morelog.vagentdgrp#sizeseq#bsznabflgdupTHNext-SCN2023/01/1410:59:4081024004885THREAD1of2:SCN_MAX:0x4262.e7990001Finish-0THREAD2of2:SCN_MAX:0x4262.e7b00001Finish-0THREAD-1SCN_MAX:0x4262e7990001ISMinSCN(mini=0).2023-01-14:10:59:40:processingrba197.69622.0(ckp:197.69642.x)...2023-01-14:10:59:40:processedreturnedonrba197.69642.0(ckp:197.69642.x)SCN0x4262.e8080001in2023-1-14:10:59:36(U:0:0,C:9:3503)8-I0-D0-U0-DDL~~THREAD1of2:SCN_MAX:0x4262.e8080001Finish-1THREAD2of2:SCN_MAX:0x4262.e7b00001Finish-0THREAD-2SCN_MAX:0x4262e7b00001ISMinSCN(mini=1).2023
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 本地生活服务O2O电商平台创新创业项目商业计划书
- 智能宠物喂食器创新创业项目商业计划书
- 幼儿园小班保育工作计划书
- 法律区块链文档加密服务创新创业项目商业计划书
- 苏教版六年级科学下册线上教学计划
- 食品加工成品保护机构职责
- 贵州省黔西南布依族苗族自治州2024-2025学年高二下学期期末学业质量监测历史试题(解析版)
- 疼痛管理中的护理诊断及对策措施
- 蒸汽管道压力试验与泄漏检测方案
- 工厂车间四害消杀计划
- 《低能耗建筑多排孔自保温砌块墙体体系应用技术规程》
- 有限空间监理实施细则
- 【五年级】语文上册课课练
- 防御台风复盘工作情况报告
- 拼音卡片(四线三格)
- 省级临床重点专科建设项目神经内科重点专科建设实施方案
- 一年级幼小衔接开学第一课系列:《会问好》教学课件
- 1.2 规划初中生活(课件)-2024-2025学年七年级道德与法治上册 (统编版2024)
- 2021年销售货款回收管理制度范本
- DB11-T+2260-2024中成药单位产品能源消耗限额
- NB-T+10131-2019水电工程水库区工程地质勘察规程
评论
0/150
提交评论