Masking with Delphix (where duplicate blocks are shared making a new copy almost free storage wise and almost instantaneous) has 4 big advantages
- Instant data, no copying
- Ease of Use
- Consistent across data centers and databases vendors
Virtual Data Masking
Delphix masking and virtualization is the most advanced solution in the market place, because Delphix doesn’t provision data. Instead of provisioning data, Delphix sets up pointers back to existing data for a new clone. When that (more...)
It’s been forever since I last shared any of my performance troubleshooting experiences at work. This week, I got a case that I think is worth publishing, and I decided to write about it in my blog. So, here we go…
A few days ago, I received a complaint about unstable performance of one of frequently running SQL reports on a 11gR2 database. Most of the time it completed within a couple of minutes, however, on (more...)
Oracle offers a fine machine called the X5-2. Not to be confused with the ODA X5-2, which comes with sophisticated database software. The X5-2 is just bare metal.
The X5-2 is a 1HE 2 socket Intel machine with limited configuration options in terms of processor speed, number of cores and storage.
I will show you how to install Oracle VM Server software without even having a dvd drive for the installation disk, nor a hard (more...)
This post comes from Fishbowl’s president, Tim Gruidl. One of Tim’s biggest passions is technology innovation, and not only does he encourage others to innovate, he participates and helps drive this where he can. Tim likes to say “we innovate to help customers dominate”. Tim summarizes Fishbowl’s Hackathon event, held last Friday and Saturday at Fishbowl Solutions, in the post below.
What an event! I want to start by thanking Andy Weaver and John Sim (Oracle (more...)
I’d never tried, so I sat down to try and was amazed at how easy it was.
I created twoDelphix Express installations.
On one engine, the source engine, (http://172.16.103.16/) I linked to an Oracle 220.127.116.11 database on Solaris Sparc called “yesky”.
On that same engine I (more...)
I am finally getting around to finishing my four-part blog series on people who have had the most influence on my Oracle performance tuning work. The previous three people were Craig Shallahamer, Don Burleson, and Cary Millsap. The last person is Jonathan Lewis. These four people, listed and blogged about in chronological order, had the most influence on my understanding of how to do Oracle database performance tuning. There are many other great (more...)
Subtle variances in the way you work with statistics can have a significant impact on how your optimizer plans work out…so you need to take care.
Let’s look at the following example
SQL> create table T ( 2 x varchar2(20) , y varchar2(100)); Table created. SQL> insert into T 2 select 'x' , rpad('z',100) from all_objects; 94117 rows created. SQL> insert into T 2 select 'X' , rpad('z',100) from all_objects; 94117 rows created. SQL> exec (more...)
I have an Oracle 18.104.22.168c cluster having following 5 nodes :
- Hub Nodes : host01, host02, host03
- Leaf nodes: host04 and host05
I wanted to install RAC database software on the 3 hub nodes i.e. host01, host02 and host03.
I invoked the OUI as oracle user (Owner of Database Home)
[oracle@host01 database_12_1_0_2]$ ./runInstaller
and chose the option to install RAC database software only on the 3 hub nodes.
For “normal” indexes, USER_IND_COLUMNS will contain the column name(s) for an index, but things (appear to) go astray when looking at function-based indexes.
SQL> create table blah ( x varchar2(30)); Table created. SQL> create index blah_ix on blah ( upper(x)); Index created. SQL> select column_name from user_ind_columns 2 where index_name = 'BLAH_IX' 3 / COLUMN_NAME ------------------------------ SYS_NC00002$
Don’t panic. Simply take a look at USER_IND_EXPRESSIONS to find the function that you used.
SQL> select column_expression (more...)
Most people are aware of this standard referential integrity control, namely you can’t delete the parent if children exist
SQL> drop table PAR cascade constraints purge; Table dropped. SQL> create table PAR ( p int primary key, data int); Table created. SQL> insert into PAR 2 select rownum, rownum 3 from dual connect by level <= 7; 7 rows created. SQL> SQL> drop table CHD purge; Table dropped. SQL> create table CHD ( c int (more...)
First of all, what are partially applied functions? There’s a little bit of theory here. The concept of partially applying functions stems from the functional way of programming. There it’s tightly linked with a concept called currying. Currying says that every function can be written as a function with only one parameter. By currying and un-currying you can achieve this goal. If this sounds very hard and complex, do not fear, in essence it’s quite (more...)
In the previous Blog I have described how to implement CD for an Oracle database by using migration scripts.
In this Blog I will describe how to create migration scripts (automagically).
This is the more simple case because you need them less often. There are various data compare tools which create scripts to migrate the differences between a source and target schema:
• dbForge Data Compare for Oracle, v3.7 Express (free)
Most people are aware of the STATUS column in V$SESSION. If it’s ‘ACTIVE’ then that connection is in the process of consuming database resources (running a SQL statement etc).
However, a lesser known column which is probably even more useful is the LAST_CALL_ET column. The name suggests the time since the last call, but the documentation provides a more useful description:
If the session STATUS is currently ACTIVE, then the value represents the elapsed (more...)
Oaktable World Las Vegas is happening at Collaborate 2016! Many thanks to Tim Gorman, Alex Gorbachev and Mark Farnham for organizing!
Free Oaktable World t-shirts available at Delphix booth 1613 on Tuesday and at the Oaktable World talks on Wednesday. Also available at the Delphix booth is free copies of Mike Swing’s “the little r12.2.5 upgrade essentials for managers and tema members”. Mike will be doing Q&A at the Delphix booth Tuesday 1:15-2:00 and book (more...)
With Collaborate 2016 under way, there seems no better time to reflect on why PL/SQL is the natural choice for anyone who loves to code, and loves their data
As always happens from time to time, we had the following request on AskTom today:
Could you list down 2 reasons why sql server is better than oracle?
Then 2 counter reasons as to why why oracle is better than sql server
And I thought I’d reproduce my response here
I’ll answer it slightly differently…
Q: When is SQL Server better then Oracle ?
A: When you have good, intelligent, knowledgeable SQL Server people (more...)
Maybe I shouldn’t have written about flexible security, because I immediately starting hitting inflexible security, locking me out.
Today’s fail is courtesy of MailChimp.com, which I use for my newsletters. It’s OK that they decided they want a confirmation when I log on to my account from India, but it is not OK that they require a text message passcode with no other option.
I have my phone in flight mode, because I don’t (more...)
In my previous article, First setup of a connection from Node.js to an Oracle Database, I demonstrated how to make a connection to a remote database using Node.js and the node-oracledb module. I used a dedicated VM with Linux 7 installed and Oracle Instantclient provided the 12.1 client libraries.
Now it’s time to take it a step further.
Let’s create an application container and just start it multiple time running any . (more...)