You can check if you applied the patch with this
$ORACLE_HOME/OPatch/opatch lsinventory |grep 18793246
check if the prereq is applied with this:
$ORACLE_HOME/OPatch/opatch lsinventory |grep 20299023
if you already applied the patch, opatch will tell you it's applied and not do anything. I would check first if it's applied, that is a waste of time to have to answer the questions if it's already applied.
Since we do not use RAC, so I will not run datapatch anymore? The patch is for both rac and non rac.
Oracle is so confusing. There are patches with you need to run datapatch even if it is non-rac.
Is there a danger if I run datapatch on RAC or Non-Rac?
You run the post install scripts on both RAC and non rac database. Just like you apply the patch for both rac and non rac. If it's rac you apply it to both rac nodes. if it's not rac, you only have one node to apply the patch so you the 'Note' doesn't apply to you.
The preinstall "Note: " In case mean if it's rac do it on both nodes, in case it's not rac you only have one node to do it on so it doesn't need to specify do it on both. In case means If it is, It does not mean,ONLY do this on RAC, It means IF it is rac.
It means that you do this on both nodes IF IT IS RAC. Don't do it on only one node, do it on all nodes for RAC. Note: In case of an Oracle RAC environment, perform these steps on each of the nodes
The Post Install "Note: " Note: For a RAC environment, perform these steps on only one node. Means you only run datapatch only once even if it's RAC.