testbed : Oracle Secure Backup 10.4

 

ARCHITECTURE

Cet article décrit la procédure pour installer OSB 10.4.0.3 avec une librairie et des lecteurs de bandes virtuels. Pour une présentation rapide d’OSB voir l’article Qui connait OSB?.

 

Nous utilisons ici deux serveurs linux virtuels sous VirtualBox. Les 2 serveurs sont :

osbserver qui est un serveur Oracle Linux Server release 6.5. Il hébergera le serveur OSB (Administrative Server) et le media (Media Server). La library (librairie), les drives (lecteurs de bande) et les tapes (cassettes) seront virtuels, ils seront aussi installés "dans" ce serveur.

oradbm01 qui est un Oracle Linux Server release 6.3. Un client OSB y sera installé. Il héberge déjà une base de données qui va servir de test et qui se nomme TESTORA, c’est une 11gR2 (oui je sais la 12c est sortie depuis un petit moment)

Ci-dessous le schéma d’architecture de ce que nous allons mettre en œuvre dans cet article:

 

 

 

 

INSTALLATION SERVEUR

 

Avant de commencer l’installation proprement dite sur osbserver, il faut faire un link sur le binaire uncompress à partir de gunzip… oui cela peut apparaitre un peu archaïque  mais c’est comme cela.

[root@osbserver ~]# cd /bin
[root@osbserver bin]# ln -s /bin/gunzip uncompress
[root@osbserver bin]#  type uncompress
uncompress is /bin/uncompress

Il faut aussi couper tous les firewalls comme ci-dessous… sinon vous pouvez toujours les configurer pour laisser passer le flux OSB (mais ce ne sera pas traité ici)

[root@osbserver ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]

[root@osbserver ~]# chkconfig iptables off
[root@osbserver ~]# chkconfig ip6tables off

[root@osbserver ~]# service ip6tables stop
ip6tables: Setting chains to policy ACCEPT: filter         [  OK  ]
ip6tables: Flushing firewall rules:                        [  OK  ]
ip6tables: Unloading modules:                              [  OK  ]

[root@osbserver ~]# chkconfig |grep table
ip6tables             0:off      1:off      2:off      3:off      4:off      5:off      6:off
iptables               0:off      1:off      2:off      3:off      4:off      5:off      6:off

Ensuite il faut décompresser les sources, puis lancer l’installation à partir du répertoire où l’on veut que les binaires s’installent… oui cela peut apparaitre un peu archaïque  mais c’est comme cela. Oracle recommande d’installer dans /usr/local/oracle/backup donc je vous conseille d’en faire autant.

[root@osbserver ~]#  mkdir -p /usr/local/oracle/backup
[root@osbserver ~]#  cd /usr/local/oracle/backup
[root@osbserver backup]# unzip /media/sf_Sources/OSB/osb-10.4.0.3.0_linux.x64_release.zip -d /tmp
[root@osbserver backup]# /tmp/osb-10.4.0.3.0_linux.x64_release/setup

Un script interactif se lance alors:

Welcome to Oracle's setup program for Oracle Secure Backup.  This
program loads Oracle Secure Backup software from the CD-ROM to a
filesystem directory of your choosing.

This CD-ROM contains Oracle Secure Backup version 10.4.0.3.0_LINUX64.
Please wait a moment while I learn about this host... done.

Would you like to load the Oracle Secure Backup software into your
current directory /root?
(Oracle recommends using /usr/local/oracle/backup as the Oracle
Secure Backup home)
A 'yes' answer proceeds to use the current directory [yes]:
yes
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
    1. linux86_64
       administrative server, media server, client

-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Loading Oracle Secure Backup installation tools... done.
Loading linux86_64 administrative server, media server, client... done.
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Oracle Secure Backup has installed a new obparameters file.
Your previous version has been saved as install/obparameters.savedbysetup.
Any changes you have made to the previous version must be
made to the new obparameters file.

Would you like to continue Oracle Secure Backup installation with
'installob' now?  (The Oracle Secure Backup Installation Guide
contains complete information about installob.)
Please answer 'yes' or 'no' [yes]:         

      Avant de répondre yes, dans une autre fenêtre, éditer le fichier /usr/local/oracle/backup/install/obparameter et modifier les 2 lignes suivantes pour mettre yes à la place de no :
                                 customized obparameters:                        yes
                                 create pre-authorized oracle user:         yes

    Vous répondez alors yes à la question

yes
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Welcome to installob, Oracle Secure Backup's installation program.

