Skip to content

Instantly share code, notes, and snippets.

@tobihans
Last active February 11, 2022 03:47
Show Gist options
  • Save tobihans/dd54d3e52e2b0e2c696a8d061f0681e5 to your computer and use it in GitHub Desktop.
Save tobihans/dd54d3e52e2b0e2c696a8d061f0681e5 to your computer and use it in GitHub Desktop.
Cheat Sheets

Aspects Avancés Administration BD Oracle

Struture d'une BD Oracle

Une BD Oracle est constituée de la base proprement dite ainsi que d'une ou plusieurs instances. La base désigne le stockage de la donnée tandis que l'instance représente l'ensemble des processus et de la mémoire requis pour faire tourner le serveur de BD.

Structure physique du stockage de données

Les fichiers clés mis en place pour le stockage des données sont:

  • Les fichiers de controle: Contiennent des meta-données(metadata) qui permettent de décrire l'architecture physique de la base de données(son nom ou encore l'emplacement des data files i.e).
  • Les fichiers de données (data files): Contient les données conservées i.e les tables, les index, etc...
  • Les fichiers de journalisation en ligne( online redo log files): Track les changements d'informations dans la base et tient une entrée pour chaque modification effectuée.

En dehors de ces fichiers indispensables, on retrouve d'autres fichiers comme:

  • Les fichiers de mots de passe
  • Les fichiers de sauvegarde(backup files)
  • Les fichiers de paramètres
  • Les fichiers de journalisation archivés
  • Les fichiers de journalisation en ligne
  • And a lot more... # Mais c'est l'essentiel déja, je crois.

Structure logique du stockage de données

Retenez juste ceci: (TABLESPACES (SEGMENTS (EXTENTS (BLOCKS)))) En somme, les tablespaces renferment les segments qui renferment les extents qui renferment les blocks.

Les processus et la mémoire

On distingue la SGA(Shared Global Area) et la PGA(Program Global Area) en termes de mémoires. La première est partagée et contient des informations relatives a l'instance en cours d'exécution. La seconde est une mémoire spéfique allouée à chaque session initiée et détruite à la fin de la session.

Des processus qui tournent dans une instance Oracle, ceux qui sont essentiels sont:

  • Database Writer (DBWn): Il reporte en asynchrone, les données modifiées dans le cache de la base de données, au niveau du systéme de fichiers (data files).
  • Log Writer (LGWR): Il écrit le tampon de journalisation(logs) dans un fichier de journalisation en ligne, dans l'un des cas suivants:
  1. Quand une transaction est validée
  2. Quand 1/3 du tampon est plein
  3. Toutes les 3s
  4. Avant l'action du DBWn
  • Checkpoint (CKPT): Enregistre dans les entetes des fichiers de controle et de données, les infos sur les points de reprises. Il crée des identifiants uniques(SCN System Check Number) pour chaque buffer modifié (le SCN doit avoir d'autres fonctions aussi)
  • System Monitor (SMON): Effectue les opérations nécéssaires à la reprise de l'instance(e.g recovery d'une instance qui a échouée) ainsi qu'a l'extinction de l'instance(e.g supprimer les fichiers temporaires)
  • Process Monitor (PMON): Régule les autres processus de l'instance. Il s'assure que le processus d'écoute est relié à l'instance et shutdown les processus de connexion anormaux.

PS: Les process vitaux sont au nombre de 06, soit l'un m'a échappé; soit il est mis ci-dessous.

On distingue d'autres process comme:

  • Archiver (ARCn): Il se charge d'archiver les fichiers de journlisation vers un emplacment donné. Il réécrase ledit emplacement s'il est plein, à moins qu'on ne le change.
  • Recoverer (RECO): Intervient lorsque la base est configurée pour fonctionner en mode distribué.

Snippets

Extinction de la base

-- Arreter la base a la deconnexion du dernier user connecté
SHUTDOWN NORMAL
-- ou gracefully (la methode souvent utilisée)
SHUTDOWN IMMEDIATE
-- ou dès que toutes transactions en cours sont COMMITées ou ROLLBACKed
SHUTDOWN TRANSACTIONAL
-- ou un peu comme si vous débranchiez carrément le serveur. Arrete la base automatiquement, a l'instant.
SHUTDOWN ABORT

Demarrage de la base

-- Monter la base en mm temps
STARTUP
-- Etapes par etapes
STARTUP NOMOUNT -- demarre sans monter la base
ALTER DATABASE MOUNT -- monte la base
ALTER DATABASE OPEN -- autorise les connexions a la base

