R12.2.x ADOP : [ERROR] ETCC not run in the database node DBHOSTNAME

Environment Information:

Two nodes - 1 DB and 1 Application
OS: Linux x86-64
Application Version: R12.2.3 with AD and TXK Delta 7
DB: 11.2.0.3 (I will be upgrading this to 12c soon)

Issue: After applying the latest AD and TXK patches, while performing the cleanup, I ran into issues with adop.

$ adop phase=cleanup

Enter the APPS password:
Enter the SYSTEM password:
Enter the WLSADMIN password:

..

..

..


Validating system setup.
    Node registry is valid.
    [ERROR]     ETCC not run in the database node wmsqadb
                The EBS Technology Codelevel Checker needs to be run on the database node.
                It is available as Patch 17537119.

    Encountered the above errors when performing database validations.
    Resolve the above errors and restart adop.



[STATEMENT] Please run adopscanlog utility, using the command

"adopscanlog -latest=yes"

to get the list of the log files along with snippet of the error message corresponding to each log file.


adop exiting with status = 1 (Fail)


Solution:
1. Login to the database as APPS schema.
2. Check the table TXK_TCC_RESULTS and verify that the information is same as FND_NODES.
select * from APPLSYS.TXK_TCC_RESULTS;
select * from  FND_NODES;
 3. If the value in APPLSYS.TXK_TCC_RESULTS are not the same (for example: either Production database name after clone), perform the following steps:

4. Create a backup table
create table APPS.TXK_TCC_RESULTS_backup as select * from APPLSYS.TXK_TCC_RESULTS;

5. Truncate the APPLSYS.TXK_TCC_RESULTS table:
truncate table  APPLSYS.TXK_TCC_RESULTS;

6. Download the ETCC Patch - 17537119.

7.unzip the patch, run the following in Database Node
sh checkDBpatch.sh
It will prompt for database(RDBMS) context file.
8. Now check the APPLSYS.TXK_TCC_RESULTS again
select * from APPLSYS.TXK_TCC_RESULTS;
If the information in the table is correct, proceed with adop phase.

9. Also verify the v$parameter for "_system_trig_enabled",

SQL>select value from v$parameter where name='_system_trig_enabled';

VALUE
--------------------------------------------------------------------------------
TRUE
Note: Since the RDBMS version was 11.2.0.3, I had to download previous version of the ETCC patch.

Reference:
Error Occurred Performing Database Validations Applying Patch 19330775 (Doc ID 1993838.1)
12.2 Adop Cleanup Fails with Error "ETCC not run in the Database Node" After Running ETCC on the Database Node (Doc ID 2117174.1)

Believe + Attitude=What you achieve


The title does look like a math formula. It is the summary of Carol Dweck's book - Mindset: The new psychology of success in simple words. This book was published in 2006. It was recommended by one of the nerds I admire.

According to the book, the entire world fall into - fixed mindset or growth mindset.

In a fixed mindset, you have a talent in something and that cannot be changed. Growth mindset believes that anyone can be intelligent, smart and achieve anything by effort and attitude. The book depicts the roadblocks hit by a fixed mindset and how it becomes fatal in their life.  The book touches different areas like sports,  work & business, relationship and parenting. The book ends with a workshop to encourage the reader to get into growth mindset. 

Analyzing my own life, I feel like there are somethings I do with fixed mindset while rest being in growth mindset. I would definitely recommend this as a must read.

Drop an Oracle Database using SQLPlus - Drop Database

DBCA is one of the most popular method of dropping an Oracle database. I personally use SQLPlus method. It is simple, fast and removes the files from the storage as well. SQLPlus also doesn't verify the inventory information for the drop.

Please set the environment variables like $ORACLE_SID, $ORACLE_HOME, $PATH. If the database is already up and running, issue a shutdown first. Following are the order of commands:

$ sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup mount exclusive restrict;
SQL> drop database;
SQL> exit
Please wait for few minutes and you can see the database files are removed.

OPatch Error after copying Oracle Home : Inventory load failed... OPatch cannot load inventory for the given Oracle Home.

In order to save time, I copied Oracle Database Home from one server to another including the inventory. When I tried to do a 'lsinventory' I got the following error:

$opatch lsinventory -invPtrLoc /r01/app/oracle/oradb/oraInventory/oraInst.loc

Oracle Interim Patch Installer version 12.1.0.1.6
Copyright (c) 2015, Oracle Corporation.  All rights reserved.


Oracle Home       : /r01/app/oracle/oradb/12.1.0
Central Inventory : /r01/app/oracle/oradb/oraInventory
   from           : /r01/app/oracle/oradb/oraInventory/oraInst.loc
OPatch version    : 12.1.0.1.6
OUI version       : 12.1.0.2.0
Log file location : /r01/app/oracle/oradb/12.1.0/cfgtoollogs/opatch/opatch2015-06-02_10-31-39AM_1.log

List of Homes on this system:

  Home name= OraDB12Home1, Location= "/u01/app/oracle/oradb/12.1.0"
Inventory load failed... OPatch cannot load inventory for the given Oracle Home.
Possible causes are:
   Oracle Home dir. path does not exist in Central Inventory
   Oracle Home is a symbolic link
   Oracle Home inventory is corrupted
LsInventorySession failed: OracleHomeInventory gets null oracleHomeInfo

OPatch failed with error code 73

Solution:

Go to the Inventory location (in my case /r01/app/oracle/oradb/oraInventory/ContentsXML) and search for inventory.xml. Replace

HOME NAME="OraDB12Home1" LOC="/u01/app/oracle/oradb/12.1.0" TYPE="O" IDX="1"
with
HOME NAME="OraDB12Home1" LOC="/r01/app/oracle/oradb/12.1.0" TYPE="O" IDX="1" 

in the inventory.xml and save it.

Oracle WebCenter Content RCU with 12c database - ORA-01950: no privileges on tablespace

While creating schema for WebCenter Content (11.1.1.8.0) using the RCU ofm_rcu_win_11.1.1.8.0_64_disk1_1of1.zip against a 12c database caused the following error:

JDBC SQLException - ErrorCode: 1950SQLState:42000 Message: ORA-01950: no privileges on tablespace 'WCC_ORAIRM'

Error encountered executing SQL statement  FileName: 'Z:AAAA\Desktop\ofm_rcu_win_11.1.1.8.0_64_disk1_1of1\rcuHome\\rcu\integration\\irm\sql\oracle\create_irm_tables.sql' LineNumber: '64'
SQL Statement: [INSERT INTO SEQUENCE(SEQ_NAME, SEQ_COUNT) values ('SEQ_GEN_TABLE', 0)]
java.sql.SQLSyntaxErrorException: ORA-01950: no privileges on tablespace 'WCC_ORAIRM'

Cause :

This is due to changes in the 12c database compared to 11g: UNLIMITED TABLESPACE is no longer included in RESOURCE role. Quota must be explicitly set by ALTER USER.

Solution:
Go to the RCU location:

Z:AAAA\Desktop\ofm_rcu_win_11.1.1.8.0_64_disk1_1of1\rcuHome\rcu\integration\irm\sql\oracle

alter user &irm_user quota unlimited on &def_tablespace;
or
alter user &&1 quota unlimited on &&3; 

Repeat the following for contentserver11, contentserver11search, capture, ipm, urm.