Building a custom and cheap storage server yourself

Recently i came across a project where they built their own cheap storage. The whole story is documented here and here.

A colleague of me and i saw this project and wondered if this kind of storage could be used for databases as well. So we analyzed the design and noticed some problems from our point of view:

  • data access only via HTTP
  • they used the JFS file system which is not widely used
  • generally hard disks are hot-swappable; but not used due to fear of problems
  • optimized for space rather than for speed
  • relatively “weak” power supply

So we tried to improve the layout with the following constraints:

  • approx. 10.000 Euro (approx. 15.000 US-Dollar) in total
  • Storage accessible via multiple protocols:
    • NFS
    • iSCSI
    • NFS
    • CIFS
    • if possible SAN
  • Reliable
  • Optimized for speed rather than capacity (remember: we talked about databases)
  • Hot-Swapable Harddisks

This is part I of our journey towards building a storage system ourself. Part II is here and Part III here.

Continue reading

Posted in Openstorage | 3 Comments

Which file system to choose for running Oracle on Linux

Beneath the battle of the operating systems (Windows vs.UNIX) there one argumentation after deciding for running oracle on Linux: The choice of the file system and the “correct” partition layout.

This article will sum up what file system are certified for running oracle on Linux (and other platforms as well) and will especially discuss the available file systems on Linux. My opinion regarding an optimal partition layout is written here.

Recommendations regarding the partition layout can be found in an older post here.

Continue reading

Posted in Oracle in general | 3 Comments

Oracle 11g Release 2 – RMAN compression comparison

Starting with Oracle 11g Oracle added several compression algorithms to compress data. They can be used for compressing tables, LOBs , compressed data pump exports or even RMAN backups. Unfortunately for some compression algorithms you need to purchase the “Advanced Compression Option”. The following table lists the available RMAN compression options, the most likely compression algorithm being used and states if an additional license is required:

RMAN Compression TypeCompression Algorithm usedAdv. Compression License required?Backup set sizeCPU Load
BASICBZIP2 (100k record size?)Nosmallmedium to high
NONEnoneNolargest; approx. db sizeextremely small
LOWLZOYESsomewhat smaller than using NONElow
MEDIUMZLIBYESmediummedium
HIGHBZIP2 (900k record size?)YESsmallesthighest

This article is intended to take a look at the different compression methods available in Oracle 11g and to compare them.

Continue reading

Posted in Oracle 11g Release 2, Oracle in general | 15 Comments

ACFS Snapshots

This is a short article about ACFS and the acfs snapshots feature – a new 11g Release 2 feature: How to create, work with and drop a snapshot.

ACFS is the ASM Cluster File System and ships with Oracle 11g Release 2. For using ACFS first of all an ADVM volume must be created and an ACFS file system created on top of it. The same ACFS file system is available on all nodes in the cluster. The data itself is stored in an ASM disk group. More information can be found here. The documentation is available here and here.

Continue reading

Posted in Oracle in general | 2 Comments

Oracle database and operating support matrix

The following matrix shows a matrix of operating systems, database version and certification status. All information is taken from the database documentation and information freely available on the internet (e.g. oracle forums, blogs). The information is structured first into operating systems (Windows, Linux, Other) and further divided into version numbers and architecture (32-bit or 64-bit).

Table annotations

  • n/a: “not supported or certified”; for this there might be several reasons, for instance:
    • operating system too old
    • mixing 32-bit operating system with 64-bit database or vice versa
    • database for this platform not available
  • Projected: will be certified in the future; at this point of time this also counts as “not supported”

Windows

9i R2
32 bit
10g R1
32-bit
10g R2
32-bit
11g R1
32-bit
11g R2
32-bit
9i R2
64-bit
10g R1
64-bit
10g R2
64-bit
11g R1
64-bit
11g R2
64-bit
Windows 2000
32-bit
CertifiedCertifiedCertifiedCertifiedn/an/an/an/an/an/a
Windows 2003
32-bit
CertifiedCertifiedCertifiedCertifiedCertified
(Single Instance only)
n/an/an/an/an/a
Windows 2003 R2
32-bit
CertifiedCertifiedCertifiedCertifiedCertified
(Single Instance only)
n/an/an/an/an/a
Windows 2003
64-bit
n/an/an/an/an/an/an/aCertifiedCertifiedCertified
Windows 2003 (Itanium)
64-bit
n/an/an/an/an/aCerti-
fied
Certi-
fied
Certifiedn/an/a
Windows 2003 R2
64-bit
n/an/an/an/an/an/an/aCertifiedCertifiedCertified
Windows 2003 R2 (Itanium) 64-bitn/an/an/an/an/an/an/aCertifiedn/an/a
Windows 2008
32-bit
n/an/aCerti-
fied
Certi-
fied
Certified
(Single Instance only)
n/an/an/an/an/a
Windows 2008 R2
32-bit
n/an/an/an/aCertified
(Single Instance only)
n/an/an/an/an/a
Windows 2008
64-bit
n/an/an/an/an/an/an/aCertifiedCertifiedCertified
Windows 2008 R2
64-bit
n/an/an/an/an/an/an/an/an/aCertified

Linux