Création de tablespace

-- Dans la version la plus simple
CREATE TABLESPACE nom_tablespace
  DATAFILE 'chemin/vers/le/fichier/de/donnee/' SIZE 20M;
  
-- Avec configuration de la gestion des extents
CREATE TABLESPACE nom_tablespace
  DATAFILE 'chemin/vers/le/fichier/de/donnee/' SIZE 20M
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

PS: Je n'ai pas encore testé les commandes mais elles devraient etre justes et aussi, vous devriez tester. Y a pas mieux que la pratique pour retenir. Pour une spéc complete sur la syntaxe de creation de tablespaces, voir la doc.

Autres commandes SQL

-- Nom de la base
SELECT name FROM v$database;

-- Nom de la machine hote
SELECT host_name FROM v$instance;

-- Version d'ORACLE
SHOW RELEASE;

-- Emplacement des fichiers de controle
SELECT * FROM v$controlfile; -- Faites un DESC pour voir le champ précis

-- Emplacement des fichiers de journalisation
SELECT * FROM v$logfile; -- DESC

-- Emplacment fichiers de donnees
SELECT file_name FROM dba_data_files;
-- ou
SELECT * FROM v$datafile; -- DESC 

-- Création d'une séquence
CREATE SEQUENCE seq_123
START WITH 0
INCREMENT BY 1; -- Forme simple [0, +infini] par bond de 1
-- Options possibles --
-- increment by interval between the numbers
-- start with first number needed
-- maxvalue Maximum value for the sequence
-- nomaxvalue Maximum value is defaulted
-- minvalue minimum value for the sequence
-- nominvalue minimum value is defaulted
-- cycle Reset to the start after reaching this value
-- nocycle Default
-- cache Preallocation limit
-- nocache Default
-- order Guarantee the order of numbers
-- noorder default

-- Privilèges
-- On distingue les privilèges systèmes et ceux utilisateurs
-- La liste des privilèges sys se retrouve dans la table SYSTEM_PRIVILEGE_MAP
-- La chaine d'heritage n'est pas brisée lorsque vous retirez l'option `WITH ADMIN OPTION` pour un privilege sys.
-- Donc si C transmet a B un privilège systeme, parce que A le lui a donné avec l'option `WITH ADMIN`, retirer le droit à C ne le retire pas à B.
-- Par contre, si c'est un privilège user, la chaine est rompue et tout le monde perd le privilège.

GRANT CREATE SESSION TO user;
GRANT CREATE SESSION TO user WITH ADMIN OPTION;
REVOKE CREATE SESSION FROM user;

-- On distingue aussi les privilèges objets qui accordent un droit sur un objet comme e.g créer une procédure dans un schéma
GRANT INSERT ON fake_table TO user; -- Exemple accordant le droit d'écriture sur une table

Quelques commandes systèmes

# Processus d'écoute
lsnrtcl start # Demarrage
lsnrtcl stop
lsnrtcl status # Donne l'état actuel du processus d'écoute

# DB COnsole
emctl start dbconsole
emctl stop

Liens utiles

Sécurité des Systèmes d'Information

Définitions

  • Système d'information: Ensemble des ressources matérielles, logicielles et humaines qui concourent à la création, à l'acheminement, au traitement, à la modification et à la destruction de l'information.
  • Menace: Désigne est une cause potentielle d’un incident indésirable qui peut nuire au système d'information.
  • Vulnérabilité: C'est une faille liée directement ou non à un actif du SI.
  • Risque: C'est la probabilité qu’une menace exploite une vulnérabilité afin d’impacter un actif.
  • Audit de sécurité informatique: Procédure d'analyse et d'évaluation des moyens mis en oeuvre en vue d'assurer la sécurité d'un système d'information et de déterminer l'efficacité d'un système en matière d'intégrité et de protection des données. Il doit etre fait par une personne extérieure et independante de l'entité auditée.

L'audit informatique a pour objectif d’identifier, d’évaluer et de déterminer les risques (opérationnels, financiers, de réputation...) associés aux activités informatiques d'une entreprise ou d'une administration. Cours

Etapes: Préparation de l'audit, Audit organisationnel et physique, Audit technique, Rapport d'audit

  • Politique de sécurité: Plan d'action défini en vue de garantir un certain degré de sécurité au système d'information. L'objectif est de pouvoir assurer un tant soit peu le triptyque DIC(Disponibilité, Integrité, Confidentialité)