For most questions, a default answer appears enclosed in square brackets.
Press Enter to select this answer.

Please wait a few seconds while I learn about this machine... done.

Have you already reviewed and customized install/obparameters for your <-- vous venez de le faire pécédement
Oracle Secure Backup installation [yes]?  
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Oracle Secure Backup is not yet installed on this machine.

Oracle Secure Backup's Web server has been loaded, but is not yet configured.

Choose from one of the following options. The option you choose defines
the software components to be installed.

Configuration of this host is required after installation completes.

You can install the software on this host in one of the following ways:
    (a) administrative server, media server and client
    (b) media server and client
    (c) client

If you are not sure which option to choose, please refer to the Oracle
Secure Backup Installation Guide. (a,b or c) [a]? a  <--réponse a (nous installons le serveur)

Beginning the installation.  This will take just a minute and will produce
several lines of informational output.

Installing Oracle Secure Backup on osbserver (Linux version 3.8.13-16.2.1.el6uek.x86_64)

You must now enter a password for the Oracle Secure Backup encryption
key store.  Oracle suggests you choose a password of at least 8
characters in length, containing a mixture of alphabetic and numeric
characters.

Please enter the key store password:     <--mot de passe du wallet qui contiendra les clefs, à ne pas perdre
Re-type password for verification:

You must now enter a password for the Oracle Secure Backup 'admin' user.
Oracle suggests you choose a password of at least 8 characters in length
containing a mixture of alphabetic and numeric characters.

Please enter the admin password:         <-- mot de passe admin de l’application OSB
Re-type password for verification:                                                      

You should now enter an email address for the Oracle Secure Backup 'admin'
user. Oracle Secure Backup uses this email address to send job summary
reports and to notify the user when a job requires input. If you leave this
blank, you can set it later using the obtool's 'chuser' command.

    generating links for admin installation with Web server
[...]
    initializing the administrative domain
    creating default oracle user

****************************** N O T E ******************************
On Linux systems Oracle recommends that you answer no to the next two
questions. The preferred mode of operation on Linux systems is to use
the /dev/sg devices for attach points as described in the 'ReadMe'
and in the 'Installation and Configuration Guide'.

Is client connected to any tape libraries that you'd like to use with

Oracle Secure Backup [no]?       <-- non, plus tard merci

Is client connected to any tape drives that you'd like to use with

Oracle Secure Backup [no]?       <-- non, plus tard merci                                                                                               
Installation summary:

    Installation  Host                OS          Driver     OS Move    Reboot
        Mode      Name                Name      Installed?  Required?  Required?
         admin         client              Linux     no          no         no  

Oracle Secure Backup is now ready for your use. 

Et voilà les binaires sont installés sur notre serveur nommé osbserver. Comme vous avez pu le constater l’installation est assez basique.

 

Configuration de la library et des drives

 Les drives physiques et la librairie physique n’existent pas dans notre cas, on va en créer des virtuels grâce à OSB.

OSB a une interface graphique, une GUI sous http, comme nous le verrons plus loin dans l’article. Mais aussi, comme tout vrai outil, une interface en ligne de commande qui, si elle est moins conviviale, est beaucoup plus efficace et plus riche en fonctionnalité. L’outil en ligne de commande s’appelle obtool.

 

Nous allons donc configurer nos drives et notre librairie avec obtool. Mais avant, nous créons un répertoire où nous mettrons notre « hardware virtuel », il y sera stocker sous formes de fichiers et répertoires.

[root@osbserver ~]#   mkdir /devirtual

Puis que le hardware soit !

[root@osbserver ~]# obtool
Oracle Secure Backup 10.4.0.3.0
Warning: auto-login failed - login token has expired
login: admin
Password:

ob> obtool -u admin chhost -r client,admin,mediaserver "osbserver"
ob> obtool -u admin mkdev -t library -o -S 12 -I 2 -a osbserver:/devirtual/vlib -v vlib
ob> obtool -u admin mkdev -t tape -o -a osbserver:/devirtual/vdte1 -v -l vlib -d 1 vdte1
ob> obtool -u admin mkdev -t tape -o -a osbserver:/devirtual/vdte2 -v -l vlib -d 2 vdte2

Et voilà, nous avons deux drives dans une librairie de 12slots.

Vous pouvez les visualiser sous obtool :

ob> lsdev -v
library             vlib             in service         
  drive 1           vdte1            in service         
  drive 2           vdte2            in service         

Ou alors visualiser sous la GUI : http://osbserver

