Skip to main content

Large file synchronization

Efficiently synchronize copies of a large sparse file locally. I deal with a large amount of large sparse files because of virtualization and other technologies. Because of their size, often a small number of blocks have data and, of these, a small number of blocks are changed and need to be backed up. Using a log-based (snapshotting) file system on USB 2 as a backup device, I only want to write blocks if absolutely necessary.

So what's the solution?  Some simple custom code that

  1. checks that both file sizes are identical;
  2. verifies that some metadata has changed (i.e time stamp, permissions or owner/group);
  3. reads both files block-by-block;
  4. writes only changed blocks to the destination file, and
  5. updates any changed metadata.

Oracle Database 12c: Flex ASM enable an existing cluster

This HowTo demonstrates migrating a RAC cluster to Flex ASM from 'traditional' ASM.

The prerequisites are that the OCR files, ASM parameter file and ASM password file are stored in an ASM disk group with asm.compatible set to at least 12.1.  We will confirm the ASM cluster mode before we begin and after we have finished.


Oracle Database 12c IPv6 enabled CRS RAC (Grid Infrastructure)

Oracle Database 12c Release 1 fully supports IPv6. Here is how to add IPv6 support to VIPs and SCANs in a 12c RAC cluster. The VIPs, SCANs and their listeners will support both IPv4 and IPv6 and addresses from both families will relocate between RAC nodes as normal. It is only assumed that the servers already have a host IPv6 address assigned via auto-configuration.


Capacity trending graphs/charts in Oracle Grid Control

Example trending chart

Below I will annotate an example using SQL to extract and chart some tablespace trending data using GNU Plot.

Oracle's Grid Control collects, stores, and manages historical metric data for hosts, databases, and all sorts of targets. This data is difficult to retrieve, especially the historical data. Creating a report in Grid Control results in a small bitmapped image. If you need, say, a year of CPU data, this small bitmap is difficult to interpret.

If the data is extracted from Grid Control's Oracle Management Service (OMS) then graphically representing the data can also be performed externally. One such tool that can be used to graph the data is GNU Plot.


Monitoring GoldenGate replicat performance using 'flashback query'

By using a checkpoint table in the OGG replicat database, you can retrospectively review the replicat's lag using flashback query (with some limitations if you do not utilise a heart beat table).

Picture the scenario. You receive observations that the Oracle GoldenGate (OGG) replicat system that you are responsible for had fallen behind overnight and all overnight processing was performed against incorrect data. What do you do? Perhaps the observation was erroneous. How can you demonstrate this?


Migrate/Upgrade Debian 7 Wheezy GNU/Linux from 32 bit to 64 bit HowTo

This HowTo converts a working 32 bit installation into a 64 bit system. You keep all programs, settings and data. You start with a 32 bit system that can run 64 bit programs, and finish with a 64 bit system that can run 32 bit programs. We firstly demonstrate an upgrade from 6.0 Squeeze 32 bit to 7 Wheezy because Debian 7 is a pre-requisite.

With the recent release of Debian GNU/Linux 7.0 Wheezy, a new feature called multiarch has been introduced. The facility permits the installation of executable files (such as libraries and programs) from multiple architectures simultaneously on the same system. The primary use of this is to allow 32 bit programs to be run on a 64 bit system, but there are more interesting possibilities. We can turn this on its head, allowing 64 bit programs to run on a 32 bit system, then ultimately replace all 32 bit programs with their 64 bit equivalents. No other operating system can provide this flexible feature.