Skip to content

Database

Everything our consultants learn while running databases for customers: Oracle, PostgreSQL, SQL Server, MySQL, MariaDB, MongoDB and Delphix. Expect hands-on posts about installation, day-to-day administration, backup and recovery, performance tuning, replication and upgrades.

Connecting your PostgreSQL instance to an Oracle database

For integrating data from other systems PostgreSQL has the concept of foreign data wrappers. Many of these exist for different types of systems. In this post I’ll look into how you may connect PostgreSQL to Oracle. The home of the foreign data wrapper for Oracle (as most of the PostgreSQL stuff) is on github. If you do not want to… 

SQL Server 2016: In-Memory OLTP enhancement

The CTP2.1 has been released for some weeks and it is time to check which interesting enhancements have been already deployed for the In-Memory OLTP feature. I will first have a look to the memory optimized table. Memory Optimized table I have a Memory Optimized table named command_queue_HK and I will add a column to this table. This table is… 

Dealing with SSRS subscription schedules in AlwaysOn environment

A couple of days ago, I had the opportunity to work with AlwaysOn 2014 infrastructure that included a report server (SSRS) in native and scale-out mode. As you know, dealing with SSRS and availability groups is not an easy task depending on the used features. This is particularly true when scheduling and subscriptions are used by customers. Here’s a brief… 

How to solve accent sensitive problems?

Some days ago, one of my customer claimed that searching for “Muller” doesn’t return “Mueller” and “Müller” as well! This is typically an issue due to the collation of the SQL Server database, but how to resolve this problem? The collation of the database is Latin1_General_CI_AS, so a case insensitive and accent sensitive collation. If a run the following query:… 

Clustered columnstore index and memory management

Few weeks ago, I had the opportunity to give a session about the clustered columnstore index feature (CCI) at our In-Memory event dedicated to In-Memory technologies for Microsoft SQL Server, Oracle and SAP HANA. During our session, I explained the improvement made by Microsoft on SQL Server 2014 with the introduction of new clustered columnstore index (CCI). The CCI includes… 

ACFS 12.1.0.2 on Oracle Linux 7.1

Recently we wanted to create an ACFS filesystem on a brand new 12.1.0.2 GI installation on Oracle Linux 7.1. According to the documentation this should not be an issue as “Oracle Linux 7 with the Unbreakable Enterprise kernel: 3.8.13-33.el7uek.x86_64 or later” is supported. The “or later” is the important point. In our case: uname -a Linux racp1vm1 3.8.13-55.1.6.el7uek.x86_64 #2 SMP… 

RESULT_CACHE hint expiration options

By Franck Pachot . The result cache is very nice when base tables are static: get the result without any buffer get, without any join or sorts. But as soon as any DML occurs on one of the tables the result is based on, then result cache is invalidated. And cache misses are quite expensive. You can think of it… 

Testing the just released PostgreSQL 9.5 Alpha in a docker container

On the 2cnd of July the PostgreSQL Global Development Group released an alpha version of the upcoming PostgreSQL 9.5. The same day, Josh Berkus, another of those PostgreSQL core team members released a docker image for testing this alpha release. It’s never been that easy to get started with PostgreSQL or testing new features. If you are on Linux the… 

Multitenant vs. schema based consolidation

By Franck Pachot . If you want to install multiple instances of a software, for example you host the ERP for several companies or subsidiaries, you have 3 solutions: have one database and multiple schema have multiple databases have one database and multiple pluggable databases Of course, this is exactly the reason for pluggable databases: multitenant. You have good isolation… 

Indexing for like/similarity operations

Indexing queries for like/similarity conditions is not that easy with the usual index types. The only option you have with btree indexes (especially if the wild-card is at the beginning of the filter) is to create a partial index on that columns for a very specific query. Let’s do a simple example with a btree index. The test data: drop… 

Oracle Log Writer and Write-Ahead-Logging

By Franck Pachot . I posted a tweet with a link to a very old document – 20 years old – about ‘internals of recovery’. It’s a gem. All the complexity of the ACID mecanisms of Oracle are explained in a very simple way. It was written for Oracle 7.2 but it’s incredible to see how much the basic things… 

Oracle Database Cloud Service – My first trial

By Franck Pachot . The cloud has been annouced, I want to try. From the cloud.oracle.com/database website, there is Trial only for the ‘Database Schema Service’ so I asked fot it, received an e-mail with connection info and it works:   Good. The password was temporary, so I have to change it, and set answers to 3 within 4 questions…