Tuesday, February 9, 2016

Useful logging information for cm and dm_oracle

Logging settings for cm and dm_oracle

1) For logging the time taken by opcode in the cm.pinlog
    Add the following lines in $PIN_HOME/sys/cm/pin.conf

     - cm enable_pcm_op_call_stack 1
     - cm max_pcm_op_call_stack_entries 256


This will start displaying the opcode time as below:
cm_pcm_op_call_stack
                Seconds Type  Opcode (flags, notes)
            0.000000000 Enter PCM_OP_READ_OBJ (0x0)
            0.000348000 .Enter PCM_OP_READ_OBJ (0x0)
            0.478129000 .Exit  PCM_OP_READ_OBJ (0x0) - from DM 0.0.0.1
            0.502946000 Exit  PCM_OP_READ_OBJ (0x0)


2) For setting the cm to debug level

    - cm cm_loglevel 3

3) For logging the PCM_OP_SEARCH input and output flist
    Add the following lines in $PIN_HOME/sys/cm/pin.conf

    - cm CMAP_DEBUG 0xFFFFFFFF
    - cm CM_DEBUG 0xFFFFFFFF

This should be used with cm in debug level.

4) Setting the cm log level to debug when cm is running

cat cm_debug3
r << XXX  1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 1
0 PIN_FLD_COMPONENT STR [0] "CM"
0 PIN_FLD_LOGLEVEL INT [0] 3
XXX
#
xop PCM_OP_INFMGR_SET_LOGLEVEL 0 1
#


run the below command from $PIN_HOME/test
testnap cm_debug3

5) Setting the cm log level to error when cm is running

cat cm_debug1
r << XXX  1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 1
0 PIN_FLD_COMPONENT STR [0] "CM"
0 PIN_FLD_LOGLEVEL INT [0] 1
XXX
#
xop PCM_OP_INFMGR_SET_LOGLEVEL 0 1
#

run the below command from $PIN_HOME/test
testnap cm_debug1

5) Setting the dm_oracle log level to debug when cm and dm are running

cat dm_debug3
r << XXX  1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 1
0 PIN_FLD_COMPONENT STR [0] "DM"
0 PIN_FLD_DEBUG_FLAG ARRAY [1] allocated 20, used 2
1     PIN_FLD_NAME STR [0] "DM_DEBUG"
1     PIN_FLD_FLAGS INT [0] 255
0 PIN_FLD_DEBUG_FLAG ARRAY [2] allocated 20, used 2
1     PIN_FLD_NAME STR [0] "DM_DEBUG2"
1     PIN_FLD_FLAGS INT [0] 4090
0 PIN_FLD_DEBUG_FLAG ARRAY [3] allocated 20, used 2
1    PIN_FLD_NAME STR [0] "DM_DEBUG3"
1    PIN_FLD_FLAGS INT [0] 65535
XXX
#

run the below command from $PIN_HOME/test
testnap dm_debug3

6) Setting the dm_oracle log level to normal when cm and dm are running

cat dm_debug1
r << XXX  1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 1
0 PIN_FLD_COMPONENT STR [0] "DM"
0 PIN_FLD_DEBUG_FLAG ARRAY [1] allocated 20, used 2
1     PIN_FLD_NAME STR [0] "DM_DEBUG"
1     PIN_FLD_FLAGS INT [0] 255
0 PIN_FLD_DEBUG_FLAG ARRAY [2] allocated 20, used 2
1     PIN_FLD_NAME STR [0] "DM_DEBUG2"
1     PIN_FLD_FLAGS INT [0] 0
0 PIN_FLD_DEBUG_FLAG ARRAY [3] allocated 20, used 2
1    PIN_FLD_NAME STR [0] "DM_DEBUG3"
1    PIN_FLD_FLAGS INT [0] 0
XXX
#
xop PCM_OP_INFMGR_SET_LOGLEVEL 0 1
#

 run the below command from $PIN_HOME/test
testnap dm_debug1

7) Setting the dm_oracle to debug level

Add the following lines in $PIN_HOME/sys/dm_oracle/pin.conf
- dm dm_debug 0xff
- dm dm_debug2 0xffa
- dm dm_debug3 0xffff


You can find the SQL statements as below in dm_oracle.pinlog file:
SQL_STMT do_sql_update: cmd="update account_t set poid_rev = poid_rev + 1, mod_t = :mod_t, cust_seg_list=:cust_seg_list, currency=:currency, currency_secondary=:currency_secondary where poid_id0 = :poid_id0"
There will be lot more useful information in dm_oracle.log file

Migrating PDC data from one system to another

Given System “A” with BRM and PDC and System “B” with BRM and PDC, following is the process for moving new or changed pricing data from ...