9i R2
32 bit
10g R1
32-bit
10g R2
32-bit
11g R1
32-bit
11g R2
32-bit
9i R2
64-bit
10g R1
64-bit
10g R2
64-bit
11g R1
64-bit
11g R2
64-bit
SLES 8
32-bit
Certi-
fied
Certi-
fied
n/an/an/an/an/an/an/an/a
SLES 9
32-bit
Certi-
fied
Certi-
fied
Certifiedn/an/an/an/an/an/an/a
SLES 10
32-bit
n/an/aCertifiedCertifiedCertifiedn/an/an/an/an/a
SLES 11
32-bit
n/an/aCertifiedCertifiedCertifiedn/an/an/an/an/a
SLES 8
64-bit
n/an/an/an/an/aCerti-
fied
Certi-
fied
n/an/an/a
SLES 9
64-bit
n/an/an/an/an/aCerti-
fied
Certi-
fied
Certifiedn/an/a
SLES 10
64-bit
n/an/an/an/an/an/an/aCertifiedCertifiedCertified
SLES 11
64-bit
n/an/an/an/an/an/an/aCertifiedCertifiedCertified
Red Hat AS/ES 3
32-bit
Certi-
fied
Certi-
fied
Certifiedn/an/an/an/an/an/an/a
Red Hat AS/ES 4
32-bit
Certi-
fied
Certi-
fied
CertifiedCertifiedCertifiedn/an/an/an/an/a
Red Hat AS/ES 5
32-bit
n/an/aCertifiedCertifiedCertifiedn/an/an/an/an/a
Red Hat AS/ES 3
64-bit
n/an/an/an/an/aCerti-
fied
Certi-
fied
Certifiedn/an/a
Red Hat AS/ES 4
64-bit
n/an/an/an/an/aCerti-
fied
Certi-
fied
CertifiedCertifiedCertified
Red Hat AS/ES 5
64-bit
n/an/an/an/an/an/an/aCertifiedCertifiedCertified
Oracle Enterprise Linux 4
32-bit
Certi-
fied
Certi-
fied
CertifiedCertifiedCertifiedn/an/an/an/an/a
Oracle Enterprise Linux 5
32-bit
n/an/aCertifiedCertifiedCertifiedn/an/an/an/an/a
Oracle Enterprise Linux 4
64-bit
n/an/an/an/an/aCerti-
fied
Certi-
fied
CertifiedCertifiedCertified
Oracle Enterprise Linux 5
64-bit
n/an/an/an/an/an/an/aCertifiedCertifiedCertified
Oracle Enterprise Linux 6
64-bit
n/an/an/an/an/an/an/an/an/aCertified (11.2.0.3.0 and later)

Solaris, HP-UX, AIX

Continue reading

Posted in Oracle in general | 8 Comments

Using data pump to export and import data using the network mode feature

Data Pump is a great improvement of the old fashioned export and import utility. Data Pump is available since 10g Release 2 and offers some nice new features, for instance a API to be used to start exports and imports from within the database. Beside these features there is one major feature using data pump: SPEED. Data pump is by factors faster that traditional export/import.

A more comprehensive description about data pump can be found here or here. Documentation for version 11g Release 2 is available here.

One of the downsides of data pump – especially for unix dbas – is that data pump in oracle 10g is unable to compress the data (however it does compress metadata but savings are negligible) and is also unable to use pipes (which can be used to compress data if the software does not support this).Starting with 11g Release 1 the ability to compress data was added but required the expensive “Advanced Compression” license.

Another useful new data pump feature is the so called “network mode” which transfers the data to be imported over a database link instead of exporting the data into a file, transferring the file(s) to the destination server and importing the the export file(s).

This article is a short documentation about how to use data pumps network mode feature for importing data to remote (source and destination database are different) or local (source and destination database are the same) database instances. For general information how to use data pump or an introduction refer to the oracle documentation.

Continue reading

Posted in Oracle in general | 2 Comments

How to copy schema stats from one schema to another schema

The following post is a short description how to copy schema statistics from one schema to another. Basically there are two methods for doing this:

  • using DBMS_STATS or
  • using Data Pump

This is especially useful when doing large data transfers between either schemas or databases and statistics are needed fast. Remember that data density, row chaining or index cluster factor changed due to the data import and index rebuilds.

Continue reading

Posted in Oracle in general | 8 Comments

Calculate required kernel parameters for running Oracle 11g Release 2 on Linux

The following is a short guide on how to calculate the required kernel parameters for running Oracle 11g Release 2 database on Linux.

In addition to that i add some parameters recommended by myself.

Note that for running Oracle Grid Infrastrucure (aka “Clusterware”) some additional parameters might be required.

Continue reading

Posted in Oracle 11g Release 2, Oracle in general | 4 Comments

ASM resilvering – or – how to recover your crashed cluster

In this and the following posts i will perform some crash and recover scenarios and show how to recover the cluster successfully.

At the moment the following tests are planned and will be published during the next days:

The environment used for the posts are explained in detail here.

Useful scripts can be found here.

Posted in Oracle 11g Release 2, Oracle ASM, Oracle in general | 2 Comments

ASM resilvering – or – how to recover your crashed cluster – Test no 5

In this post we will reproduce a more common scenario: We will forcefully remove the asm disk device from the operating system. This simulates common errors like a crashed storage system or some kind of interrupted connectivity (cable plugged, power failed, …).

All test are available here.

Continue reading

Posted in Oracle in general | 3 Comments