{"id":15432,"date":"2020-12-30T13:42:27","date_gmt":"2020-12-30T12:42:27","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/"},"modified":"2020-12-30T13:42:27","modified_gmt":"2020-12-30T12:42:27","slug":"migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/","title":{"rendered":"Migrate Oracle Database 9.2.0.6 to Oracle 19c using GoldenGate"},"content":{"rendered":"<p>When a customer wanted to take the challenge to migrate an oracle database 9.2.0.6 (the prehistory in the Oracle world) to Oracle 19c using Oracle GodenGate, I saw more problems than add value for different reasons:<\/p>\n<ul>\n<li>\u00a0Oracle 9.2.0.6 database is out of support (final 9.2 patch was Oracle 9.2.0.8).<\/li>\n<li>The customer Operating Systems was AIX 7.4 and only Oracle GoldenGate 11.1.1.1.2 for Oracle 9.2 for AIX 5.3 is available on https:\/\/edelivery.oracle.com.<\/li>\n<li>The Patch 13606038: ORACLE GOLDENGATE V11.1.1.0.31 FOR ORACLE 9I is not available for download since we need special support to got it.<\/li>\n<\/ul>\n<p><strong>Oracle GoldenGate database Schema Profile check script<\/strong><\/p>\n<p>The first step is to download from Oracle Support, the Oracle GoldenGate database Schema Profile check script to query the database by schema to identify current configuration and any unsupported data types or types that may need special considerations for Oracle GoldenGate in an oracle environment:<\/p>\n<ul>\n<li>Oracle GoldenGate database Schema Profile check script for Oracle DB (Doc ID 1296168.1) : full-schemaCheckOracle_07072020.sql<\/li>\n<\/ul>\n<p>Even Oracle Support mentions that this script is written for Oracle database version 9i thru 11g, some adaptation must be done for an Oracle 9.2.0.6 database:<\/p>\n<p>First of all, add a parameter to specify schema name as entry :<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">oracle@aixSourceServer-Ora9i: \/opt\/oracle\/software\/goldengate&gt; ls -ltr\n\nvi full-schemaCheckOracle_07072020.sql\n\n--Lazhar Felahi \u2013 10.12.2020 - comment this line\n--spool schemaCheckOracle.&amp;&amp;schema_name.out\n--Lazhar Felahi \u2013 10.12.2020 - comment this line\n--ACCEPT schema_name char prompt 'Enter the Schema Name &gt; '\nvariable b0 varchar2(50)\n--Lazhar Felahi \u2013 10.12.2020 - comment this line\n--exec :b0 := upper('&amp;schema_name');\n--Lazhar Felahi \u2013 10.12.2020 - add this line\nexec :b0 := '&amp;1';\n--Lazhar Felahi \u2013 10.12.2020 - comment this line\n--spool schemaCheckOracle.&amp;&amp;schema_name..out\n--Lazhar Felahi \u2013 10.12.2020 - add this line\nspool schemaCheckOracle.&amp;&amp;1..out\n<\/pre>\n<p>Execute the script for schemas needed:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">oracle@aixSourceServer-Ora9i: \/opt\/oracle\/software\/goldengate&gt;\nsqlplus \/nolog\nSQL*Plus: Release 9.2.0.6.0 - Production on Thu Dec 10 21:19:37 2020\nCopyright (c) 1982, 2002, Oracle Corporation. All rights reserved.\nSQL&gt; start full-schemaCheckOracle_07072020.sql HR\nerror :\nERROR at line 4:\nORA-00904: \"SUPPLEMENTAL_LOG_DATA_ALL\": invalid identifier\nplatform_name\n*\nERROR at line 2:\nORA-00904: \"PLATFORM_NAME\": invalid identifier\n------ Integrated Extract unsupported objects in HR\n\nselect object_name, support_mode from DBA_GOLDENGATE_SUPPORT_MODE WHERE OWNER = :b0 and support_mode = 'NONE'\nERROR at line 1:\nORA-00942: table or view does not exist<\/pre>\n<p>&nbsp;<\/p>\n<p>The above errors can be ignored :<\/p>\n<ul>\n<li class=\"dbiNormal\"><span lang=\"EN-US\">The errors <i>ORA-00904: &#8220;SUPPLEMENTAL_LOG_DATA_ALL&#8221;: invalid identifier <\/i>and <i>ORA-00904: &#8220;PLATFORM_NAME&#8221;: invalid identifier <\/i>can be ignored since this column does not exist into the data dictionary view v$database for the version Oracle 9.2.0.6 database.<\/span><\/li>\n<li class=\"dbiNormal\"><span lang=\"EN-US\">The error <i>ORA-00942: table or view does not exist<\/i> can<i> <\/i>be ignored since the view DBA_GOLDENGATE_SUPPORT_MODE\u00a0 is available starting with Oracle Database 11<span class=\"italic\">g<\/span> Release 2 (11.2.0.4).<\/span><\/li>\n<\/ul>\n<p>Adapt the script and re-execute it, an output file is generated listing different checks and any types unsupported.<\/p>\n<p>For instance, the script lists all tables with no primary key or Unique Index or Tables with NOLOGGING setting.<\/p>\n<p>GoldenGate needs tables with primary key. If no PK exist for one table, GG will take all column to define the unicity.<\/p>\n<p><strong>GOLDENGATE INSTALLATION &#8211; ON SOURCE SERVER<\/strong><\/p>\n<p>Download the zip file corresponding to Oracle GoldenGate 11.1.1.1.2 software from https:\/\/edelivery.oracle.com :<\/p>\n<ul>\n<li>V28955-01.zip Oracle GoldenGate 11.1.1.1.2 for Oracle 9.2 for AIX 5.3 on IBM AIX on POWER Systems (64-bit), 45.5 MB<\/li>\n<\/ul>\n<p>Unzip and untar the file:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">oracle@aixSourceServer-Ora9i: \/opt\/oracle\/software\/goldengate&gt; ls -ltr\ntotal 365456\n-rw-rw-r--    1 oracle   dba       139079680 Oct  5 2011  ggs_AIX_ppc_ora9.2_64bit.tar\n-rw-r--r--    1 oracle   dba          245329 Oct 28 2011  OGG_WinUnix_Rel_Notes_11.1.1.1.2.pdf\n-rw-r--r--    1 oracle   dba           25065 Oct 28 2011  Oracle GoldenGate 11.1.1.1 README.txt\n-rwx------    1 oracle   dba        47749729 Dec 10 13:55 V28955-01.zip\ndrwxr-xr-x    2 oracle   dba            4096 Dec 14 09:35 check_script\noracle@aixSourceServer-Ora9i:\/opt\/oracle\/software\/goldengate&gt;\n\noracle@aixSourceServer-Ora9i:\/opt\/oracle\/product\/gg_11.1.1.1.2&gt; tar -xvf \/opt\/oracle\/software\/goldengate\/ggs_AIX_ppc_ora9.2_64bit.tar\n\u2026\nx marker_setup.sql, 3702 bytes, 8 tape blocks\nx marker_status.sql, 1715 bytes, 4 tape blocks\noracle@aixSourceServer-Ora9i: \/opt\/oracle\/product\/gg_11.1.1.1.2&gt; ls -ltr\ntotal 235344\n-r--r--r-- 1 oracle dba 1476 Oct 15 2010 zlib.txt\n. . .\n-rwxr-xr-x 1 oracle dba 13911955 Oct 5 2011 replicat\n<\/pre>\n<p>Let&#8217;s set the LIBPATH environment variable and call &#8220;ggsci&#8221; utility:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">oracle@aixSourceServer-Ora9i: \/opt\/oracle\/product\/gg_11.1.1.1.2&gt; export LIBPATH=\/opt\/oracle\/product\/gg_11.1.1.1.2\/:$ORACLE_HOME\/lib:\/opt\/oracle\/product\/9.2.0.6\/lib32\/:\/opt\/oracle\/product\/9.2.0.6\/lib\/:$LIBPATH\noracle@aixSourceServer-Ora9i: \/opt\/oracle\/product\/gg_11.1.1.1.2&gt; .\/ggsci\n\nOracle GoldenGate Command Interpreter for Oracle\nVersion 11.1.1.1.2 OGGCORE_11.1.1.1.2_PLATFORMS_111004.2100\nAIX 5L, ppc, 64bit (optimized), Oracle 9.2 on Oct 5 2011 00:37:06\n\nCopyright (C) 1995, 2011, Oracle and\/or its affiliates. All rights reserved.\n\nGGSCI (aixSourceServer-Ora9i) 1&gt; info all\n\nProgram Status Group Lag Time Since Chkpt\n\nMANAGER STOPPED<\/pre>\n<p><strong>GOLDENGATE SETUP &#8211; ON SOURCE SERVER<\/strong><\/p>\n<p>Create the goldengate admin user on source and target database:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">oracle@aixSourceServer-Ora9i:\/home\/oracle\/ [DB2] sqlplus \/ as sysdba\n\nSQL&gt; create tablespace GOLDENGATE datafile '\/u02\/oradata\/DB2\/goldengate.dbf' size 2G ;\n\nSQL&gt; create profile GGADMIN limit password_life_time unlimited ;\n\nSQL&gt; create user GGADMIN identified by \"******\" default tablespace\n     goldengate temporary tablespace temp profile GGADMIN ;\n\nSQL&gt; grant create session, dba to GGADMIN ;\n\nSQL&gt; exec dbms_goldengate_auth.grant_admin_privilege ('GGADMIN') ;\n\nSQL&gt; grant flashback any table to GGADMIN ;<\/pre>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">--create subdirs\nGGSCI (aixSourceServer-Ora9i) 1&gt; create subdirs\n\nCreating subdirectories under current directory \/opt\/oracle\/product\/gg_11.1.1.1.2\n\nParameter files                \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirprm: created\nReport files                   \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirrpt: created\nCheckpoint files               \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirchk: created\nProcess status files           \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirpcs: created\nSQL script files               \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirsql: created\nDatabase definitions files     \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirdef: created\nExtract data files             \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirdat: created\nTemporary files                \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirtmp: created\nVeridata files                 \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirver: created\nVeridata Lock files            \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirver\/lock: created\nVeridata Out-Of-Sync files     \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirver\/oos: created\nVeridata Out-Of-Sync XML files \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirver\/oosxml: created\nVeridata Parameter files       \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirver\/params: created\nVeridata Report files          \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirver\/report: created\nVeridata Status files          \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirver\/status: created\nVeridata Trace files           \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirver\/trace: created\nStdout files                   \/opt\/oracle\/product\/gg_11.1.1.1.2\/dirout: created\n\n--add GGSCHEMA into .\/GLOBALS file in source and target\noracle@ aixSourceServer-Ora9i: \/opt\/oracle\/product\/gg_11.1.1.1.2&gt; .\/ggsci\nGGSCI (aixSourceServer-Ora9i) 3&gt; view param .\/GLOBALS\nGGSCHEMA goldengate\n\n--add PORT into mgr parameter file and start the manager\nGGSCI (aixSourceServer-Ora9i) 1&gt; edit params mgr\n\nPORT 7809\nGGSCI (aixSourceServer-Ora9i) 6&gt; start mgr\nManager started.\nGGSCI (aixSourceServer-Ora9i) 7&gt; info all\nProgram     Status      Group       Lag           Time Since Chkpt\nMANAGER     RUNNING\n\n--Installing the DDL support on the source database : You will be prompted for the name of a schema for the GoldenGate database objects.\nSQL&gt; @marker_setup.sql\n. . .\nScript complete\nSQL&gt; @ddl_setup.sql\n. . .\nSUCCESSFUL installation of DDL Replication software components\nSQL&gt; @role_setup.sql\nRole setup script complete\nSQL&gt; grant ggs_ggsuser_role to goldengate;\nSQL&gt; @ddl_enable.sql\nTrigger altered\n--On both database (source and target), Installing Support for Sequences\nSQL&gt; @sequence.\n. . .\nSUCCESSFUL installation of Oracle Sequence Replication support<\/pre>\n<p>Add the trandata on schemas concerned by the GoldenGate replication:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">oracle@aixSourceServer-Ora9i: \/opt\/oracle\/product\/gg_11.1.1.1.2&gt; .\/ggsci\n\nOracle GoldenGate Command Interpreter for Oracle\nVersion 11.1.1.1.2 OGGCORE_11.1.1.1.2_PLATFORMS_111004.2100\nAIX 5L, ppc, 64bit (optimized), Oracle 9.2 on Oct  5 2011 00:37:06\n\nCopyright (C) 1995, 2011, Oracle and\/or its affiliates. All rights reserved.\n\t\n\n\nGGSCI (aixSourceServer-Ora9i) 1&gt; dblogin userid goldengate\nPassword:\nSuccessfully logged into database.\n\n\nGGSCI (aixSourceServer-Ora9i) 2&gt; add trandata bgh.*\nGGSCI (aixSourceServer-Ora9i) 2&gt; add trandata all_opi.*\n\n2020-12-18 10:46:45  WARNING OGG-00706  Failed to add supplemental log group on table bgh.KLI_J_TEST_HIST due to ORA-02257: maximum number of columns exceeded, SQL ALTER TABLE \"bgh\".\"KLI_J_TEST_HIST\" ADD SUPPLEMENTAL LOG GROUP \"GGS_KLI_J_TEST_HIST_901157\" (\"ENH_N_ID\",\"ENH_N_NOINSCRIPTION\",\"ENH_N_NOCOURS\",\"ENH_C_P1NOTE\",\"ENH_C_P2NOTE\",\"ENH_C_P3NOTE\",\"ENH_C_.\n\n\n2020-12-18 10:46:52  WARNING OGG-00706  Failed to add supplemental log group on table bgh.TABLE_ELEVES_SVG due to ORA-02257: maximum number of columns exceeded, SQL ALTER TABLE \"bgh\".\"TABLE_ELEVES\" ADD SUPPLEMENTAL LOG GROUP \"GGS_TABLE_ELEVES_901320\" (\"NOINSCRIPTION\",\"NOCOURS\",\"P1NOTE\",\"P2NOTE\",\"P3NOTE\",\"P4NOTE\",\"P5NOTE\",\"P6NOTE\",\"P7NOTE\",\"P8NOTE\",\"P1COMPTE\".\n\n2020-12-18 10:46:52  WARNING OGG-00869  No unique key is defined for table TABLENOTE_TMP. All viable columns will be used to represent the key, but may not guarantee uniqueness.  KEYCOLS may be used to define the key.\n\nLogging of supplemental redo data enabled for table all_opi.ZUI_VM_RETUIO_SCOLARITE.\nERROR: OCI Error retrieving bind info for query (status = 100), SQL &lt;SELECT * FROM \"all_opi\".\"EXT_POI_V_RTEWR\"&gt;.\n\n<\/pre>\n<p>The warning OGG-00706 and OGG&#8211;00869 are solved by adding a primary key to the tables concerned.<\/p>\n<p>The OCI error must be investigated by opening an Oracle\u00a0 Service Request.<\/p>\n<p>Add the extract, exttrail and start it :<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">GGSCI (aixSourceServer-Ora9i) 2&gt; add extract EXTRSO, tranlog, begin now\nEXTRACT added.\n\nadd extract EXTRNA, tranlog, begin now\nGGSCI (aixSourceServer-Ora9i) 7&gt; add EXTTRAIL \/opt\/oracle\/goldengate\/data\/DDIP9\/so, EXTRACT EXTRSO\nEXTTRAIL added.\n\nadd EXTTRAIL \/opt\/oracle\/goldengate\/data\/DDIP9\/na, EXTRACT EXTRNA\n\nedit param EXTRSO\nExtract EXTRSO\nuserid goldengate password ******\nExttrail \/opt\/oracle\/goldengate\/data\/DDIP9\/so\nENCRYPTTRAIL AES192\nDDL INCLUDE MAPPED OBJNAME bgh.*\nTable bgh.*;\n\nedit param EXTRNA\nExtract EXTRNA\nuserid goldengate password ******\nExttrail \/opt\/oracle\/goldengate\/data\/DDIP9\/na\nENCRYPTTRAIL AES192\nDDL INCLUDE MAPPED OBJNAME all_opi.*\nTable all_api.*;\n\nstart EXTRSO\n\nSending START request to MANAGER ...\nEXTRACT EXTRSO starting\n\nstart EXTRNA\n\nGGSCI (aixSourceServer-Ora9i) 11&gt; info all\n\nProgram     Status      Group       Lag           Time Since Chkpt\n\nMANAGER     RUNNING\nEXTRACT     RUNNING     EXTRHR      00:00:00      00:00:04\nEXTRACT     RUNNING     EXTRSO      00:08:18      00:00:00\nEXTRACT     RUNNING     PUMPHR      00:00:00      00:00:07<\/pre>\n<p>Check if trail files are created:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">oracle@aixSourceServer-Ora9i: \/opt\/oracle\/product\/gg_11.1.1.1.2&gt; ls -ltr \/opt\/oracle\/goldengate\/data\/DDIP9\/\ntotal 72\n-rw-rw-rw-    1 oracle   dba             960 Dec 16 09:34 hr000000\n-rw-rw-rw-    1 oracle   dba            1021 Dec 16 10:25 hr000001\n-rw-rw-rw-    1 oracle   dba            1021 Dec 16 10:34 hr000002\n-rw-rw-rw-    1 oracle   dba            2679 Dec 16 14:26 hr000003\n-rw-rw-rw-    1 oracle   dba             960 Dec 16 19:54 so000000\n-rw-rw-rw-    1 oracle   dba            1021 Dec 16 19:59 na000000<\/pre>\n<p>Add the PUMP:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">GGSCI (aixSourceServer-Ora9i) 1&gt; add extract PUMPSO,EXTTRAILSOURCE \/opt\/oracle\/goldengate\/data\/DDIP9\/so\nEXTRACT added.\n\nadd extract PUMPNA,EXTTRAILSOURCE \/opt\/oracle\/goldengate\/data\/DDIP9\/na\n\nGGSCI (aixSourceServer-Ora9i) 2&gt; add rmttrail \/data\/oradata\/goldengate\/data\/LGGATE\/so, extract PUMPSO\nRMTTRAIL added.\n\nadd rmttrail \/data\/oradata\/goldengate\/data\/LGGATE\/na, extract PUMPNA\n\nextract PUMPSO\nuserid goldengate password ******\nRMTHOST aixTargetServer-Ora19c, MGRPORT 7810\nRMTTRAIL \/data\/oradata\/goldengate\/data\/LGGATE\/so\nTABLE bgh.*;\n\nextract PUMPNA\nuserid goldengate password ******\nRMTHOST aixTargetServer-Ora19c, MGRPORT 7810\nRMTTRAIL \/data\/oradata\/goldengate\/data\/LGGATE\/na\nTABLE all_api.*;\n\n\nGGSCI (aixSourceServer-Ora9i) 6&gt; start pumpso\n\nSending START request to MANAGER ...\nEXTRACT PUMPSO starting\n\nstart pumpna\n\nGGSCI (aixSourceServer-Ora9i) 26&gt; info all\n\nProgram     Status      Group       Lag           Time Since Chkpt\n\nMANAGER     RUNNING\nEXTRACT     RUNNING     EXTRHR      00:00:00      00:00:07\nEXTRACT     RUNNING     EXTRNA      00:00:00      00:00:08\nEXTRACT     RUNNING     EXTRSO      00:00:00      00:00:05\nEXTRACT     RUNNING     PUMPHR      00:00:00      00:00:03\nEXTRACT     RUNNING     PUMPNA      00:00:00      00:03:42\nEXTRACT     RUNNING     PUMPSO      00:00:00      00:00:00<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>GOLDENGATE INITIAL LOAD<br \/>\n<\/strong><\/p>\n<p>On the source schemas, got the last active transaction and do the export:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">SELECT dbms_flashback.get_system_change_number as current_scn FROM DUAL;\n10228186709471 --Backup this SCN, it will be used later to start the goldengate replicat process on the target server\nnohup  exp \/ file=rg081DDIP9.s0.202012172303.dmp log=rg081DDIP9.s0.202012172303.dmp.log tables=bgh.% flashback_scn=10228186709471 &amp;\nnohup  exp \/ file=rg081DDIP9.nbds_adm.202012172303.dmp log=rg081DDIP9.all_opi.202012172303.dmp.log tables=nbds_adm.% flashback_scn=10228186709471 &amp;<\/pre>\n<p>Copy the dump file on the target and do the import :<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">drop user bgh cascade;\ncreate user bgh identified by \"******\" default tablespace SO temporary tablespace TEMP;\nalter user bgh quota unlimited on S0_D;\nalter user bgh quota unlimited on S0_I;\nalter user bgh quota unlimited on S0_LOB;\nnohup imp \/ file=\/data\/export\/LGGATE\/rg081DDIP9.s0.202012172303.dmp log=so.imp171220202303.log buffer=1000000 fromuser=bgh touser=bgh grants=n statistics=none constraints=n ignore=y &amp;\n\ndrop user all_opi cascade;\ncreate user all_opi identified by \"******\" default tablespace NA temporary tablespace TEMP;\nalter user all_opi quota unlimited on NBDS_D;\nalter user all_opi quota unlimited on NBDS_I;\nalter user all_opi quota unlimited on NBDS_LOB;\nalter user all_opi quota unlimited on system;\nalter user all_opi quota unlimited on na;\nnohup imp \/ file=\/data\/export\/LGGATE\/rg081DDIP9.nbds_adm.202012172303.dmp log=na.imp171220202303.log buffer=1000000 fromuser=all_opi touser=all_opi grants=n statistics=none constraints=n ignore=y &amp;\n<\/pre>\n<p>Since the import is done without the constraints, get all primary key from the source database and create it into target.<\/p>\n<p>Disable all triggers on the target:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">select 'alter trigger '||owner||'.'||trigger_name||' disable;' from dba_triggers where owner = 'NBDS_ADM';<\/pre>\n<p>Check no ref. constraints exist, job_queue_processes parameter equal to 0 and recompile all:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">--checK ref constraints\nSQL&gt; select * from dba_constraints where owner = 'NBDS_ADM' and constraint_type = 'R';\n\nno rows selected\n\nSQL&gt;\n--check job_queue_processes\n\nSQL&gt; sho parameter job\n\nNAME                                 TYPE        VALUE\n------------------------------------ ----------- ------------------------------\njob_queue_processes                  integer     384\nmax_datapump_jobs_per_pdb            string      100\nmax_datapump_parallel_per_job        string      50\nSQL&gt; alter system set job_queue_Processes = 0;\n\nSystem altered.\n\nSQL&gt;\n\n--recompile all\nSQL&gt; start ?\/rdbms\/admin\/utlrp.sql\n\nSession altered.\n. . .<\/pre>\n<p><strong>GOLDENGATE SETUP &#8211; ON TARGET SERVER<\/strong><\/p>\n<p>Install the last version of GoldenGate software for AIX from : https:\/\/www.oracle.com\/middleware\/technologies\/goldengate-downloads.html.<\/p>\n<p>The goldengate installation has nothing special, just read the documentation : https:\/\/docs.oracle.com\/en\/middleware\/goldengate\/core\/19.1\/index.html<\/p>\n<p>Do the standard database setup for goldengate written into above documentation.<\/p>\n<p>Under ggsci, create a wallet :<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">GGSCI (aixTargetServer-Ora19c) 11&gt; create wallet\n\nCreated wallet.\n\nOpened wallet.\n\nGGSCI (aixTargetServer-Ora19c) 12&gt; add credentialstore\n\nCredential store created.\n\nGGSCI (aixTargetServer-Ora19c) 13&gt; alter credentialstore add user goldengate@LGGATE alias goldengate\nPassword:\n\nCredential store altered.\n\nGGSCI (aixTargetServer-Ora19c) 1&gt; dblogin useridalias goldengate\nSuccessfully logged into database.\n\nGGSCI (aixTargetServer-Ora19c as goldengate@LGGATE) 2&gt;<\/pre>\n<p>Add the replicat:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">--add replicat\nGGSCI (aixTargetServer-Ora19c) 5&gt; dblogin useridalias goldengate\nSuccessfully logged into database.\n\nGGSCI (aixTargetServer-Ora19c as goldengate@LGGATE) 8&gt; add replicat REPLSO, exttrail \/data\/oradata\/goldengate\/data\/LGGATE\/so,checkpointtable GOLDENGATE.CHECKPOINT;\nREPLICAT added.\n\n\nGGSCI (aixTargetServer-Ora19c as goldengate@LGGATE) 9&gt; add replicat REPLNA, exttrail \/data\/oradata\/goldengate\/data\/LGGATE\/na,checkpointtable GOLDENGATE.CHECKPOINT;\nREPLICAT added.\n\n\nGGSCI (aixTargetServer-Ora19c as goldengate@LGGATE) 10&gt; info all\n\nProgram     Status      Group       Lag at Chkpt  Time Since Chkpt\n\nMANAGER     RUNNING\nREPLICAT    RUNNING     REPLHR      00:00:00      00:00:09\nREPLICAT    STOPPED     REPLNA      00:00:00      00:00:02\nREPLICAT    STOPPED     REPLSO      00:00:00      00:00:17\n\n\nGGSCI (aixTargetServer-Ora19c as goldengate@LGGATE) 11&gt;\n\n--configure replicat\nReplicat REPLSO\n--DBOPTIONS INTEGRATEDPARAMS (parallelism 6)\nSOURCECHARSET PASSTHRU\nDISCARDFILE \/opt\/oracle\/product\/gg_191004\/dirrpt\/REPLSO_discard.txt, append, megabytes 10\nUSERIDALIAS goldengate\nASSUMETARGETDEFS\nMAP bhg.*,TARGET bgh.*;\n\n\nReplicat REPLNA\n--DBOPTIONS INTEGRATEDPARAMS (parallelism 6)\nSOURCECHARSET PASSTHRU\nDISCARDFILE \/opt\/oracle\/product\/gg_191004\/dirrpt\/REPLNA_discard.txt, append, megabytes 10\nUSERIDALIAS goldengate\nASSUMETARGETDEFS\nMAP all_opi.*,TARGET all_opi.*;\n\n--Start replicat REPLNA\nGGSCI (aixTargetServer-Ora19c as goldengate@LGGATE) 18&gt; start replicat REPLNA, atcsn 10228186709471\n\nSending START request to MANAGER ...\nREPLICAT REPLNA starting\n\n--Start replicat REPLS0\nGGSCI (aixTargetServer-Ora19c as goldengate@LGGATE) 18&gt; start replicat REPLSO, atcsn 10228186709471\n\nSending START request to MANAGER ...\nREPLICAT REPLSO starting\n\nGGSCI (aixTargetServer-Ora19c as goldengate@LGGATE) 19&gt; info all\n\nProgram     Status      Group       Lag at Chkpt  Time Since Chkpt\n\nMANAGER     RUNNING\nREPLICAT    RUNNING     REPLHR      00:00:00      00:00:02\nREPLICAT    RUNNING     REPLNA      00:00:00      00:00:01\nREPLICAT    RUNNING     REPLSO      00:00:00      00:21:10<\/pre>\n<p>Wait unti the lag decrease&#8230;<\/p>\n<p><strong>GOLDENGATE TEST SYNCHRONIZATION<\/strong><\/p>\n<p>Add some activity DML + DDL on the source database and check the synchronization with goldengate &#8220;stats&#8221; commands on both servers:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">GGSCI (aixSourceServer-Ora9i) 5&gt; stats extract EXTRNA, totalsonly *.*\n\nSending STATS request to EXTRACT EXTRNA ...\n\nStart of Statistics at 2020-12-18 16:35:00.\n\nDDL replication statistics (for all trails):\n\n*** Total statistics since extract started     ***\n        Operations                                   0.00\n        Mapped operations                            0.00\n        Unmapped operations                          0.00\n        Other operations                             0.00\n        Excluded operations                          0.00\n\nOutput to \/opt\/oracle\/goldengate\/data\/DDIP9\/na:\n\nCumulative totals for specified table(s):\n\n*** Total statistics since 2020-12-18 10:42:15 ***\n        Total inserts                                8.00\n        Total updates                                1.00\n        Total deletes                               25.00\n        Total discards                               0.00\n        Total operations                            34.00\n\n*** Daily statistics since 2020-12-18 10:42:15 ***\n        Total inserts                                8.00\n        Total updates                                1.00\n        Total deletes                               25.00\n        Total discards                               0.00\n        Total operations                            34.00\n\n*** Hourly statistics since 2020-12-18 16:00:00 ***\n\n        No database operations have been performed.\n\n*** Latest statistics since 2020-12-18 10:42:15 ***\n        Total inserts                                8.00\n        Total updates                                1.00\n        Total deletes                               25.00\n        Total discards                               0.00\n        Total operations                            34.00\n\nEnd of Statistics.\n\nGGSCI (aixSourceServer-Ora9i) 10&gt; stats extract EXTRSO, totalsonly *.*\n\nSending STATS request to EXTRACT EXTRSO ...\n\nStart of Statistics at 2020-12-18 16:36:06.\n\nDDL replication statistics (for all trails):\n\n*** Total statistics since extract started     ***\n        Operations                                   0.00\n        Mapped operations                            0.00\n        Unmapped operations                          0.00\n        Other operations                             0.00\n        Excluded operations                          0.00\n\nOutput to \/opt\/oracle\/goldengate\/data\/DDIP9\/so:\n\nCumulative totals for specified table(s):\n\n*** Total statistics since 2020-12-18 10:42:15 ***\n        Total inserts                              156.00\n        Total updates                                0.00\n        Total deletes                                0.00\n        Total discards                               0.00\n        Total operations                           156.00\n\n*** Daily statistics since 2020-12-18 10:42:15 ***\n        Total inserts                              156.00\n        Total updates                                0.00\n        Total deletes                                0.00\n        Total discards                               0.00\n        Total operations                           156.00\n\n*** Hourly statistics since 2020-12-18 16:00:00 ***\n\n        No database operations have been performed.\n\n*** Latest statistics since 2020-12-18 10:42:15 ***\n        Total inserts                              156.00\n        Total updates                                0.00\n        Total deletes                                0.00\n        Total discards                               0.00\n        Total operations                           156.00\n\nEnd of Statistics.\n\n--On the target server\nGGSCI (aixTargetServer-Ora19c) 5&gt; stats replicat REPLNA, totalsonly *.*\n\nSending STATS request to REPLICAT REPLNA ...\n\nStart of Statistics at 2020-12-18 16:36:45.\n\nDDL replication statistics:\n\n*** Total statistics since replicat started     ***\n        Operations                                         1.00\n        Mapped operations                                  1.00\n        Unmapped operations                                0.00\n        Other operations                                   0.00\n        Excluded operations                                0.00\n        Errors                                             0.00\n        Retried errors                                     0.00\n        Discarded errors                                   0.00\n        Ignored errors                                     0.00\n\nCumulative totals for specified table(s):\n\n*** Total statistics since 2020-12-18 11:42:12 ***\n        Total inserts                                    526.00\n        Total updates                                      1.00\n        Total deletes                                    543.00\n        Total upserts                                      0.00\n        Total discards                                     0.00\n        Total operations                                1070.00\n\n*** Daily statistics since 2020-12-18 11:42:12 ***\n        Total inserts                                    526.00\n        Total updates                                      1.00\n        Total deletes                                    543.00\n        Total upserts                                      0.00\n        Total discards                                     0.00\n        Total operations                                1070.00\n\n*** Hourly statistics since 2020-12-18 16:00:00 ***\n\n        No database operations have been performed.\n\n*** Latest statistics since 2020-12-18 11:42:12 ***\n        Total inserts                                    526.00\n        Total updates                                      1.00\n        Total deletes                                    543.00\n        Total upserts                                      0.00\n        Total discards                                     0.00\n        Total operations                                1070.00\n\nEnd of Statistics.\n\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>If you want to remove your GoldenGate configuration<\/strong><\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">on source :\ndelete trandata hr.*\ndelete trandata bgh.*\ndelete trandata all_opi.*\ndrop user goldengate cascade;\nSQL&gt; @ddl_disable\n\non target :\nSQL&gt; drop user goldengate cascade;\n\nUser dropped.\n\n\nNAME                                 TYPE        VALUE\n------------------------------------ ----------- ------------------------------\nenable_goldengate_replication        boolean     TRUE\nresource_manage_goldengate           boolean     FALSE\nSQL&gt; alter system set enable_goldengate_replication=FALSE scope = both;\n\nSystem altered.\n\nSQL&gt; sho parameter goldengate\n\nNAME                                 TYPE        VALUE\n------------------------------------ ----------- ------------------------------\nenable_goldengate_replication        boolean     FALSE\nresource_manage_goldengate           boolean     FALSE\nSQL&gt;<\/pre>\n<p><strong>Conclusion<\/strong><\/p>\n<ul>\n<li>Synchronize an oracle database 9.2.0.6 to Oracle 19c (Oracle 19.7 in our case) with GoldenGate works !!! Of course some test with more activity as we have in the real life (production database) must be done to evaluate all possible problems.<\/li>\n<li>Oracle does some enhancements to the Oracle GoldenGate software, we don&#8217;t need any parameter to convert the trail file format between different Oracle GoldenGate versions (as we had in the past between GG prior 10g and GG post 10g), the converison is done automatically.<\/li>\n<li>Using GoldenGate to migrate your Oracle 9i database to Oracle 19c must be compared with alternative migration solution :\n<ul>\n<li>Transportable tablespace<\/li>\n<li>Export\/Import or Datapump<\/li>\n<\/ul>\n<\/li>\n<li>The focus must be done on the downtime available for the migration:\n<ul>\n<li>Less Downtime you have, Oracle Export Import, DataPump or Transportable Tablespaces will be better solution.<\/li>\n<li>Near Zero Downtime you have, GoldenGate could be a solution only if the applicative team (architect, project manager, developer) participates since, for instance, tables without primary key will prevent GoldenGate to work, thus, developer must choose column\/s to be candidate to be the PK into source.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>When a customer wanted to take the challenge to migrate an oracle database 9.2.0.6 (the prehistory in the Oracle world) to Oracle 19c using Oracle GodenGate, I saw more problems than add value for different reasons: \u00a0Oracle 9.2.0.6 database is out of support (final 9.2 patch was Oracle 9.2.0.8). The customer Operating Systems was AIX [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197,229,59],"tags":[2058,2013],"type_dbi":[],"class_list":["post-15432","post","type-post","status-publish","format-standard","hentry","category-application-integration-middleware","category-database-administration-monitoring","category-oracle","tag-database-migration","tag-oracle-goldengate"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Migrate Oracle Database 9.2.0.6 to Oracle 19c using GoldenGate - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Migrate Oracle Database 9.2.0.6 to Oracle 19c using GoldenGate\" \/>\n<meta property=\"og:description\" content=\"When a customer wanted to take the challenge to migrate an oracle database 9.2.0.6 (the prehistory in the Oracle world) to Oracle 19c using Oracle GodenGate, I saw more problems than add value for different reasons: \u00a0Oracle 9.2.0.6 database is out of support (final 9.2 patch was Oracle 9.2.0.8). The customer Operating Systems was AIX [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-30T12:42:27+00:00\" \/>\n<meta name=\"author\" content=\"Oracle Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oracle Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"Migrate Oracle Database 9.2.0.6 to Oracle 19c using GoldenGate\",\"datePublished\":\"2020-12-30T12:42:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/\"},\"wordCount\":808,\"commentCount\":1,\"keywords\":[\"database migration\",\"Oracle GoldenGate\"],\"articleSection\":[\"Application integration &amp; Middleware\",\"Database Administration &amp; Monitoring\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/\",\"name\":\"Migrate Oracle Database 9.2.0.6 to Oracle 19c using GoldenGate - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2020-12-30T12:42:27+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Migrate Oracle Database 9.2.0.6 to Oracle 19c using GoldenGate\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\",\"name\":\"Oracle Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"caption\":\"Oracle Team\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/oracle-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Migrate Oracle Database 9.2.0.6 to Oracle 19c using GoldenGate - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/","og_locale":"en_US","og_type":"article","og_title":"Migrate Oracle Database 9.2.0.6 to Oracle 19c using GoldenGate","og_description":"When a customer wanted to take the challenge to migrate an oracle database 9.2.0.6 (the prehistory in the Oracle world) to Oracle 19c using Oracle GodenGate, I saw more problems than add value for different reasons: \u00a0Oracle 9.2.0.6 database is out of support (final 9.2 patch was Oracle 9.2.0.8). The customer Operating Systems was AIX [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/","og_site_name":"dbi Blog","article_published_time":"2020-12-30T12:42:27+00:00","author":"Oracle Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oracle Team","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"Migrate Oracle Database 9.2.0.6 to Oracle 19c using GoldenGate","datePublished":"2020-12-30T12:42:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/"},"wordCount":808,"commentCount":1,"keywords":["database migration","Oracle GoldenGate"],"articleSection":["Application integration &amp; Middleware","Database Administration &amp; Monitoring","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/","url":"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/","name":"Migrate Oracle Database 9.2.0.6 to Oracle 19c using GoldenGate - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2020-12-30T12:42:27+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/migrate-oracle-database-9-2-0-6-to-oracle-19c-using-goldengate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Migrate Oracle Database 9.2.0.6 to Oracle 19c using GoldenGate"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee","name":"Oracle Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","caption":"Oracle Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/oracle-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/15432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=15432"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/15432\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=15432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=15432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=15432"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=15432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}