Ah j’ai failli oublier, c’est bien beau une librairie et deux drives, mais sans cassette il n’y aura pas de backup. Mettons donc des tapes vituelles… au moins elles ne coûtent pas chères… aller 10 tapes…

Et une fois cela fait, visualisons les sous la GUI :

Cliquez sur "Libraries"

Mettez en surbrillance "library" puis cliquez sur le bouton "List Volumes"

 

Au tour du client maintenant…

 

INSTALLATION CLIENT

Le client va être installé sur le serveur oradbm1.

L’installation d’un client ressemble à celle du serveur, c’est le même principe, la même source, la différence se fait sur le choix des réponses donc :

[root@oradbm1 ~]# mkdir -p /usr/local/oracle/backup
[root@oradbm1 ~]#  cd /bin
[root@oradbm1 bin]#  ln -s /bin/gunzip uncompress
[root@oradbm1 bin]#  type uncompress
uncompress is /bin/uncompress
[root@oradbm1 bin]# cd /usr/local/oracle/backup
[root@oradbm1 backup]# unzip /media/sf_Sources/OSB/osb-10.4.0.3.0_linux.x64_release.zip -d /tmp

[root@oradbm1 backup]#  /tmp/osb-10.4.0.3.0_linux.x64_release/setup
Welcome to Oracle's setup program for Oracle Secure Backup.  This
program loads Oracle Secure Backup software from the CD-ROM to a
filesystem directory of your choosing.

This CD-ROM contains Oracle Secure Backup version 10.4.0.3.0_LINUX64.

Please wait a moment while I learn about this host... done.
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
    1. linux86_64
       administrative server, media server, client

-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Loading Oracle Secure Backup installation tools... done.
Loading linux86_64 administrative server, media server, client... done.

-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Loading of Oracle Secure Backup software from CD-ROM is complete.
You may unmount and remove the CD-ROM.

Would you like to continue Oracle Secure Backup installation with
'installob' now?  (The Oracle Secure Backup Installation Guide
contains complete information about installob.)
Please answer 'yes' or 'no' [yes]: yes
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Welcome to installob, Oracle Secure Backup's installation program.

For most questions, a default answer appears enclosed in square brackets.
Press Enter to select this answer.

Please wait a few seconds while I learn about this machine... done.

Have you already reviewed and customized install/obparameters for your
Oracle Secure Backup installation [yes]?  yes
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Oracle Secure Backup is not yet installed on this machine.
Oracle Secure Backup's Web server has been loaded, but is not yet configured.

Choose from one of the following options. The option you choose defines
the software components to be installed.

Configuration of this host is required after installation completes.

You can install the software on this host in one of the following ways:
    (a) administrative server, media server and client
    (b) media server and client
    (c) client

If you are not sure which option to choose, please refer to the Oracle
Secure Backup Installation Guide. (a,b or c) [a]? c

Beginning the installation.  This will take just a minute and will produce
several lines of informational output.

Installing Oracle Secure Backup on oradbm1 (Linux version 2.6.39-200.24.1.el6uek.x86_64)

    generating links for client installation
    updating /etc/ld.so.conf
[...]
    Starting Oracle Secure Backup service daemon (/etc/observiced)

Installation summary:

    Installation  Host                OS          Driver     OS Move    Reboot
        Mode      Name                Name      Installed?  Required?  Required?

    client        oradbm1             Linux     no          no         no  

Oracle Secure Backup is now ready for your use. 

Et voilà les binaires sont installés. Il ne reste plus qu’à déclarer le client oradbm1. Cela se fait à partir du serveur OSB: osbserver. Nous allons le faire par la GUI.

Cliquez sur le lien "Hosts"

Cliquez sur le bouton "Add"

Remplir les champs comme dans la capture d'écran ci-dessous, puis cliquez sur le bouton "Apply"

Et voilà oradbm1 est déclaré comme client dans OSB

 

 

Configuration rapide

Le serveur oradbm1 est déclaré client, mais il faut donner maintenant le droit à un compte identifié de lancer un backup. Comme nous sommes des DBA « pro » Oracle Wink, nous allons choisir le compte oracle et nous allons lui donner le droit d’exécuter des backups sur tape avec notre outil de backup fétiche : RMAN.

Pour illustrer le fait que tout peut se faire en ligne de commande ou bien par la GUI, les deux méthodes sont décrites ci-dessous. Toutes les deux s'exécutent à partir de osbserver.

Cliquez sur le lien "Users"

