Skip to main content

Oracle

Script d'audit de base ORACLE

Dernière version : https://github.com/fsoyer/auditOracleHTML

Oracle - Problèmes divers et solutions

Diverses astuces

Intégrer des données UTF8 avec sqlplus

La base doit être en UTF8.Forcer l'environnement du client sqlplus. Avant de la lancer : set (ou...

logrotate alert.log

A ajouter dans /etc/logrotate.d/alert_orcl #alert log base ORCL /oracle/ora11g/diag/rdbms/orcl/...

OUI 19c - page d'accueil vide

Lorsqu'on lance OUI (runInstaller) à partir d'un serveur Linux (exemple : Rocky linux 8) via ssh ...

Purge des traces

A planifier en CRONTAB #!/bin/sh export ORACLE_HOME=/oracle/ora11g/dbhome /oracle/ora11g/dbhom...

Recreate DBConsole

Initialiser ORACLE_HOSTNAME avec le FQDN EXACT du serveurInitialiser ORACLE_SID (mais peut-être p...

Récupérer les touches de direction et l'historique dans sqlplus linux

Installer rlwraplancer sqlplus par : rlwrap sqlplus user/password si le client est en version 1...

Services SYSTEMD base et listener

Vérifier dans /etc/oratab que la base est listée et est à "Y" car dbstart/dbshut s'appuient dessu...

switch user ("su" like)

Créer un script "su.sql" : whenever sqlerror exit column password new_value pw -- test acces...

Erreur ORA-00600 - index, ou blocs, ou lob corrompu

On trouve des erreurs ORA-0600 dans l'alert.log. Il peut s'agir de blocs disque corrompus suite à...

Erreur RMAN-03014 après upgrade d'une base RMAN

PROBLEME : La base RMAN a été upgradée de 11.2.0.2 en 11.2.0.4. La base elle-même a subit un "st...

Erreurs en connexion SYSDBA sous windows

ORA-01031 En connexion SYSDBA avec SQLPLUS sous Windows, on a l'erreur : ORA-01031: insufficien...

RMAN duplicate erreur "ORA-01843"

RMAN termine avec cette erreur : RMAN-00571: ===================================================...

Vérifier les possibilités de réduction des tablespaces

La requête suivante indique l'espace libre et surtout le HWM pour estimer les réductions de fichi...

Analyse de toutes les tables et/ou des indexes

Pour analyser toutes les tables ou indexes d'un schéma, utiliser le script ci-dessous dans sqlplu...

ASM - Automatic Storage Management - Tips&Tricks

Depuis la version 12.2 d'Oracle, l'utilisation d'ASM devient quasi-obligatoire. Mais est utilisab...

ASM - Déplacement d'une base complète à froid

Cas pratique : une base a été créée dans le mauvais disk group. On la déplace à froid de +DATA01 ...

AWR (AUTOMATIC WORKLOAD REPOSITORY) - Tips&Tricks

Lister la configuration des snaphosts : SQL> select        extract( day from snap_interval) *24...

AWR remplit le tablespace SYSAUX

https://thehelpfuldba.com/excessive-growth-in-sysaux-tablespace/ Vérifier si c'est bien AWR qui ...

Calculer la mémoire totale utilisée par une base

Principe : récupérer les IDs des processus triés par SID, et faire la somme. SCRIPT sh : sids=`...

Catalogue RMAN centralisé

Rappel :RMAN = Recovery Manager d'Oracle.RMAN stocke ses informations dans un référentiel (reposi...

Déplacement d'une base complète vers un nouveau serveur avec changement du chemin des fichiers

La base ORCL va être déplacée d'un serveur ORACLESRC vers un nouveau serveur ORACLEDST, sans chan...

Déplacer les fichiers d'une base

Pré-requis Noter le nom de tous les fichiers avant déplacement : SELECT name FROM v$controlfile...

Déplacer un LOB dans un autre tablespace

Stopper le listener pour éviter les connexions utilisateurs, et relancer la base pour couper les ...

Déplacer une base vers un nouveau serveur en changeant les chemins des fichiers

Pour déplacer une base d'un serveur vers un autre, sans changement de version, le plus simple est...

Duplication par RMAN avec changement de SID, et de chemin des fichiers.

Un script bash DUPLIQUER_ORASRC_ORADST.sh automatisant la procédure ci-dessous est joint à cette ...

expdp COHERENT (flashback_scn ou flashback_time)

l'option COHERENT n'existe plus sur Datapump. On le simule avec les option FLASHBACK_*. FLASHBAC...

Forcer sqlplus en sysdba sur une base morte

Si on arrive pas à se connecter même en local par sqlplus parce que la base est VRAIMENT malade, ...

Full upgrade 11g -> 19c après transfert des fichiers

https://ocptechnology.com/how-to-upgrade-11g-to-19c-manually/https://www.oracle.com/africa/a/tech...

Gestion des JOBs

1. user doit avoir le droit EXECUTE sur SYS.DBMS_JOB2. job_queue_processes doit être > 0 (modific...

HA niveau 1 : Failover database sur Standard Edition

Introduction The goal of this procedure is to install and configure an Oracle failover database....

HA niveau 2 - Oracle 11g Cross platform Active Standby - Windows Primary database and Linux Active Standby

This note describes the procedure of configuring a cross platform using the 11g RMAN Active Dupli...

HA niveau 2 - Standby database logical from physical with RMAN from active database

Basé principalement sur http://www.oracledistilled.com/oracle-database/high-availability/data-gua...

HA niveau 2 - Standby database manuelle (cold) sur Standard Edition (linux)

Sur le serveur primaire Mettre sur la base primaire le paramètre STANDBY_FILE_MANAGEMENT à AUTO ...

HA niveau 2 - Standby database manuelle (cold) sur Windows - Std Edition (services et tâches planifiées)

Sur Windows, l'automatisation du démarrage de la base standby et de l'application des archives es...

HA niveau 2 - Standby database manuelle par RMAN (hot) sur Standard Edition

Sur le serveur standby Créer l'instance sur le serveur standby (on suppose la même arborescence ...

HA niveau 3 - Standby DataGuard database sur 11g Enterprise Edition

La création d'un base Standby en Enterprise Edition est à peu près identique à celle sur une base...

HA niveau 4 - RAC database 10g sur Enterprise Edition

Composants de RAC Dans le cadre d’un cluster RAC, la couche cluster peut être gérée par une couc...

impdp dblink - Importer des données sans export préalable

Sur la base cible, créer un DBLINK vers la base source : sqlplus / as sysdba SQL> create data...

Import de schémas utilisateurs

NOTE : penser à redémarrer la base avant l'import pour couper d'éventuelles session et/ou requête...

LISTENER : enregistrement automatique des bases

Si le listener.ora ne contient que le minimum, ex : LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(...

Migration par transport tablespace

On veut migrer une base 11.2.0.4 MYDB sur un serveur_source vers une base 19c sur un nouveau serv...

Mode ARCHIVELOG

Activation du mode ARCHIVELOG : Vérifier ou forcer le chemin et le format des archive logs : $ ...

NLS LANG et nls_*_parameters et SQLPLUS en UTF8

Oracle 10 server : NLS_LANG, nls_*_parameters Il y a 3 niveaux de NLS : database ...

Oracle 11gR2 sur RedHat 7 64 bits

Installation RedHat 7 1. Télécharger la dernière image ISO RedHat sur https://access.redhat.com ...

REBUILD de tous les indexes

Utiliser le code ci-dessous dans sqlplus pour lancer un REBUILD de tous les indexes : set pages ...

Reconstruire la DBconsole sur Oracle 10g

Création/recréation de la console Initialiser ORACLE_HOSTNAME avec le bon nom de serveur Initia...

Réduction/augmentation des REDO LOGs

Principe : on supprime et on recrée chaque REDO LOG à la bonne taille. Trouver les nom des fichi...

Remplacement/resize d'un tablespace UNDO

Par exemple : le tablespace UNDO a grossi suite à de grosses modifications lancées sur la base. O...

Remplacement/resize d'un tablespace TEMP

Par exemple : le tablespace TEMP a grossi suite à de grosses modifications lancées sur la base. O...

RMAN - scripts standards

Quelques scripts pour l'utilisation standard de RMAN. Configuration # rman_conf # This script ...

Simuler "SU" sous sqlplus

Exemple pratique : un DBlink ne peut être créé/supprimé que par l'utilisateur propriétaire, même ...

Suppression de JOB Oracle 10g

JOB lancé par une application Trouver l'identifiant du JOB (job=identifiant, what=contenu): sel...

Supprimer tous les objets d'un utilisateur en une seule fois

Supprimer tous les objets d'un utilisateur Pour vider complètement le schéma d'un utilis...

Trace SQL sur session utilisateur

Oracle : Activer une trace SQL sur une session Repérer le sid et serial# de la session : col us...

Trouver ce qui charge le CPU

Repérer avec "top" le process ID qui charge le CPU. Puis dans sqlplus : select a.sid, a.serial#,...

Trouver les requêtes longues

Dans sqlplus : col SQL_FULLTEXT format A60 SELECT * FROM (SELECT sql_fulltext, sql_id, elap...

Upgrade manuel (version <= 11.2.0)

Peut être réalisé sur le même serveur en upgradant les binaires Oracle (bases arrêtées), mais dan...

Upgrade mineur Oracle 11g

Arrêter la (les) base(s) sur le serveur et mettre à jour les binaires d'Oracle (suivre les docume...

Utilisation de EXPLAIN PLAN

EXPLAIN PLAN n'éxecute pas la requête, il ne fait que la calculer. Il n'y a donc pas de risque de...

Vider automatiquement la corbeille RECYCLE_BIN

Le script SQL suivant active la corbeille de tables supprimées (RECYCLE_BIN), et crée respectivem...

Voir les requêtes courantes, longues, les conflits, les verrous

Voir les requêtes en cours : SET LINESIZE 20000 SELECT nvl(ses.username,'ORACLE PROC')||' ('||s...

Mise à jour avec nettoyage des patchs

Depuis avril 2023 (patch 37), on peut supprimer les anciennes versions mineures (patchs) d'Oracle...