De temps en temps, quelle que soit l'entreprise pour laquelle je travaille, on me demande de mettre en place une nouvelle base de données de production. Je travaillais sur cette tâche aujourd'hui lorsque j'ai commencé à réfléchir à la quantité de travail nécessaire pour créer une toute nouvelle base de données dans le passé, à ce que la DBCA gère pour nous aujourd'hui et à ce qu'il reste encore à faire.
Actuellement, nous avons une base de données de développement et de test pour notre application tierce. Nous allons déployer l'application en production d'ici la fin de la semaine, j'ai donc été chargé de mettre en place une version de production de cette base de données. Le serveur de base de données de production est un cluster RAC à 3 nœuds qui a déjà été configuré pour moi car nous exécutons actuellement deux autres bases de données sur le cluster. Cela m'épargne donc l'étape d'installation et de configuration de Grid Infrastructure et du logiciel RDBMS. Mais lorsque j'ai commencé à configurer la base de données, j'ai commencé à penser à la quantité de travail qu'il me restait à faire. Et comme nous mettons rarement en place de toutes nouvelles bases de données de production, certaines de ces tâches ne sont pas aussi faciles à retenir que d'autres. Vous trouverez ci-dessous les étapes que j'ai suivies aujourd'hui pour que la base de données de production soit opérationnelle.
1. En utilisant les bases de données de développement/test comme guide, j'ai déterminé mes besoins en mémoire et en stockage sur disque.
2. J'ai vérifié que le cluster RAC de production disposait de suffisamment de mémoire pour prendre en charge les nouvelles instances de base de données.
3. J'ai travaillé avec mon administrateur de stockage pour obtenir le stockage sur disque nécessaire monté sur le cluster.
4. J'ai ensuite lancé le DBCA pour créer la toute nouvelle base de données. J'ai parcouru l'assistant et rempli les valeurs appropriées, puis j'ai laissé DBCA faire sa magie.
5. Je n'aime vraiment pas la façon dont la DBCA me permet de créer/allouer des journaux de rétablissement, donc après la création de la base de données, j'ai créé mes propres groupes de journaux de rétablissement (multiplexés bien sûr) et supprimé les groupes de journaux de rétablissement que la DBCA a créés pour moi.
6. Je n'arrive jamais à comprendre comment ajouter un 3ème fichier de contrôle dans le DBCA. Ainsi, une fois la base de données créée, je la ferme, fais une troisième copie du fichier de contrôle, mets à jour le SPFILE avec le fait qu'il existe maintenant 3 fichiers de contrôle et démarre la base de données.
7. La DBCA a placé mon fichier de mot de passe et mon fichier spfile dans des emplacements qui ne sont pas optimaux pour moi. Alors je les ai déplacés. Dans $ORACLE_HOME/dbs, j'ai créé des liens symboliques pointant vers les nouveaux emplacements. Ensuite, j'ai utilisé srvctl pour mettre à jour l'emplacement du fichier spfile dans CRS.
8. Je n'ai jamais utilisé le DBCA pour configurer le mode archivelog. Donc, je saute toujours cette partie du DBCA. De plus, j'aime l'idée de ne pas archiver mes journaux redo lorsque la DBCA crée la base de données pour accélérer ce processus. Donc, à ce stade, j'ai configuré la journalisation des archives pour la base de données.
9. La base de données sera utilisée avec une veille et j'aime m'assurer d'avoir un changement de journal au moins une fois par heure, donc j'ai défini ARCHIVE_LAG_TARGET sur 3600.
À ce stade, la base de données de base est configurée et prête à être utilisée. Il est maintenant temps de lire la base de données pour notre application.
10. J'ai configuré tous les tablespaces requis pour l'application.
11. J'ai configuré tous les utilisateurs requis pour l'application.
12. Changement de l'espace de table par défaut de la base de données en l'un de ceux que j'ai créés ci-dessus. Ensuite, supprimez le tablespace USERS.
13. Comme il s'agit d'une base de données RAC, nous devons configurer le service pour que l'application se connecte.
14. Maintenant que la base de données est prête pour l'application, nous devons configurer la base de données de secours. Cela a été facilement réalisé à l'aide de l'assistant Ajouter une base de données de secours dans Grid Control.
15. Notre base de données de secours se trouve sur un cluster RAC à 2 nœuds. L'assistant Ajouter une base de données de secours crée une base de données à instance unique, de sorte que l'assistant Convertir en base de données de cluster a été exécuté dans Grid Control pour faire de la base de données de secours une base de données RAC.
Enfin, la dernière étape consistait à s'assurer que toutes les tâches de maintenance étaient étendues à la nouvelle base de données. Par exemple, les tâches cron pour supprimer les anciens fichiers journaux devaient être modifiées pour la nouvelle instance.
Ouah! C'est beaucoup de travail pour mettre en place une base de données initiale dans notre environnement de production. Comme je l'ai dit au début, la DBCA fait beaucoup de travail pour nous maintenant. Et Grid Control automatise également une grande partie du travail de création de veille. Mais il y a encore beaucoup d'étapes à franchir.