2010/04/08
A few weeks ago I wrote about Oracle backups and restore/recovery. A company called “DRS” for the sake of anonymity was mentioned. They are still struggling with the (test) restore and recovery of a Windows based Oracle server.
My company has started to take a serious look at this field (cloud backups that is). We have initiated a search for a suitable partner that can provide the infrastructure needed for such services. Recent events have led us to believe that hosting infrastructure should indeed be handled by experts. By that I mean expert in every sense of the word: highly skilled/experienced and works only/mainly with … The former is just as important as the latter. I sometimes meet people that work only with one technology/product; they automatically assume that this makes them experts.
We want to create a service for backing up Oracle databases. It will use the native backup utilities for creating local backups. These backups will be available for regular restore and recovery operations. In addition, they will be transferred (encrypted and compressed) to a remote site. The encryption key will only be available at the client site, making it safe to store backups from several customers on the same backup server. Initially this will be a pure off-site storage solutions, future versions will have the ability to perform test restore/recovery operations at the site of the remote backup. The ultimate goal is to create a full disaster recovery solution for small and medium sized businesses.
In future posts I will describe the technical solution in more detail. Specifically; I will discuss bandwidth requirements, Oracle features needed and how to seed the backup with the help of removable media.
Leave a Comment » |
oracle |
Permalink
Posted by ebraekke
2010/03/08
I had this very strange experience today. One of my clients invited me to a meeting with their provider of Disaster Recovery Solutions (from now on called “DRS”). I was there to explain the intricate details of Oracle backup, restore and recovery. “DRS” is a rather successful player in the field of cloud backups, primarily for the SMB segment. They have added database backups and Enterprise style disaster recovery solutions to their portfolio. Everything seems to be based on off-the-shelf products that “DRS” sell under their own brand. Fair enough, this is what commodity computing is all about.
What is not so fair is that the Oracle backup solution is a blast from the past, utilizing “ALTER TABLESPACE … BEGIN BACKUP;”. Yes, I kid you not. Also, “DRS” was (1) not aware of this and (2) did not understand that this was a bad thing. The net-net of the meeting was that “DRS” offered my client to run a recovery test on the database server (“I think I have done Oracle recovery once before”) to prove that they had a good handle on the situation.
I am not sure if I should laugh or cry. My client is in a bind and “DRS” is not helping by continuing to pretend that is something they know how to do.
The really interesting thing about this whole story is how it highlights the pedagogical challenge involved in explaining database backup and restore/recovery concepts. Most of the time the databases just works. It is very seldom that one has to perform any kind of recovery. On top of that, vendors like Microsoft provide sleek interfaces to their backup utilities. This fuels the illusion that database backup and restore/recovery is simple and not really different from regular sysadmin work.
Leave a Comment » |
database, oracle, virtualisering |
Permalink
Posted by ebraekke
2010/02/17
Cloud seminaret i dag 17. februar 2010 var en selsom opplevelse. Bare et par uker etter at Larry Ellison hadde harselert med begrepet Cloud, kjører det nye Oracle et Cloud seminar i Oslo. Utover en (1) skikkelig bra sesjon rundt definisjoner, så var det mye kjent – lese lite nytt – fra Oracle. Jeg antar at formålet var å vise at Oracle er “med” og at de har produkter og tjenester for alt som har med Cloud å gjøre. Det meste interessante var vel det som ikke ble sagt, nemlig utfordringen med norsk lov mht lagring av data. Det er jo ikke helt problemfritt å lagre kritiske kundedata eller backup utenfor landets grenser. I tillegg kommer utfordringer med jurisdiksjon. Jon Honeyball som bla er skribent i PCPRO har belyst problematikken med datasenter i EU, men eid av Microsoft/Azure. Dersom National Security Agency i USA krever data utlevert fra Azure i Irland, hva skjer da?
Enn så lenge minner situasjonen i Norge i dag på den vi hadde en del år tilbake rundt innføringen av ADSL. Telenor ville melke ferdig investeringene på ISDN før de kjørte ut ADSL. På samme måte ser vi nå at de store driftssentralene ikke fokuserer på Skyen fordi de kan tjene mer på det tradisjonelle hostingmarkedet. Tilbydere av dynamiske tjenester – slik som EngineYard (US) og Brightbox (UK) – er avhengig egen eller andres infrastruktur. Først når vi får Sky-basert infrastruktur som små selskaper kan kjøpe kapasitet fra, vil mindre og lettbente aktører være i stand til å tilby skreddersydde løsninger i segmentet Software as a Service/Platform as a Service. Hvem vil være først med Sky-basert infrastruktur i Norge?
Leave a Comment » |
oracle, virtualisering |
Permalink
Posted by ebraekke
2008/12/16
If you need to install some components in your Oracle database as sys, you could be in for a surprise. You can have different passwords in your password file (in $ORACLE_HOME/dbs) and inside the database. To make sure that the right one is used, perform the following using the role “sys as sysdba” in sqlplus directly on the database server:
sql> alter user sys identified by yourpasswordhere;
This problem could occur if you use the orapwd utility to create a new password for your instance *and* set it to something different than what you have inside of the database. I have seen it several times during migrations.
Leave a Comment » |
oracle |
Permalink
Posted by ebraekke
2008/11/27
rman in the cloud.
We have started experimenting with the cloud backup module of rman (Oracle Recovery Manager). This module adds media management support for aws (Amazons Web Service), specifically the s3 storage service.
For all our databases (clients’ and our own) that run Oracle on 10g or higher we use recoverable image copies instead of backup sets (rman: backupset). We typically have one image copy set in +ASM that trails the database by n days, where n is the recovery window. In addition we have one image copy set on a filesystem (local or remote) that trails the database by less than a day (rman: until time “trunc(sysdate)”).
Our plan is to create backup sets on aws of the image copies once a week. Since the aws driver is a sbt (rman: tape) driver, there are certain restrictions. The most important is that we can only backup sets, not image copies.
According to the documentation (10gR2), the following are legal variations of the “backup … copy of …” command:
backup as copy copy of database;
backup as backupset copy of tablespace tablespace_name;
backup as backupset copy of datafile datafile;
Based on the syntax diagrams, I am hoping I will be allowed to do:
backup as backupset copy of database;
Will let you know how it plays out.
Leave a Comment » |
oracle |
Permalink
Posted by ebraekke
2008/11/26
Configure ruby for mysql on the Mac
I struggled with this one. First I though the problems were rooted in the MySQL version I was running (5.1.X). I realized finally that I had not provided all the configuration parameters.
My original attempt:
sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql
The output from this command includes:
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb install mysql -- --with-mysql-dir=/usr/local/mysql
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
...
I managed to make it work by changing the command line to:
$ sudo gem install mysql -- \
--with-mysql-config=/usr/local/mysql/bin/mysql_config
Building native extensions. This could take a while...
Successfully installed mysql-2.7
1 gem installed
PS: The “\” is just a line continuation marker, to make things fit in this post.
PS: This was after downgrading mysql to 5.0.X.
Leave a Comment » |
mac, mysql, ruby |
Permalink
Posted by ebraekke