Trace Files

A recent blog note by Martin Berger about reading trace files in 12.2 poped up in my twitter timeline yesterday and reminded me of a script I wrote a whle ago to create a simple view I could query to read the tracefile generated by the current session while the session was still connected. You either have to create the view and a public synonym through the SYS schema, or you have to use (more...)

_cursor_obsolete_threshold

At the recent Trivadis Performance Days in Zurich, Chris Antognini answered a question that had been bugging me for some time. Why would Oracle want to set the default value of _cursor_obsolete_threshold to a value like 8192 in 12.2 ?

In 11.2.0.3 the parameter was introduced with the default value 100; then in 11.2.0.4, continuing into 12.1, the default value increased to 1,024 – what possible reason could (more...)

Duplicate OMF DB Using Backupset To New Host And Directories

Database 12.1.0.2.0 is created using OMF.

At SOURCE:
db_create_file_dest=/u01/app/oracle/oradata
db_recovery_file_dest=/u01/app/oracle/fast_recovery_area

At DESTINATION:
db_create_file_dest=/u01/oradata
db_recovery_file_dest=/u01/fast_recovery_area

BACKUP LOCATTION on shared storage:
/media/shared_storage/rman_backup/EMU

I has to explicitly set control_files since I was not able to determine how it can be done automatically.

set control_files='/u01/oradata/EMU/controlfile/o1_mf_gqsq2mlg_.ctl','/u01/fast_recovery_area/EMU/controlfile/o1_mf_gqsq2mpz_.ctl'

If don’t set_controlfiles then duplicate will restore to original locations.

channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/u01/app/oracle/oradata/EMU/controlfile/o1_mf_gqsq2mlg_.ctl
output file  (more...)

Obvious But Not For Oracle Obviously

While dropping RAC database, I found error ORA-01081: cannot start already-running ORACLE – shut it down first from dbca log.

Looking up error: Cause is obvious

$ oerr ora 01081
01081, 00000, "cannot start already-running ORACLE - shut it down first"
// *Cause:  Obvious
// *Action:

Here is the process for 12.1.0:

$ ps -ef|grep pmon
oracle   41777     1  0 Aug09 ?        00:00:30 asm_pmon_+ASM2

$ srvctl config database
DBFS

$ srvctl status database -d  (more...)

Too Old To Remember

Is it required to run datapatch after creating database?

Why bother trying to remember versus running datapatch -prereq to find out?

Test case for 12.2.

Database July 2019 Release Update 12.2 applied:

[oracle@racnode-dc2-1 ~]$ /media/patch/lspatches.sh
+ . /media/patch/gi.env
++ set +x
The Oracle base remains unchanged with value /u01/app/oracle
ORACLE_SID=+ASM1
ORACLE_BASE=/u01/app/oracle
GRID_HOME=/u01/app/12.2.0.1/grid
ORACLE_HOME=/u01/app/12.2.0.1/grid
Oracle Instance alive for sid "+ASM1"
+ /u01/app/12.2.0.1/grid/OPatch/opatch version
OPatch  (more...)

Resize ACFS Volume

Current Filesystem for ACFS is 299G.

Filesystem             Size  Used Avail Use% Mounted on
/dev/asm/acfs_vol-177  299G  2.6G  248G   2% /ggdata02

Free_MB is 872 which causes paging due to insufficient FREE space from ASM Disk Group ACFS_DATA.

$ asmcmd lsdg -g ACFS_DATA
Inst_ID  State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
      1  MOUNTED  EXTERN  N         512   4096  4194304    307184      872                0             872              0             N  ACFS_DATA/
      2  MOUNTED  EXTERN  N         512   4096   (more...)

Playing with Oracle Database Security Assessment Tool (DBSAT)

The Database Security Assessment Tool (DBSAT) is an incredible free command line tool provided by Oracle Corporation as a utility to help you verify your database for common database security issues(including security policies and controls in place), as well as helping to identify

Another bug with lateral

Compare the results of the following query with the clause “fetch first 2 rows only”

with 
 t1(a) as (select * from table(odcinumberlist(1,3)))
,t2(a,b) as (select * from table(ku$_objnumpairlist(
                                 sys.ku$_objnumpair(1,1),
                                 sys.ku$_objnumpair(1,2),
                                 sys.ku$_objnumpair(1,3),
                                 sys.ku$_objnumpair(3,1),
                                 sys.ku$_objnumpair(3,2),
                                 sys.ku$_objnumpair(3,3)
                                 )))
,t(id) as (select * from table(odcinumberlist(1,2,3,4,5,6,7)))
select
  *
