In this series of blogs about Continuous Delivery and the Oracle database, I describe how to automate deployments (installations). In the previous two Blogs I have described the tools and techniques used to create and install migration scripts.
In this Blog I will describe the ‘(un)happy flow’ for a database deployment: what to do if the deployment (installation) is correct (the ‘happy flow’) and what to do if it goes wrong (the ‘unhappy flow’)?
My Oracle Public Cloud DBaaS instance did not respond. On closer investigation, it turned out to be down. Mounting the database ended with an ORA-3113 End of Communication Channel. Investigation of the startup log and the database alerts indicated that no new archive log files could be created. The DBaaS instance is in archive log mode – and has created quite a chunk of archive log files over the last few months – now causing (more...)
Some months ago I worked on a project where we thought it would be a good idea to use multiple guaranteed restore points to be able to navigate through time back and forth. Sadly we ran into some unexpected behaviour of the Fast Recovery Area.
This was basically a consolidation project. A rather complicated one: many tables had to be read from five other databases and its data needed to be inserted into the (more...)
Nice little best practice for statistics and Data Pump when doing either Transportable Tablespaces or Full Transportable Export-Import (credits to Roy and Dean Gagne)..
Transport Statistics via a Staging Table
First of all we always recommend to exclude statistics when doing a Data Pump export as the import of...... [Read More
This issue got raised to my via a customer I know for quite a while - all credits go to Andy Kielhorn for digging down into that issue and solving it. ,
Failed RMAN Catalog Upgrade from 126.96.36.199 to 188.8.131.52
The RMAN catalog upgrade:
$ rman CATALOG... [Read More
Top features: Promise support
node-oracledb 1.9.0-Development is now available only as a
development-only branch on GitHub. It adds Promise support and some
other goodies mentioned below. The plan is to incorporate any user
feedback, stabilize the features, improve documentation, improve test
covereage, and run...... [Read More
What happened so far on my Journey to the Cloud?
Part I - Push a Button (Dec 3, 2015)
Part II - Switch On/Off and Remove (Dec 4, 2015)
Part III - Patch, patch, patch (Dec 22, 2015)
Part IV - Clean Up APEX (Jan 19, 2016)
Part V - TDE is wonderful (Jan 28, 2016)
==> Part VI... [Read More
Berkeley Database Version 6.2 (184.108.40.206.23) is now available for download.
Page – Click Here
Page – Click Here
Berkeley Database Version 6.2 – New Features
· Slices – provides significantly better scalability
on large SMP machines as compared to the previous release.
... [Read More
I've released PHP OCI8 2.0.11 (for supported PHP 5.x versions) and
2.1.1 (for PHP 7) to PECL. Windows DLLs on PECL been built by the PHP release team.
The updated OCI8 code has also been merged to the PHP source branches
and should land in the future PHP 5.6.21 and PHP 7.0.7 source bundles,
PHP OCI8... [Read More
While disasters do occur every now and then, many production deployments lack a disaster recovery (DR) system. Oracle Database Appliance makes a great solution for deploying a disaster recovery system (especially for production ODA deployments) for the following reasons.
1. Easy to setup (setup entire DR site in... [Read 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)
I’ve updated my install cookbooks page to include a new cookbook for installation of Oracle 220.127.116.11 Real Application Clusters on Oracle Linux 6.7.
This is also the first one I’ve published since I left the employment of Violin Memory to work for Kaminario, so this install uses a Kaminario K2 All Flash Array. However, it applies very well to any Oracle RAC installation which uses relatively capable storage.
In this Blog I will explore the possibilities to apply Continuous Delivery (CD) for the Oracle database.
What is Continuous Delivery?
The introduction on Wikipedia Continuous Delivery says:
“Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently. The approach helps reduce the cost, time, and (more...)
My objective: be able to very quickly run Node.js applications that can connect to an Oracle Database – with minimal disturbance of my laptop environment (Windows 7).
The solution discussed in this article: use Vagrant on Windows – together with VirtualBox – to create a Linux Host VM, install Docker in that VM and provision a Docker Container with Oracle Linux 7, Node.js and the node-oracle package (the Oracle Database Driver) with the (more...)
A quick one. In the past I used to generate ddl based on queries, like the following. But I find myself to re-invent them again. So to have it saved for my offspring: here's one on deleting obsolete columns as generated on importing an excel sheet in SQLDeveloper:
l_schema_name varchar2(30) := 'MY_SCHEMA';
l_table_name varchar2(30) := 'A_TABLE';
cursor c_cols is
from all_tab_columns col
where col.table_name = l_table_name
and col.owner = l_schema_name
>> 「しばちょう先生の試して納得！DBAの道」 最新号(No.44)
「Recovery ManagerのVALIDATEでリストア・リカバリに備える」 を読む
This is an interesting question that I sometimes find myself thinking about. I’ll start with my answer, I actually don’t know, but I can show you that all them can be! Since my wife is doing a Ph.D. in biology she reads and analyzes a lot of data and also decides how to present it […]
This was my second day:
Michael Tamm (optivo GmbH): Feature Toggles on Steroids
Very good summary off all topic’s covering feature toggles. Wish I had this summary 2 years before, were we have evaluated this. Unfortunately furthermore no solutions for declarative frameworks like Oracle ADF with it’s wizards and xml configurations, which later generated code. Ironic answer to my question: “Don’t use frameworks – use Java”
Alexander Casall (Saxonia Systems AG): User Experience for techies
By default on an Oracle RAC installation, the listeners are configured to allow any database to register with them. There is no security out of the box to determine which databases may register. While this makes it easy to create new databases without worrying about listener registration, this can cause potential problems in a real environment.
This can be dangerous working with RAC environments where the database registers with both a local and remote listener. The (more...)
This morning I was working on an Oracle Management Repository (OMR) for a test Enterprise Manager that is used by a few consultants I work with. When I logged into the box, I found that the OMR was down. When I went to start the database, I was greeted with ORA-01172 and ORA-01151.
These errors basically say:
ORA-01172 – recovery of thread % stuck at block % of file %
ORA-01151 – use media recovery (more...)