Installation de Sybase 11.9.2 pour Linux

  1. Si la machine est équipée de disques RAID, procéder à leur initialisation via l'utilitaire fourni par le constructeur (Dell PercRaid, Mylex, etc.) Installer une Red Hat basique (pas de X, mais addition de SSH, etc.). Le formatage des partitions doit se faire avec fdisk plutôt que DiskDruid. (A vérifier) Jusqu'au noyau 2.4, ext2fs ne gérait pas des partitions de plus de 2Go. Il est possible de créer des partitions non-formatées, et laisser Sybase les agréger en une seule partition logique. Voici un exemple de partitionnement:
    	
    	/dev/hda1	/boot	20Mo
    	/dev/hda2	swap	256Mo
    	/dev/hda3	/	1Go
    	/dev/hda4	(partition étendue)
    	/dev/hda5	Master device Sybase (bases systèmes)	50Mo
    	/dev/hda6	SybSystemProcs Sybase (procédures stockées)	100Mo (USE_DEFAULT)
    	/dev/hda7-8	2 partitions raw pour les bases	2 x 2Go
    	/dev/hda9	Partition raw pour les logs Sybase	720Mo
    	

    Note: la partition SybSystemProcs doit faire 100Mo. Sinon, mettre à jour le paramètre adhoc dans myres.rs

  2. Installer Sybase: sybase-common-11.9.2-1.i386.rpm, puis sybase-ase-11.9.2-1.i386.rpm. Nous utiliserons le répertoire par défaut, /opt/sybase-11.9.2
  3. Corriger les erreurs de droits d'accès: chown -R sybase:sybase /opt/sybase-11.9.2
  4. Editer /etc/hosts pour que l'adresse IP de la machine soit renseignée, qu'elle se trouve sur la première ligne. Si références plus loin dans l'installation, penser à ce que le nom de la machine indiqué corresponde (ici, Sybase1):
    	192.168.0.101	Sybase1.acme.com Sybase1
    	127.0.0.1	localhost.localdomain localhost
    	
  5. Installer Sybase
    1. Editer /etc/profile
      		export SYBASE=/opt/sybase-11.9.2
      		export DSQUERY=Sybase1
      		export SYBPLATFORM=linux
      		export LD_LIBRARY_PATH=$SYBASE/lib
      		export LC_ALL=default
      		export LANG=default (ou C?)
      		export PATH=$PATH:$SYBASE:$SYBASE/bin:$SYBASE/lib:$SYBASE/include
      		
    2. cp myres.rs /opt/sybase-11.9.2./server
    3. cp myloc.rs /opt/sybase-11.9.2./server
    4. Editer /opt/sybase-11.9.2/server/myres.rs:
      		sqlsrv.server_name=Sybase1
      		sqlsrv.network_hostname_list=Sybase1
      		sqlsrv.master_device_physical_name=/dev/hda5
      		sqlsrv.sybsystemprocs_device_physical_name=/dev/hda6
      		sqlsrv.default_backup_server=Sybase1_bk
      		
    5. Attribuer propriété des partitions raws à Sybase: chown sybase:sybase /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 /dev/hda9
    6. Par sécurité suite à ces manips, vérifier que tous les fichiers sont la propriétés de Sybase: chown -R sybase:sybase /opt/sybase-11.9.2
    7. Passer en utilisateur Sybase, et lancer l'installation initiale:
      			su - Sybase ./bin/srvbuildres -r ./server/myres.rs
      			
    8. Arrêter et relancer Sybase comme indiqué à la fin de l'installation ("Server name added: The name will be visible from SQL after restarting the server"):
      			isql -Usa -P, suivi de shutdown<CR>go<CR>
      			./install/startserver -f RUN_Sybase1
      			
    9. Activer le locale: ./bin/sqllocres -Usa -P -r ./server/myloc.rs
  6. Initialiser les partitions raw:
    1. Détarrer init-sybase.tar dans /opt/sybase-11.9.2/server
    2. Edit le script de configuration des raw devices ./server/devices.sql (paramètres "disk init name", physname, et size). Dans notre cas, les partitions raw s'appellent psadata1 et psadata2, leur emplacement sont /dev/hda7 et /dev/hda8, et leur taille est chacune de 2Go. La partition de logs est psalog, en /dev/hda9, d'une taille de 720Mo.
    3. Lancer l'initialisation de ces partitions: isql -Usa -P -i ./server/devices.sql

      Note: une fois l'opération terminée, en qqs minutes, on peut visualiser l'état des partitions par isql -Usa -P, suivi de sp_helpdevicego, puis exit

    4. Formater les partitions: Editer le fichier de configuration des partitions: ./server/database.sql (nom et taille des partitions). Lancer le formatage: ./bin/isql -Usa -P -i ./server/database.sql

      Note: sur le P2, cette opération a duré près de 2 heures. Sybase n'affiche aucun message d'avancement de l'opération. Patience, donc....

Done! Il ne reste plus qu'à créer de nouvelles bases.