QGIS stylesheets for OpenStreetMap
Ready-made QGIS stylesheets (QML) for OpenStreetMap are available for download. These were created and tested with QGIS version 2.2 on Debian GNU/Linux 7.
Presenting Ordnance Survey Meridian 2 data in QGIS
Below are QGIS QML stylesheets for OS OpenData Meridian 2 layers. Ordnance Survey data has been available for a while for download as OS OpenData. Also provided are SLDs for ESRI. However these SLDs do not import correctly into QGIS.
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
- checks that both file sizes are identical;
- verifies that some metadata has changed (i.e time stamp, permissions or owner/group);
- reads both files block-by-block;
- writes only changed blocks to the destination file, and
- updates any changed metadata.
Change private interconnect network interface in Database 12c CRS GPnP
How to start CRS when the private interconnect's netmask has changed. This HowTo will describe how to update the OLR with the new netmask.
Recover from lost OCR disk group in Oracle Database 12c
How to recreate a lost OCR ASM disk group from scratch. This HowTo applies to Database 12c RAC. We will rebuild the disk group, restore the OCR, replace the voting disks, and recreate the ASM parameter and password files.
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.
Mapping UK crime data HowTo
We will create a database and populate it with UK streets and incidents of street crime. We will then plot the crimes on an interactive map for further analysis.
We will create a PostgreSQL PostGIS database on the local machine. Eventually all our spatial data will be stored here.
Capacity trending graphs/charts in Oracle Grid Control
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?