OGG测试:无法启动ext进程,报错OGG-00446


报错日志【截取重要部分】

2016-10-2816:51:40ERROROGG-00446Missingfilenameopeningcheckpointfile.2016-10-2816:51:40ERROROGG-01668PROCESSABENDING.

日志意思很明显:在打开checkpoint file 时缺少文件名

查看参数:

oracle@a-test30dirprm]$moreext1.prmUserIdogg,PasswordoggExtTrail./dirdat/eoGetTruncatesTranLogOptionsExcludeUserogg--DDLIncludeAllDDL&INCLUDEMAPPEDOBJTYPE'table'&INCLUDEMAPPEDOBJTYPE'index'&EXCLUDEOPTYPECOMMENTDDLOptionsAddTranDataRetryopRetrydelay10Maxretries10TableTMP.test1;TableTMP.test2;TableTMP.test3[oracle@a-test30dirprm]$morepump1.prmExtractpump1PassThruRmtHost192.168.10.61,MgrPort7809RmtTrail./dirdat/goTableTMP.test1;TableTMP.test2;TableTMP.test3;

发现ext1.prm没有文件头名

加上Extract ext1

GGSCI(a-test30asogg@qatest30)27>viewparamsext1Extractext1UserIdogg,PasswordoggExtTrail./dirdat/eoGetTruncatesTranLogOptionsExcludeUserogg--DDLIncludeAllDDL&INCLUDEMAPPEDOBJTYPE'table'&INCLUDEMAPPEDOBJTYPE'index'&EXCLUDEOPTYPECOMMENTDDLOptionsAddTranDataRetryopRetrydelay10Maxretries10TableTMP.test1;TableTMP.test2;TableTMP.test3;

再去启动又继续报错OGG-00529

016-10-2817:02:15ERROROGG-00529DDLReplicationisenabledbuttablegoldengate.GGS_DDL_HISTisnotfound.PleasecheckDDLinstallationinthedatabase.2016-10-2817:02:15ERROROGG-01668PROCESSABENDING.

分析:

查阅各种资料分析可能原因

根据日志可以看出DDL复制操作已经打开,但没有找到安装复制DDL执行脚本产生的表GGS.GGS_DDL_HIST导致的故障,会不会是因为安装复制DDL是使用用户ogg,执行脚本后会在该用户产生跟踪goldengate运行的表,所以要实现支持DDL操作,在参数文件中登录数据库必须使用GGDLL和对应的密码登录。

【针对rac多节点:USERID ogg@qatest30,PASSWORD ogg】

实际原因:

原因是配置源端mgr参数文件时用的是用户名和密码是ogg,且配置支持DDL复制时输入的用户名也是ogg。但目标端mgr参数文件中配置的用户名密码是goldengate,源端目标端不匹配,找不到验证信息。


解决方法:

卸载ogg,并使支持DDL功能失效

运行脚本即可

注意:一定要在ogg软件安装目录下登陆数据库,运行脚本,否则是打不开文件的~~

SQL>@ddl_disable.sqlSP2-0310:无法打开文件"ddl_disable.sql"[oracle@a-test30softogg1]$!sqlsqlplus/assysdbaSQL*Plus:Release11.2.0.1.0Productionon星期二11月111:35:042016Copyright(c)1982,2009,Oracle.Allrightsreserved.连接到:OracleDatabase11gEnterpriseEditionRelease11.2.0.1.0-64bitProductionWiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptionsSQL>@ddl_disable.sql触发器已更改SQL>@ddl_remove.sqlDDLreplicationremovalscript.WARNING:thisscriptremovesallDDLreplicationobjectsanddata.YouwillbepromptedforthenameofaschemafortheOracleGoldenGatedatabaseobjects.NOTE:Theschemamustbecreatedpriortorunningthisscript.EnterOracleGoldenGateschemaname:oggWorking,pleasewait...Spoolingtofileddl_remove_spool.txtScriptcomplete.SQL>SQL>@marker_remove.sqlMarkerremovalscript.WARNING:thisscriptremovesallmarkerobjectsanddata.YouwillbepromptedforthenameofaschemafortheOracleGoldenGatedatabaseobjects.NOTE:Theschemamustbecreatedpriortorunningthisscript.EnterOracleGoldenGateschemaname:oggPL/SQL过程已成功完成。序列已删除。表已删除。Scriptcomplete.

重新安装:

[oracle@a-test30softogg1]$!sqlsqlplus/assysdbaSQL*Plus:Release11.2.0.1.0Productionon星期二11月114:44:532016Copyright(c)1982,2009,Oracle.Allrightsreserved.连接到:OracleDatabase11gEnterpriseEditionRelease11.2.0.1.0-64bitProductionWiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptionsSQL>@marker_setup.sqlMarkersetupscriptYouwillbepromptedforthenameofaschemafortheOracleGoldenGatedatabaseobjects.NOTE:Theschemamustbecreatedpriortorunningthisscript.NOTE:StopallDDLreplicationbeforestartingthisinstallation.EnterOracleGoldenGateschemaname:goldengateMarkersetuptablescriptcomplete,runningverificationscript...PleaseenterthenameofaschemafortheGoldenGatedatabaseobjects:SettingschemanametoGOLDENGATEMARKERTABLE-------------------------------OKMARKERSEQUENCE-------------------------------OKScriptcomplete.SQL>@ddl_setup.sqlOracleGoldenGateDDLReplicationsetupscriptVerifyingthatcurrentuserhasprivilegestoinstallDDLReplication...YouwillbepromptedforthenameofaschemafortheOracleGoldenGatedatabaseobjects.NOTE:ForanOracle10gsource,thesystemrecyclebinmustbedisabled.ForOracle11gandlater,itcanbeenabled.NOTE:Theschemamustbecreatedpriortorunningthisscript.NOTE:StopallDDLreplicationbeforestartingthisinstallation.EnterOracleGoldenGateschemaname:goldengateWorking,pleasewait...Spoolingtofileddl_setup_spool.txtCheckingforsessionsthatareholdinglocksonOracleGoldenGatemetadatatables...Checkcomplete.WARNING:TablespaceOGGdoesnothaveAUTOEXTENDenabled.declare*第1行出现错误:ORA-20783:ORA-20783:OracleGoldenGateDDLReplicationsetup:***PleasemoveGOLDENGATEtoitsowntablespaceORA-06512:在line34从OracleDatabase11gEnterpriseEditionRelease11.2.0.1.0-64bitProductionWiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions断开报错说需要将goldengate迁移到自己的表空间上改就是了:[oracle@a-test30softogg1]$sqlplus/assysdbaSQL*Plus:Release11.2.0.1.0Productionon星期二11月115:57:122016Copyright(c)1982,2009,Oracle.Allrightsreserved.连接到:OracleDatabase11gEnterpriseEditionRelease11.2.0.1.0-64bitProductionWiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptionsSQL>SQL>createtablespacegoldengatedatafile'/oradata01/qatest30/goldengate_data_01.dbf'size30gautoextendoff;表空间已创建。SQL>alteruseroggdefaulttablespacegoldengate;用户已更改。SQL>@ddl_setup.sqlOracleGoldenGateDDLReplicationsetupscriptVerifyingthatcurrentuserhasprivilegestoinstallDDLReplication...YouwillbepromptedforthenameofaschemafortheOracleGoldenGatedatabaseobjects.NOTE:ForanOracle10gsource,thesystemrecyclebinmustbedisabled.ForOracle11gandlater,itcanbeenabled.NOTE:Theschemamustbecreatedpriortorunningthisscript.NOTE:StopallDDLreplicationbeforestartingthisinstallation.EnterOracleGoldenGateschemaname:goldengateWorking,pleasewait...Spoolingtofileddl_setup_spool.txtCheckingforsessionsthatareholdinglocksonOracleGoldenGatemetadatatables...Checkcomplete.WARNING:TablespaceOGGdoesnothaveAUTOEXTENDenabled.UsingGOLDENGATEasaOracleGoldenGateschemaname.Working,pleasewait...DDLreplicationsetupscriptcomplete,runningverificationscript...PleaseenterthenameofaschemafortheGoldenGatedatabaseobjects:SettingschemanametoGOLDENGATECLEAR_TRACESTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsCREATE_TRACESTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsTRACE_PUT_LINESTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsINITIAL_SETUPSTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsDDLVERSIONSPECIFICPACKAGESTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsDDLREPLICATIONPACKAGESTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsDDLREPLICATIONPACKAGEBODYSTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsDDLIGNORETABLE-----------------------------------OKDDLIGNORELOGTABLE-----------------------------------OKDDLAUXPACKAGESTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsDDLAUXPACKAGEBODYSTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsSYS.DDLCTXINFOPACKAGESTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsSYS.DDLCTXINFOPACKAGEBODYSTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsDDLHISTORYTABLE-----------------------------------OKDDLHISTORYTABLE(1)-----------------------------------OKDDLDUMPTABLES-----------------------------------OKDDLDUMPCOLUMNS-----------------------------------OKDDLDUMPLOGGROUPS-----------------------------------OKDDLDUMPPARTITIONS-----------------------------------OKDDLDUMPPRIMARYKEYS-----------------------------------OKDDLSEQUENCE-----------------------------------OKGGS_TEMP_COLS-----------------------------------OKGGS_TEMP_UK-----------------------------------OKDDLTRIGGERCODESTATUS:Line/posError-------------------------------------------------------------------------------------NoerrorsNoerrorsDDLTRIGGERINSTALLSTATUS-----------------------------------OKDDLTRIGGERRUNNINGSTATUS----------------------------------------------------------------------ENABLEDSTAYMETADATAINTRIGGER----------------------------------------------------------------------OFFDDLTRIGGERSQLTRACING----------------------------------------------------------------------0DDLTRIGGERTRACELEVEL----------------------------------------------------------------------0LOCATIONOFDDLTRACEFILE------------------------------------------------------------------------------------------------------------------------/oracle/diag/rdbms/qatest30/qatest30/trace/ggs_ddl_trace.logAnalyzinginstallationstatus...VERSIONOFDDLREPLICATION------------------------------------------------------------------------------------------------------------------------OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1STATUSOFDDLREPLICATION------------------------------------------------------------------------------------------------------------------------SUCCESSFULinstallationofDDLReplicationsoftwarecomponentsScriptcomplete.SQL>SQL>@role_setup.sqlGGSRolesetupscriptThisscriptwilldropandrecreatetheroleGGS_GGSUSER_ROLETouseadifferentrolename,quitthisscriptandthenedittheparams.sqlscripttochangethegg_roleparametertothepreferredname.(Donotrunthescript.)YouwillbepromptedforthenameofaschemafortheGoldenGatedatabaseobjects.NOTE:Theschemamustbecreatedpriortorunningthisscript.NOTE:StopallDDLreplicationbeforestartingthisinstallation.EnterGoldenGateschemaname:goldengate已写入filerole_setup_set.txtPL/SQL过程已成功完成。RolesetupscriptcompleteGrantthisroletoeachuserassignedtotheExtract,GGSCI,andManagerprocesses,byusingthefollowingSQLcommand:GRANTGGS_GGSUSER_ROLETO<loggedUser>where<loggedUser>istheuserassignedtotheGoldenGateprocesses.SQL>GRANTGGS_GGSUSER_ROLEtogoldengate;授权成功。SQL>@ddl_enable.sql触发器已更改