from t,
     lateral(select t1.a,t2.b
             from t1,t2 
             where t1.a = t2.a 
               and t1.a = t.id
             order by t2.b
             fetch first  (more...)

Lateral view decorrelation(VW_DCL) causes wrong results with rownum

Everyone knows that rownum in inline views blocks many query transformations, for example pushing/pulling predicates, scalar subquery unnesting, etc, and many people use it for such purposes as a workaround to avoid unwanted transformations(or even CBO bugs).

Obviously, the main reason of that is different calculation of rownum:

If we pull the predicate “column_value = 3” from the following query to higher level

select * 
from (select * from table(odcinumberlist(1,1,1,2,2,2,3,3,3)) order by 1)
where rownum  (more...)

Oracle SOA Suite 12c : Audit Levels (Off, Production, Development)

Inside the Enterprise Manager (URL: http://yourhost:7001/em) you can configure SOA Suite Audit Levels:

Choose "Common Properties"

Click on "Change Profile"
The oracle documentation shows the following:



  • Off:
    No business flow instance tracking and payload tracking information is collected. Drilling down into a flow shows the components and their status. Using this setting limits database growth, and also helps reduce latency and improve throughput.
  • Production:
    Flow and audit event information is collected and (more...)

Oracle Weblogic 12c: Extracting the complete configuration via wlst.sh python script

If you want to get all information out of a weblogic server via wlst.sh than you can use the following script:
# written by Dietrich Schroff 2018
import sys


OutputFile='myfile.txt'
sys.stdout = open(OutputFile,'w')
connect('weblogic','mypasswd','t3://localhost:7001')
depth=0

def loopOverAllSubdirectories(goIntoThisDirectory,depth):
    depth=depth+1
    cd(goIntoThisDirectory)
    print depth," "*depth*2,goIntoThisDirectory
    try:
            completeInput=ls()
            inputArray=completeInput.split('\n')
        allParameters=[ x for x in inputArray if (not ("dr--" in x) or ("drw-" in x)) ]
(more...)

“Regulatorics: Offside is when the referee whistles” – I’m a speaker at #DOAG2018

Today my presentation is confirmed: “Regulatorics: Offside is when the referee whistles”. Maybe the German title will be  better understood: “Regulatorik: Abseits ist, wenn der Schiedsrichter pfeift”

The regulatory system has more and more influence on our software development.

Regulatory authorities, exteranl and internal Auditors are increasingly examining our IT and not longer only our business processes and balance sheets.
Some of them have better trained IT experts as we can find on the free market.

General standards such (more...)

Oracle SOA Suite: Profiles (SOA Foundation, BPEL only, Orchestration, Enterprise, BPM Classic, …)

Inside the Enterprise Manager (URL: http://yourhost:7001/em) you can configure SOA Suite profiles:

Choose "Common Properties"

Click on "Change Profile"
The oracle documentation shows the following:

The full set of adapters:
  • file,
  • FTP, 
  • database, 
  • JMS, 
  • MQSeries, 
  • AQ, 
  • E-Business Suite, 
  • User Messaging Service, 
  • socket, 
  • LDAP, 
  • Coherence, 
  • MSMQ,
  • JDE
The limited set of adapters:
  • file, 
  • FTP, 
  • database, 
  • JMS, 
  • MQSeries, 
  • AQ, 
  • E-Business Suite,
  • User Messaging Service

The Struggles of Personalization in ADF

A Mike Heeren & Richard Olrichs co-production

ADF comes with the out-of-the-box features of personalization. This means that whenever you configure personalisation, users can persist changes they make to the application across sessions and personalize their experience with the application. We have seen that this feature can also confuse some of our users, so it is not always wise to use this. It depends on the use case you have. However, when recently implementing personalization (more...)

The Struggles of Personalization in ADF

Uncategorized
| Jul 10, 2018
A Mike Heeren & Richard Olrichs co-production

ADF comes with the out-of-the-box features of personalization. This means that whenever you configure personalisation, users can persist changes they make to the application across sessions and personalize their experience with the application. We have seen that this feature can also confuse some of our users, so it is not always wise to use this. It depends on the use case you have. However, when recently implementing personalization (more...)

Oracle SOA Suite 12c: How to deploy a BPEL onto a weblogic server

After you have created your BPEL inside Jdeveloper, you have to add an application server inside jdev:







 And here we go:

Then go to the applications view:







And after the deployment check via Application Server view, if the BPEL version was deployed:


Oracle SOA Suite 12c: Invoking a BPEL process via Jdeveloper

After you deployed a BPEL process to your application server open the application server view in Jdeveloper:
 Open the BPEL inside the Application Server view:
 Do a right click on the BPEL process and select "Test Web Service":
 This will open the HTTP Analyzer:
 Fill in your XML input and click "Send Request". After that you will see:


Very nice are the options via the tab at the bottom:
  • SOAP Strucutre
  • HTTP Content
  • REST Structure
  • (more...)

Oracle SOA Suite 12c: complete startup procedure including database and application server

After the first reboot i had to work hard to get the complete system up again. So here a list of all commands:


  1. database
    export ORACLE_HOME=/home/oracle/app/oracle/product/12.2.0/dbhome_1
    export PATH=$PATH:$ORACLE_HOME/bin
    export ORACLE_SID=orcl

    $ sqlplus / as sysdba

    SQL*Plus: Release 12.2.0.1.0 Production on Fri Feb 16 20:53:02 2018

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

    Connected to an idle instance.

    SQL> startup
    ORACLE instance started.

    Total System Global Area 1560281088 (more...)

Playing with Oracle Database Cloud – Migrating to Cloud using an Oracle Cloud Backup

The idea for this scenario is to learn how to migrate an Oracle Database from on-premises to Oracle Cloud DBaaS by using a previously done backup using Oracle Cloud Backup Services. First, we will create an Oracle Database Cloud Services database

Playing with Oracle Database Cloud Backup Service

This article will show you how easy is to make use of Oracle Cloud to securely store all our on-premises Oracle Database Backups. Note that backups stored in Oracle Cloud can also be used to create new Oracle Database Instances