1. Confidentialité – Protéger les données sensibles – Menaces : intrusion et vol de données 2. Intégrité – Les données sont préservées, non altérées – Menaces : usurpation d’identité, fausses infos 3. Disponibilité – Les services et les données sont disponibles – Menaces : dysfonctionnement (Déni de Service) Cours

Gestion Des Risques

  • MEHARI (Méthode Harmonisée d’Analyse des Risques) La gestion des risques avec la methode MEHARI suit une approche basée sur 3 étapes: l'identification, l'estimation et la gestion des risques. Voir les résumés d'exposés et consulter les liens, pour les détails.

  • ISO 27005 On ne s'y était pas trop attardés mais Wiki a tout. PS: La version fr n'est pas normale. Consulter en en, c'est mieux.

Résumés des Exposés

  • Identification des risques: 5 étapes sont envisageables lors de l'identification des risques dans un SI. Primo, l'évaluation des actifs. Il s’agit de déterminer leur valeur au sein du SI. Il faut essayer d'être le plus exhaustif possible. On peut évaluer la valeur d’un actif grâce aux infos suivantes par exemple: le type, la localisation, le responsable, le format, les infos de sauvegarde, la valeur(liée à la logique métier de la société) ainsi que la sensibilité de cet actif(critique, vital…). Deuxièmement s’impose l’analyse des menaces(catégories, sources, …). Ensuite, l'évaluation des vulnérabilités soit, des failles qui pourront concrétiser une menace. L'avant-dernière étape consiste à cataloguer les diverses mesures déjà prises en vue pallier de telles menaces. Et pour finir, il est impératif d'évaluer l’impact que l’endommagement des actifs pourrait avoir sur le SI et le fonctionnement de l'entité. Il va sans dire que tout ce processus demande un fort tas de documentations à rédiger.

  • Gestion des risques:

La gestion des risques, « dans son plus simple appareil », se compose de trois blocs interdépendants. Nous distinguons l’organisation cible de l’étude, définie par ses assets et ses besoins de sécurité, puis les risques pesant sur ces assets et enfin les mesures prises ayant pour but de traiter les risques et donc d’assurer un certain niveau de sécurité. Extrait

Et comme une image vaut mille mots :) L'appareil de la gestion de risques dans un SI Les étapes de la gestion de risques dans un SI

  • Modèles d'audit: On distingue deux grands modèles: le modèle d'audit de besoins et celui de découverte de connaissances.

Le modèle de l’audit du besoin est subdivisé en 2 grandes parties : l’analyse de l’existant et la détermination de la cible.

Le modèle de l’audit de découverte des connaissances consiste à valoriser les données et les connaissances existantes dans l’entreprise.

Somme toute, les deux modèles satisfont des besoins très différents mais inhérents à la sécurité et à la pérennité d'un SI.

  • Responsabilités des acteurs: L'objectif est d'initier le personnel du SI (facteur humain) aux enjeux relatifs à la sécurité du SI. Pour cela, il est important de les sensibiliser. Ceci fait partie des taches du responsable de la sécurité du SI outres ces attributs ordinaires( veiller au DIC, e.g). Il s'y soumet en veillant par exemple a la mise en place d'une documentation interne sur les questions sécuritaires, sans oublier qu'il doit se faire assister d'un délegué à la protection des données.

  • Procédures de sécurisation des SI & Enjeux juridiques de la SSI: voir fichier car très explicite.

  • Accessibilite des SI: RAS à part la section IV, le reste est déjà susmentionné.

  • Mobilisation des moyens judiciaires: une lecture devrait aller sinon, fait aussi état de faits susmentionnés(en dehors des mesures juridiques proposées)

  • SSI et coûts: En gros, On peut distinguer deux categories selon une approche plus ou moins technique:

Les coûts ponctuels correspondent, en général, aux dépenses de mise en place des dispositifs de sécurité (organisationnels, technologiques, humains) et aux effets financiers consécutifs aux incidents. Les coûts récurrents correspondent aux dépenses d’exploitation, d’administration, de maintenance et de contrôle de ces dispositifs

D'un point de vue plus axé sur l'aspect financier, on a:

  • les coûts tangibles tels le coût du support informatique, celui des assurances et la perte de revenus.
  • les coûts intangibles, soit difficilement quantifiables, tels la perte de réputation et la perte de la clientèle.

Liens utiles

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment