spfile parameters derived from cpu_count

In Oracle databases some spfile parameters are derived based on others, if they are not set explicit.
One of the main drivers I discovered is CPU_COUNT.
So I did some tests based in the past for version and
To simulate a machine with sufficient CPUs, I had to use a trick described in a previous post. Using _disable_cpu_check threw an ORA-7445:[ksucre] in 12.2 with cpu_count >126.


Dbvisit Standby upgrade

Upgrading to Dbvisit Standby 8.0.x

Dbvisit provides upgrade documentation which is detailed and in principle  correct but only describes the upgrade process from the viewpoint of an installation on a single host.
I upgraded Dbvisit Standby at a customer’s site with Dbvisit Standby in a running configuration with several hosts with several primary and standby databases.  I found, by trial and error and with the help of Dbvisit support, some additional steps (more...)

Lock Types

Every now and again I have to check what a particular lock (or enqueue) type is for and what the associated parameter values represent. This often means I have to think about the names of a couple of views and a collection of columns – then create a few column formats to make the output readable (though sometimes I can take advantage of the “print_table()” procedure that Tom Kyte a long time ago.  It’s (more...)

Oracle ORA-02287: sequence number not allowed here

I’ve recently hit an issue when trying to include a sequence.nextval in an Oracle database view. the database throws the following error: [crayon-5aba534de1f38771671729/] I can see why that might not be allowed – each time you select from the view you’ll get a new sequence number making it a bit daft for most circumstances. I

Oracle View Sequence Test


A look into oracle redo, part 8: generate redo

This blogpost looks at the very start of oracle redo: the generation of it. In order to do that, I start off with a very simple table, and look at the redo generation part. I guess the regular readers of this blogpost series understand that redo generation is closely connected with making changes made to blocks. This post therefore is not only about redo generation, but also about how the technical implementation of block changes.


Upcoming events I’m attending…

Just a quick note to mention some of the events I’ll be at over the next few months.


I’ll be at a couple of Oracle Code events in India in the next couple of weeks.

I’ve submitted for a few of the European Oracle Code events too, but I have no idea if I will be selected or not. When I know I’ll post an update. ????

UKOUG Member Advocate: sorted!

I received an email from the UKOUG last week.



It turns out that I have won the vote to become the next Member Advocate for the UKOUG. I will (eventually) be joined on the board by Martin Widlake – who won the vote for the position of President Elect – a position whereby Martin will shadow the current UKOUG President before taking office on the Board. He has written about it here.

I would (more...)

Oracle SOA Suite 12c: Tokens – To avoid substituting values: define global token variables

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

Choose "Token Configurations"


To list the tokens click on "Modify Configuration file":

 To add a token click on the green plus:

 Do not forget to save your changes:

To use the bulk append you have to create a file like this one:

Choose your file "text.xml":
 and click on "Append":

OUG Ireland 2018 : Day 2

Day 2 was a mixed day for me. I mentioned in the previous post my preparation for this conference had not been the best because of circumstances, and that started to get the better of me. I’ve said it before, public speaking is not natural for me. This was the first conference I had done since UKOUG Tech17. Having nearly a 4 month break and coming in without the normal prep was a bad idea, (more...)

Oracle VM Server x86: Discovering a server/node + setting up a repository, server pool and networking

Let's put the things together:
The Oracle VM Manager has to discover the node. Inside the web GUI (https://yourhost:7002/ovm/console)  clickt on the right icon:

Then give your password and the ip(s):

And then you can see the node details (if the connections does not fail):

The next step is to create a repository. To achieve this, you have to add a additional hdd (more...)

Continued Evolution of OIC and this site

The transformation of Oracle Integration Cloud Service (ICS) into Oracle Integration Cloud (OIC) continues to progress. If you’ve read our earlier posts (such as this) on the subject you’ll remember that ICS becomes part of OIC, and depending on which version of OIC you take you will also see other components including: Visual Builder Cloud […]

The post Continued Evolution of OIC and this site appeared first on Implementing Oracle Integration Cloud Service.

A look into oracle redo, part 7: adaptive log file sync

This is the seventh part of a blog series about oracle redo.

Adaptive log file sync is a feature that probably came with Oracle version 11.2. Probably means I looked at the undocumented parameters of Oracle version 11.1 and do not see any of the ‘_adaptive_log_file_sync*’ parameters. It was actually turned off by default with versions and, and was turned on by default since version (more...)

Reference Costs

The partitioning option “partition by reference” is a very convenient option which keeps acquiring more cute little features, such as cascading truncates and cascading splits, as time passes – but what does it cost and would you use it if you don’t really need to.

When reference partitioning came into existence many years ago, I had already seen several performance disasters created by people’s enthusiasm for surrogate keys and the difficulties this introduced for partition (more...)

GDPR Solutions in the Day of Automation

There’s something for having job security and many of the solutions that I see offered for RDBMS challenges offer just that. With compliance with EU’s GDPR, (General Data Protection Regulations) just around the corner, (mark you calendar, May 25, 2018) you’d think we’d all be scrambling for a simpler solution to discovering and addressing all that GDPR data.

Quick refresher for those of you going, “What is GDPR?”

Data security is a known focus (more...)

Keeping Intervals

I’ve recently been reminded of a blog post I wrote a couple of years ago that discussed the issue of running into the hard limit of 2^20 -1 as the number of segments for a (composite) partitioned table – a problem that could arise in a relatively short time if you used a large number of hash subpartitions in an interval/hash composite partitioned table (you get about 2 years and 10 months of daily partitions (more...)

Docker Oracle and local installs

| Mar 14, 2018
So you want Docker and to install and Oracle Database locally.  So did I and while I have VirtualBox and the Oracle Developer Day VM, I wanted to setup docker and the Oracle Database
Well Colm Divilly (@cdivilly) has cleared it up for me.  His Gist on on Github had me up and running. Very little work on my part here, following Colm's detailed instructions, (barring time for downloads) I had docker (more...)

Stop password for user accounts expiring on Exadata

Depending on how the Oracle Exadata Machine was setup, the password for user accounts can expire thus requiring the password to be changed.

This has the knock on effect of the crontab not accessible and more importantly jobs do not run:

[oracle@v1ex1dbadm01 ~]$ crontab -l

Authentication token is no longer valid; new one required
You (oracle) are not allowed to access to (crontab) because of pam configuration.
[oracle@v1ex1dbadm01 ~]$

You can (more...)

Linux timing and scheduling granularity

During investigating how Oracle works with regards to waiting, I discovered an oddity. I was researching for my redo blog posts, and found that in a certain case, Oracle uses the ‘nanosleep’ system call. As the name of this system call suggests, this call allows you to let a process sleep with nanosecond precision.

The oddity that I found, was the following:

$ strace -Tp 42
nanosleep({0, 1000}, NULL)              = 0 <0.000253>
nanosleep({0, 1000},  (more...)

Oracle Code Presentation March 2018

Last week I was presenting at Oracle Code in New York. I've presented at a few Oracle Code events over the past 12 months and it is always interesting to meet and talk with developers from around the World.

The title of my presentation this time was 'SQL: The one language to rule all your data'.

I've given this presentation a few times at different events (POUG, OOW, Oracle Code). I take the contents of (more...)