Puis cliquez sur « Add » et remplir avec le compte oracle qui est le propriétaire de notre sgbd préféré sur oradbm1 ainsi que son groupe et ensuite cliquez sur « Preauthorized Access »

Selectionnez "rman" dans le champs "Attributes", puis cliquez sur le bouton "Add"

 

 

Sinon en une seule ligne de commande :

ob>mkuser --class oracle --preauth oradbm1:+rman oracle

La ligne de commande est plus efficace mais moins visuel.

Pour vérifier si le compte a bien été ajouté :

ob> lsuser --long oracle
oracle:
    Password:               (set)
    User class:             oracle
    Given name:             [none]
    UNIX name:              oracle
    UNIX group:             dba
    Windows domain/acct:    [all] Administrator
    NDMP server user:       no
    Email address:          [none]
    UUID:                   d8b0ada0-95de-1031-9781-080027cc830c
    Preauthorized access:
        Hostname:           [all]
        Username:           [all]
        Windows domain:     [all]
        RMAN enabled:       yes
        Cmdline enabled:    no
    Preauthorized access:
        Hostname:           oradbm1
        Username:           oracle
        Windows domain:     [all]
        RMAN enabled:       yes
        Cmdline enabled:    no

Nous pourrions lancer notre backup RMAN, mais nous allons faire rapidement une petite configuration en plus sur les medias… histoire de vous faire une petite introduction sur certaines notions d’OSB. 

Configurons une Media Family. C’est quoi une Media Family ? Une Media Family caractérise un ensemble de volume (cassette) avec des attributs communs. Les attributs sont :
-          une séquence d'identification commune
-          une police d'expiration
-          une plage d'écriture temporelle
-          une policy de rotation

Par défaut il y a deux Media Family de configurées:
-          OSB-CATALOG-MF : pour y écrire les backups du catalog d'OSB
-          RMAN-DEFAULT : pour y écrire les backups RMAN… c’est bien un produit Oracle Wink

 

Nous allons créer notre propre Media Family pour mieux comprendre. Cliquer sur « add » (image ci-dessus), la fenêtre New Media Families s’ouvre alors, et la remplir comme dans l’exemple ci-dessous.

 

Une petite explication rapide pour certains champs ci-dessus :

- Unique to this media family : une identification unique à la Media Family c'est à dire que les volumes (tapes) seront nommés (labélisés)  RMAN-PROD-xxxx.
- Volume expiration : la police d'expiration sera "Content managed"  c'est à dire que l'expiration des données appartenant à cette Media Family, ne sera pas géré par OSB avec une police basée sur une rétention  basée sur le temps. C’est typiquement le cas des backups RMAN, c'est RMAN qui gérera l'obsolescence des données et pas OSB.
- Write window : plage d'écriture non spécifié. Tant que pas pleine les tapes peuvent être écrites

Une autre notion et une autre configuration, facultative, avant de lancer notre premier backup de test : le Storage Selector.

Le rôle du Storage Selector est d'orienter automatiquement un backup vers une Media Family. Nous allons créer un Storage Selector pour notre media family RMAN-PROD. Nous allons dire à notre Storage Selector que quand notre base de données de production TESTORA demande à être backupée c’est la Media Family RMAN-PROD qui doit être utilisé.

Pour identifier de manière unique notre base, il faut récupérer son DBID qui est censé être unique :

SQL> select DBID from v$database;

      DBID
----------
630020041

Maintenant que nous avons son DBID, créons le Storage Selector FOR_PROD. Ce Storage Selector peut servir à plusieurs bases de données.

Pour cela graphiquement (Configure -> Database Backup Storage Selectors -> Add):

 

Sinon en ligne de commande sous obtool à partir de osbserver:

ob> mkssel --dbid 630020041 --host oradbm1 --content all --family RMAN-PROD  FOR_PROD

 Dans les deux cas, graphique et ligne de commandes cela veut dire:

Crée un Storage Selector FOR_PROD qui renvoie sur RMAN-PROD pour tous les types de backup (controlfile, archivelog, datafile… =  --content all) de base de données pour le client oradbm1 (on peut rajouter des hosts, ou dire tous) et quand la base a le dbid 630020041.

 

Et voilà c’est finit le banc est prêt, à vous de jouer…

 

Backup !!!!

… bon d’accord, je vais faire un backup de la base de TESTORA pour prouver que je ne vous ai pas pipeauté… attention c’est parti :

rman target /
run {
allocate channel t1 type 'sbt_tape';
backup full  database;
}
using target database control file instead of recovery catalog
allocated channel: t1
channel t1: SID=28 device type=SBT_TAPE
channel t1: Oracle Secure Backup

