Wednesday 9 November 2022

How to turn subquery into JOIN?

 


Current long running query:

 

 

UPDATE /*+ full(b) parallel(b,8) */ SRV B SET SRV_STS_CD =

'CE' WHERE PARTITION_ID = 8 AND (SRV_STS_CD = 'CS' OR SRV_STS_CD =

'HA') AND SYS_CREATION_DATE > SYSDATE - 730 AND SRV_TRX_S_NO IN (SELECT

SRV_TRX_S_NO FROM DVC WHERE PARTITION_ID = 8 AND

DVC_TRX_STS_CD != 'CS');

 

 

Modified query:

 

UPDATE /*+ full(b) parallel(b,4) use_hash(DVC) leading(DVC_) unnest */ SRV B SET SRV_STS_CD =

'CE' WHERE PARTITION_ID = 8 AND (SRV_STS_CD = 'CS' OR SRV_STS_CD =

'HA') AND SYS_CREATION_DATE > SYSDATE - 730 AND SRV_TRX_S_NO IN (SELECT /*+ use_hash(DVC) full(DVC) parallel(DVC,4) */

SRV_TRX_S_NO FROM DVC_TRX_REPOS WHERE PARTITION_ID = 8 AND

DVC_TRX_STS_CD != 'CS')

;


Monday 7 November 2022

How to run sqlplus as user root?

 [root@o71 ~]# sudo -u oracle bash -c '. ~/.bash_profile; sqlplus / as sysdba'


SQL*Plus: Release 18.0.0.0.0 - Production on Sun Oct 28 10:52:43 2018
Version 18.4.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.


Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

SQL>