It’s been a while since my last post but I was really busy working on a number of projects.
The purpose of this post is to highlight an issue I had while building a standby database. The environment we had – three 184.108.40.206 databases at host A (primary) and same were restored from backup on another host B (standby), both hosts were running Linux. It’s important to mention that both hosts were (more...)
Thanks to everybody who visited my presentation! Here is a link to view and/or download the slide set: http://www.slideshare.net/MishaRosenblum/2015-458-rosenblumpptfinal
Feel free to ask questions!
Most people who know me professionally know about my enthusiasm for enterprise applications delivered via the SaaS model. In terms of adoption and agility, SaaS is a winner. But, at the same time, I also recognized that SaaS is not for everybody. Those who customize heavily and those who want to retain a higher level of control are probably better off with on-premise enterprise applications.
So I was happy to hear about Cliff Godwin, Oracle's (more...)
Awesome Oracle ERP Cloud on Apple Watch design concepts. For more information see: A Glance at Smartwatches in the Enterprise: A Moment in Time Experience.
The following requirement appeared recently on OTN:
I have a following query and want to get rid of the "NOT EXISTS' clause without changing the end results.
WHERE NOT EXISTS (SELECT 1
WHERE B.c = A.c AND B.d = A.d AND B.e = A.e);
Inevitably this wasn’t the problem query, and almost inevitably (more...)
There’s a live example on OTN at the moment of an interesting class of problem that can require some imaginative thinking. It revolves around a design that uses a row in one table to hold the low and high values for a range of values in another table. The problem is then simply to count the number of rows in the second table that fall into the range given by the first table. There’s an (more...)
First of all a disclaimer: I don’t work for Oracle nor do I speak for them. I believe this information to be correct, but for licensing questions, Oracle themselves have the final word.
With that out of the way, followers of this blog may have seen some of the results from my testing of actual CPU capacity with public clouds like Amazon Web Services, Microsoft Azure, and Google Compute Engine. In each of these (more...)
Just been tearing my hair out on some unexpected SQL behaviour in SQL Developer.
Eventually I managed to get to the root cause of the problem as illustrated below.
SQL> var ps number
SQL> exec :ps := 4001644945;
PL/SQL procedure successfully completed.
SQL> select :ps from dual;
SQL Developer v3.2 and v4.0 via “Run As Script(F5)”:
var ps number
exec :ps := 4001644945;
select :ps from dual;
Java 1.8 is the current version and you probably use it on your personal computer. Although EMCLI says it will work on Java 1.6 and newer versions, if you install it using Java 1.8, you get an error when you try to setup or synchronize it with the Enterprise Manager Cloud Control OMS server. The reason is that Java 1.8 will use TLS 1.2 as default protocol for secure connections.
In my previous article, Creating and scaling Dynamic Clusters in Weblogic 12c, I described the creation and scaling of Dynamic Clusters. I used the Weblogic Console to create the Dynamic Clusters and change the number of servers.
Most of the time you will use some wlst scripting to create and manage your Weblogic environments.
In this article I will show you how to create Dynamic Clusters en how you can scale them.
The example (more...)
In my last blog about security parameters I mentioned I had found some oddities in the default values for parameters in 220.127.116.11, this is a more in-depth analysis of my findings.
Taking the parameter SEC_RETURN_SERVER_RELEASE_BANNER as an example.
Prior to 12c the default value for this parameter was ‘FALSE’, whereas the documentation for 12c (https://docs.oracle.com/database/121/REFRN/refrn10275.htm) states that the default is ‘TRUE’.
To confirm this, I made a (more...)
I was planning to cover this subject in a single article, but it got a bit bulky, so I split it down into 6 little articles.
In my previous article I started exploring the memory usage of a process on a recent linux kernel (2.6.39-400.243.1 (UEK2)), recent means “recent for the Enterprise Linux distributions” in this context, linux kernel developers would point out that the kernel itself is at version 3.19 (“stable version” at the time of writing of this blogpost).
The previous article showed that every process has its own address space, and that different (more...)
There are 5 parameters that are all prefixed with ‘sec’ in an 11g and 12c database. Actually that is a lie because one is now deprecated in 12c. They are all, as you might guess related to security. This blog is about changes in the default values and some thoughts about whether or not the default value is appropriate or not.
||TRUE in 11GR1 , 11GR2, DEPRECATED IN 12C
||default 11GR1,11GR2=10, 12c=3
The NoSQL camp put performance, scalability, and reliability front and center but lost the opportunity to take the relational model to the next level because—just like the relational camp—it mistakenly believed that normalization dictates physical storage choices, that non-relational APIs are forbidden by the relational model, and that “relational” is synonymous with ACID (Atomicity, Consistency, Isolation, and Durability). The NoSQL camp created a number of innovations: functional segmentation, sharding, replication, eventual consistency, and schemaless design. (more...)
Introduced in Weblogic 12.1.2, dynamic clusters is a great feature to scale your private cloud.
Dynamic clusters provides you easy scaling of Weblogic clusters by adding and removing managed server instances on demand. They contain one or more dynamic servers. These dynamic servers are based on a single servertemplate that guarantees that every member of the cluster is exactly the same.
Creating Dynamic Clusters
Let’s take a look at some of the possibilities (more...)
Everyone gets caught out some of the time with NOT IN.
NOT IN is not the opposite of IN.
This came up in a (fairly typical) question on OTN recently where someone had the task of “deleting 6M rows from a table of 18M”. A common, and perfectly reasonable, suggestion for dealing with a delete on this scale is to consider creating a replacement table holding the data you do want rather than deleting the (more...)
This blogpost is about finding the actual amount of memory a process is taking. In order to do so, this post dives into the memory mechanisms of Linux. The examples in this article are taken from an Oracle Linux version 6.6 server, with kernel 2.6.39-400.243.1 (UEK2). This is written with the Oracle database processes in mind, but actually uses examples of a processes running ‘cat’, which means the contents of (more...)