可以了,再去启动,报错OGG-00014

2016-11-0117:26:46ERROROGG-00014Unrecognizedparameter:chema.Parametercouldbemisspelledorunsupported.2016-11-0117:26:46ERROROGG-01668PROCESSABENDING.2016-11-0117:26:46WARNINGOGG-00543Unexpectedthreadinglibraryfailure.Errorcode16(Deviceorresourcebusy).

报错说不能识别参数,chema,怀疑是./globals参数有问题

GGSCI(a-test30asgoldengate@qatest30)10>viewParams./GLOBALSchemagoldengateCheckpointTablegoldengate.checkpointUnlockedTrailFiles

果然写错了,chema前面少东西,真是粗心。。。

重新编辑:

GGSCI(a-test30asgoldengate@qatest30)12>viewparams./GLOBALSGGSchemagoldengateCheckpointTablegoldengate.checkpointUnlockedTrailFiles

编辑完后需要删除checkpoint table再重新添加

GGSCI(a-test30)5>DbLoginUserIdgoldengate,PasswordgoldengateSuccessfullyloggedintodatabase.GGSCI(a-test30asgoldengate@qatest30)6>AddCheckpointTableNocheckpointtablespecified.UsingGLOBALSspecification(goldengate.checkpoint)...ERROR:Failedcreatingcheckpointtablegoldengate.checkpoint.OCIErrorORA-00955:鍚嶇О宸茬敱鐜版湁瀵硅薄浣跨敤(status=955),SQL<CREATETABLEgoldengate.checkpoint(group_nameVARCHAR2(8)NOTNULL,group_keyNUMBER(19)NOTNULL,seqnoNUMBER(10),rbaNUMBER(19)NOTNULL,audit_tsVARCHAR2(29),create_tsDATENOTNULL,last_update_tsDATENOTNULL,current_dirVARCHAR2(255)NOTNULL,log_bsnVARCHAR2(128),log_csnVARCHAR2(128),log_xidVARCHAR2(128),log_cmplt_csnVARCHAR2(128),log_cmplt_xidsVARCHAR2(2000),versionNUMBER(3),PRIMARYKEY(group_name,group_key))PCTFREE60>.GGSCI(a-test30asgoldengate@qatest30)7>deleteCheckpointTableNocheckpointtablespecified.UsingGLOBALSspecification(goldengate.checkpoint)...Thischeckpointtablemayberequiredforotherinstallations.Areyousureyouwanttodeletethischeckpointtable?yesSuccessfullydeletedcheckpointtablegoldengate.checkpoint.GGSCI(a-test30asgoldengate@qatest30)8>exit[oracle@a-test30softogg1]$./ggsciOracleGoldenGateCommandInterpreterforOracleVersion12.1.2.1.0OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1_FBOLinux,x64,64bit(optimized),Oracle11gonAug7201409:14:25OperatingsystemcharactersetidentifiedasUTF-8.Copyright(C)1995,2014,Oracleand/oritsaffiliates.Allrightsreserved.GGSCI(a-test30)1>GGSCI(a-test30)1>DbLoginUserIdgoldengate,PasswordgoldengateSuccessfullyloggedintodatabase.GGSCI(a-test30asgoldengate@qatest30)2>AddCheckpointTableNocheckpointtablespecified.UsingGLOBALSspecification(goldengate.checkpoint)...Successfullycreatedcheckpointtablegoldengate.checkpoint.

添加完成后一定要退出重新进来

启动进程,终于可以了

GGSCI(a-test30asgoldengate@qatest30)10>infoallProgramStatusGroupLagatChkptTimeSinceChkptMANAGERRUNNINGEXTRACTRUNNINGEXT100:42:4200:00:09EXTRACTRUNNINGPUMP100:00:0000:42:34

总结:复制粘贴之后一定要再确认一遍没有问题,出现报错可能都是因为一些基本参数没有配置正确。