No SCM tables found on current DSN - HDBSETUP fails
search cancel

No SCM tables found on current DSN - HDBSETUP fails

book

Article ID: 399757

calendar_today

Updated On:

Products

CA Harvest Software Change Manager CA Harvest Software Change Manager - OpenMake Meister

Issue/Introduction

update Harvest v14 to v14.5, Software installation has been done successfully.

DB Repository update with HDBSETUP fails "No SCM tables found on current DSN".

During hserver start, we observe the SELECT FROM HARTABLEINFO fails too: -- RETURN CODE: DB_FAIL
[Oracle][ODBC][Ora]ORA-00942: table or view does not exist

Logging collected from  %CA_SCM_HOME%\log:

Seeing in the HServer log [XXXX]HServer[XXXX].log (XXXX represents date/timestamp of install run)

-- START: 20XX/XX/XX 13:17:09 827  DB Connect#: 0  SINCE LAST SQL: 0 

   SELECT VERSIONINDICATOR 
   FROM HARTABLEINFO 

-- RETURN CODE: DB_FAIL
[Oracle][ODBC][Ora]ORA-00942: table or view does not exist


Seeing in HDBSetup.log

XX/XX/20XX 1:20:02 PM

[Upgrade SCM Repository]
Connected to ORACLE DB as user [Harvest_DBA] 
No SCM tables found on current DSN

Environment

Release:  14.5

CA Harvest SCM

Cause

Ownership issue with regards to backend Oracle DB tables.

Resolution

check if table HARTABLEINFO exists in the given Oracle DB, and if so, who is the owner.  Usually the Harvest database schema should be under another userid - normally the "harvest" user, but the hdbsetup.log suggests that this user is "Harvest_DBA".

Have the local site DBA query the system view "dba_tables" to see what Oracle user owns table "HARTABLEINFO", to confirm which database user is used with Harvest.

You can also run this query as the DB user "Harvest_DBA" or the user identified in the "dba_tables" system view to see if this user can access the given table "HARTABLEINFO":

select *
from all_objects
where object_type in ('TABLE','VIEW')
and object_name = 'HARTABLEINFO';

Given that this is an upgrade activity, the "HARTABLEINFO" table likely exists, but the customer needs to address their assigned Oracle database user credentials and permissions to access the given table and associated DB schema.

Additional Information

The way the Oracle DBMS works is that all the tables for an application are "owned" by a particular Oracle user, and that the "service name" listed in the "tnsnames.ora" file in the $ORACLE_HOME/network/admin folder identifies the hostname, port number, and SID for the Oracle instance where the applications tables are found. 

KB Article 101635 : Understanding hdbsetup configuration and odbc.ini, tnsnames.ora, service names explains this a bit more

For the error message "table or view does not exist", this happens because either the userid for the Oracle schema (set of tables for the Harvest database) is incorrect, and/or the TNS Service Name listed in the "tnsnames.ora" file is pointing to the wrong Oracle instance.  Need to double check with the DBA to confirm that the Oracle userid and TNS Service name being used is pointing to the correct Oracle instance and schema to find the Harvest tables.  If they can login to Oracle with the command "sqlplus <userid>@<tnsservicename>" and execute the following SQL statement successfully, this will verify the correct Oracle userid and TNS Service Name:

select * from hartableinfo;