Starting backup at 15-OCT-14
channel t1: starting full datafile backup set
channel t1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oradata/TESTORA/system01.dbf
input datafile file number=00002 name=/oradata/TESTORA/sysaux01.dbf
input datafile file number=00003 name=/oradata/TESTORA/undotbs01.dbf
input datafile file number=00004 name=/oradata/TESTORA/users01.dbf
channel t1: starting piece 1 at 15-OCT-14
released channel: t1

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on t1 channel at 10/15/2014 20:35:03
ORA-19506: failed to create sequential file, name="0mpl547l_1_1", parms=""
ORA-27028: skgfqcre: sbtbackup returned error
ORA-19511: Error received from media manager layer, error text:
   shmcheck: obscheduled reports that job oracle/7.1 was cancelled.

….euh… petit malaise… échec! Pourquoi?... j’ai investigué un petit moment avant de trouver et ce n’est pas grâce à google car OSB n’est pas trop référencé sur google… c’est un peu le problème.

Dans l’interface sur le serveur OSB on voit bien le job en running puis il tombe en pending request. Si on va dans l’onglet Manage puis Job puis on appuie sur le bouton « Show Transcript », on voit l’erreur suivante :

NDMP_MOVER_LISTEN failed because a listen socket couldn't be created.
The error reported was "host not found (FSP network database manager)".
Error: can't tell NDMP mover on osbserver to listen - I/O error (NDMP client)

 

Donc le client s’est bien connecté au serveur pour lancer le job mais il y a une erreur « host not found ». Mais de quel host parle-t-il donc ? La réponse se trouve dans un fichier de log sur le serveur OSB (trop facile sinon):

[root@osbserver tmp]# tail  /usr/tmp/obndmpdms.log
2014/10/15.14:18:11 [3025] ndmpdcreatelistensock:    unknown host - osbserver.localdomain
2014/10/15.14:18:11 [3025] svc_moverlisten:    mover can't create listen socket
2014/10/15.14:19:23 [3492] ndmpdcreatelistensock:    unknown host - osbserver.localdomain
2014/10/15.14:19:23 [3492] svc_moverlisten:    mover can't create listen socket

Le unknown host porte sur le host observer.localdomain, et effectivement dans tous les /etc/hosts de tous mes serveurs de testbed observer était le seul sans l’entrée .localdomain, donc j'ai rajouté :

#OSB-server
10.10.0.70   osbserver osbserver.localdomain

 

Relançons :

rman target /
run {
allocate channel t1 type 'sbt_tape';
backup full  database;
}
using target database control file instead of recovery catalog
allocated channel: t1
channel t1: SID=40 device type=SBT_TAPE
channel t1: Oracle Secure Backup

Starting backup at 15-OCT-14
channel t1: starting full datafile backup set
channel t1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oradata/TESTORA/system01.dbf
input datafile file number=00002 name=/oradata/TESTORA/sysaux01.dbf
input datafile file number=00003 name=/oradata/TESTORA/undotbs01.dbf
input datafile file number=00004 name=/oradata/TESTORA/users01.dbf
channel t1: starting piece 1 at 15-OCT-14
channel t1: finished piece 1 at 15-OCT-14
piece handle=0npl55n8_1_1 tag=TAG20141015T204320 comment=API Version 2.0,MMS Version 10.4.0.3
channel t1: backup set complete, elapsed time: 00:04:35
Finished backup at 15-OCT-14

Starting Control File and SPFILE Autobackup at 15-OCT-14
piece handle=c-630020041-20141015-00 comment=API Version 2.0,MMS Version 10.4.0.3
Finished Control File and SPFILE Autobackup at 15-OCT-14
released channel: t1

 

... tout simplement

 

Le testbed est opérationnel, à vous de tester OSB maintenant. Il y a plein de chose à faire : des backups filesystem, programmer les jobs, faire des restaurations, mettre en place des police de rétention, de rotation, mettre en place le vaulting, faire des backups chiffrés, et enfin détruire le testbed pour l’étape ultime tout restaurer from scratch juste avec les bandes !!!

 

Vous pouvez lire la documentation http://docs.oracle.com/cd/E14812_01/welcome.html , pour faire tout cela. Pour une fois je ne trouve pas la documentation oracle très clair en particulier sur les polices de retention et de rotation et aussi sur le vaulting. Mais comme souvent si on peut tester par soit même, on arrive à mieux assimiler la documentation et comprendre les subtilités.

 {jcomments on}