Archives de catégorie : Oracle

Formats d’URL JDBC pour les bases de données Oracle

Pour les bases de données Oracle, vous pouvez utiliser comme modèle les exemples d’URL JDBC suivants :

Ce format nécessite un nom d’hôte et une adresse, un port (par défaut 1521) et un nom de service  :
jdbc:oracle:thin:@host:port/service

Ce format nécessite un nom d’hôte et une adresse, un port (par défaut 1521) et un SID (par exemple, « ORCL ») :
jdbc:oracle:thin:@host:port:SID

Ce format est destiné à un client Oracle entièrement configuré avec Oracle Net, ce qui est utile pour la configuration non TCP ou les RAC (clusters d’application réels) Oracle :
jdbc:oracle:thin:@tnsname

Scénario de récupération avec FLASHBACK

flashback

Vérifier que la base de données est en mode « recyclebin on »
SQL>show parameters recyclebin;

SQL>select flashback_on from v$database;
SQL>startup mount;
SQL>alter database flashback ON;

Vérifier la valeur de Flashback rétention normalement 1440 = 24 heures;

SQL>drop table employees;
SQL>flashback table employees before drop;
Scénario de récupération d’une table supprimer.

SQL>flashback table employees before drop rename to nouveauNom;
ou encore pour ne pas écraser si une nouvelle portant le même nom a été créé.

RMAN>flashback database to time = « TO_DATE(‘2013-11-01 17:57:00’, ‘YYY-MMM-DD HH24:MI:SS’) »;

RMAN>flashback database to scn=23565;

RMAN>flashback database to sequence=233 THREAD=1;

SQL>flashback database to timestamp(SYSDATE-1/24);

SQL>flashback database to restore point mass_load_import_table;

Pour passer la base de données en mode Flashback

SQL> Shutdown immediate; (Pas nécessaire sur 11GR2)

SQL>Startup mount exclusive; (Pas nécessaire sur 11GR2)

SQL> Alter system set DB_FLASHBACK_RETENTION_TARGET=2880 scope=both;

SQL> Alter database flashback on;

SQL> Alter database open; (Pas nécessaire sur 11GR2)

Scénario de récupération RMAN

SQL>shutdown immediate;
SQL>startup mount;
rman target / catalog rman@rman
(mot de passe RMAN)
recover database until time ‘2013-01-01:12:57:00’ (Récupération de la base jusqu’à 12h57)
SQL> alter database open resetlogs;

SQL>shutdown immediate;
SQL>startup mount;
rman target / catalog rman@rman
(mot de passe RMAN)
recover database until cancel;
Récupération de la base jusqu’à au point d’arret exemple si un redolog est manquant
SQL> alter database open resetlogs;

SQL>shutdown immediate;
SQL>startup mount;
rman target / catalog rman@rman;
(mot de passe RMAN)
recover database until scn NUMEROduSCN;
Récupération de la base jusqu’à une transaction
SQL> alter database open resetlogs;

SQL> CREATE RESTORE POINT before_mass_load;
RMAN> RECOVER DATABASE UNTIL RESTORE POINT before_mass_load;
Mieux faut prevenir que guérir, prevoir un point de restauration avant un chargement massif de data dans la base;

rman target / catalog rman@rman;
(mot de passe RMAN)
RMAN>shutdown immediate;
RMAN>startup nomount
RMAN>RESTORE CONTROLFILE;
RMAN>shutdown immediate;
SQL>startup mount;
SQL>alter database open resetlogs;
Pour restaurer les fichier de contrôle si utilisation de catalogue, sans catalogue utiliser => RMAN>RESTORE CONTROLFILE FROM AUTOBACKUP;

rman target / catalog rman@rman;
(mot de passe RMAN)
RMAN>RESTORE SPFILE from AUTOBACKUP;
SQL>startup mount;
SQL>alter database open resetlogs;
Pour restaurer le fichier spfile.ora

Requêtes sur une base +ASM

Quelques requêtes sur une base ASM:

SQL>select gr.name, t.name, t.stripe from v$asm_diskgroup gr join v$asm_template t using(group_number) where gr.name = ‘NomDUgroupe’;
Permet de voir le type de découpage par modèle de fichier COARSE= Grossier, meilleur débit et FINE=fin plus rapide d’accès.

SQL>select name, path, mount_date, mount_status, header_status, state, sector_size from v$asm_disk;
Avoir quelques infos sur les disques rapide sur les disques.

SQL>select NAME, SECTOR_SIZE, STATE, TYPE, DATABASE_COMPATIBILITY, FREE_MB, TOTAL_MB from v$asm_diskgroup;
SQL> ALTER DISKGROUP NomDuDisqueGroup MOUNT;
SQL> ALTER DISKGROUP NomDuDisqueGroup DISMOUNT;
SQL> ALTER DISKGROUP NomDuDisqueGroup CHECK ALL;
SQL> ALTER DISKGROUP MOUNT ALL;
SQL> select DB_NAME, STATUS, SOFTWARE_VERSION from v$ASM_client;
ASMCMD>lsct #affiche les bases les versions d’oracle et de compatibilité, les status et les disk groups
ASMCMD>lsdg #Affiche des informations sur les groupe de disques
ASMCMD>md_backup /home/user/dgbackup-date -G DATA,FRA,TEST #Sauvegarde les meta-data des structures de stockage.

DBA check list

Voici quelques commandes utiles

select * from v$memory_target_advice; #Aide pour dimensionner la taille de la SGA

select * from v$pgastat; #Aide pour dimensionner la taille de la PGA

select log_mode from v$database; #Savoir si la base est en mode archivelog

alter database backup controlfile to trace; #Fait une copie du control file vers un fichier de trace

opatch lsinventory -detail #Pour connaitre ce qui est installé avant application d’un ou des patchs

select * from dba_db_links; #Pour voir les liens de base de données

select owner, db_link, username from dba_db_links;

Installation Oracle 11G Centos 5.3 swap 0 ko échec – La solution

memory.png

Dans votre fstab vous utilisez certainement un label ou à tout le moins il y a un problème d’initialisation de la mémoire swap, après avoir fait la commande free vous constater que vous avez 0 ko de swap. J’ai bien sur commenter avant la ligne avec le LABEL dans le fstab, mkswap /dev/sda2 et un petit swapon /dev/sda2 devrait faire l’affaire.

#LABEL=SWAP-sda2         swap                    swap    defaults        0 0
/dev/sda2               swap                    swap    defaults        0 0