Sometimes You can get ” OGG-15122 No viable tables matched specification” in Goldengate during add trandata operation.
OGG-15122 No viable tables matched specification
Details of error are as follows.
GGSCI (msdbadm02 as GGS_ADMIN19C@MSDBA1) 2> add trandata MSDBA.TEST_TABLE;
2021-02-10 15:12:54 ERROR OGG-15122 No viable tables matched specification MSDBA.TEST_TABLE;
GGSCI (msdbadm02 as GGS_ADMIN19C@MSDBA1) 10>
No viable tables matched specification during Add Trandata operation
If you get this error on Add trandata operation, then check if the related table exists on source or not, you may specify the wrong table name or remove the Semicolon ( ; ) from the add trandata clause as follows.
GGSCI (msdbadm02 as GGS_ADMIN19C@MSDBA1) 10> add trandata MSDBA.TEST_TABLE
2021-02-10 15:14:30 WARNING OGG-06439 No unique key is defined for table REP_GOING_SMS_BTK. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.
2021-02-10 15:14:30 INFO OGG-15130 No key found for table MSDBA.TEST_TABLE. All viable columns will be logged.
2021-02-10 15:14:30 INFO OGG-15132 Logging of supplemental redo data enabled for table MSDBA.TEST_TABLE.
2021-02-10 15:14:30 INFO OGG-15133 TRANDATA for scheduling columns has been added on table MSDBA.TEST_TABLE.
2021-02-10 15:14:31 INFO OGG-15135 TRANDATA for instantiation CSN has been added on table MSDBA.TEST_TABLE.
GGSCI (msdbadm02 as GGS_ADMIN19C@MSDBA1) 11>
Using Semicolon ( ; ) is the main cause of this error in this case. When I don’t use the Semicolon at the end of Add Trandata, problem has been solved.
Select any table to Goldengate User
Or If your case is not like in the first case, then check priviliges of Goldengate user.
Goldengate user should be created as follows, if any priviliges are missing then you should grant it.
Mostly select any table permission is not granted, if this permission is missing, then give this grant as follows.
GRANT SELECT ANY TABLE TO GGS_ADMIN19C;
--- Goldengate User creation and its permission
CREATE USER GGS_ADMIN19C
IDENTIFIED BY gg_123
DEFAULT TABLESPACE TSGOLDENGATE
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
-- 3 Roles for GOLDENGATE
GRANT RESOURCE TO GGS_ADMIN19C;
GRANT CONNECT TO GGS_ADMIN19C;
GRANT SELECT_CATALOG_ROLE TO GGS_ADMIN19C;
ALTER USER GGS_ADMIN19CDEFAULT ROLE ALL;
-- 10 System Privileges for GOLDENGATE
GRANT CREATE SESSION TO GGS_ADMIN19C;
GRANT ALTER SESSION TO GGS_ADMIN19C;
GRANT SELECT ANY DICTIONARY TO GGS_ADMIN19C;
GRANT FLASHBACK ANY TABLE TO GGS_ADMIN19C;
GRANT SELECT ANY TABLE TO GGS_ADMIN19C;
GRANT UNLIMITED TABLESPACE TO GGS_ADMIN19C;
-- 1 Tablespace Quota for GOLDENGATE
ALTER USER GGS_ADMIN19C QUOTA UNLIMITED ON TSGOLDENGATE;
-- 2 Object Privileges for GOLDENGATE
GRANT EXECUTE ON SYS.DBMS_FLASHBACK TO GGS_ADMIN19C;
GRANT FLASHBACK ON SYS.USER_SOURCE TO GGS_ADMIN19C;