Eens in de zoveel tijd, voor welk bedrijf ik ook werk, word ik gevraagd om een nieuwe productiedatabase op te zetten. Ik werkte vandaag aan deze taak toen ik begon na te denken over hoeveel werk het was om in dat verleden een geheel nieuwe database te creëren, hoeveel de DBCA vandaag voor ons afhandelt en hoeveel er nog te doen is.
Momenteel hebben we een ontwikkelings- en testdatabase voor onze applicatie van derden. We zullen de applicatie tegen het einde van de week in productie nemen, dus ik kreeg de taak om een productieversie van deze database op te zetten. De productiedatabaseserver is een RAC-cluster met 3 knooppunten die al voor mij is ingesteld omdat we momenteel twee andere databases op de cluster gebruiken. Dit bespaart me dus de stap van het installeren en configureren van Grid Infrastructure en de RDBMS-software. Maar toen ik begon met het opzetten van de database, begon ik na te denken over hoeveel werk ik nog te doen had. En aangezien we zelden gloednieuwe productiedatabases opzetten, zijn sommige van deze taken niet zo gemakkelijk te onthouden als andere. Hieronder staan de stappen die ik vandaag heb doorlopen om de productiedatabase in gebruik te nemen.
1. Met behulp van de dev/test-databases als mijn gids, heb ik mijn geheugen- en schijfopslagvereisten bepaald.
2. Ik heb geverifieerd dat het productie-RAC-cluster voldoende geheugen had om de nieuwe database-instanties te ondersteunen.
3. Ik heb samengewerkt met mijn opslagbeheerder om de benodigde schijfopslag op het cluster te koppelen.
4. Ik heb toen de DBCA in brand gestoken om de gloednieuwe database te creëren. Ik liep door de wizard en vulde de juiste waarden in en liet DBCA zijn magie doen.
5. Ik vind het echt niet leuk hoe ik met de DBCA redo-logs kan maken/toewijzen, dus nadat de database was gemaakt, heb ik mijn eigen redo-loggroepen gemaakt (uiteraard in multiplex) en heb ik de redo-loggroepen verwijderd die de DBCA voor mij had gemaakt.
6. Ik kan er nooit achter komen hoe ik een 3e controlebestand in de DBCA moet toevoegen. Dus nadat de database is gemaakt, sluit ik hem af, maak een derde kopie van het controlebestand, update de SPFILE met het feit dat er nu 3 controlebestanden zijn en start de database.
7. De DBCA heeft mijn wachtwoordbestand en spfile op locaties geplaatst die niet optimaal zijn voor mij. Dus ik heb ze verplaatst. In $ORACLE_HOME/dbs heb ik softlinks gemaakt die naar de nieuwe locaties verwijzen. Daarna gebruikte ik srvctl om de spfile-locatie in CRS bij te werken.
8. Ik heb nog nooit de DBCA gebruikt om de archivelog-modus in te stellen. Dat deel van de DBCA sla ik dus altijd over. Bovendien vind ik het een goed idee om mijn herhalingslogboeken niet te archiveren wanneer de DBCA de database aan het maken is om dat proces te versnellen. Dus op dit punt heb ik archiefregistratie voor de database ingesteld.
9. De database zal worden gebruikt met een stand-by en ik wil ervoor zorgen dat ik minstens één keer per uur een log-switch heb, dus ik stel ARCHIVE_LAG_TARGET in op 3600.
Op dit punt is de barebone-database opgezet en klaar voor gebruik. Nu is het tijd om de database voor onze applicatie te laten lezen.
10. Ik heb de benodigde tablespaces voor de applicatie ingesteld.
11. Ik heb alle vereiste gebruikers voor de toepassing ingesteld.
12. Ik heb de standaardtabelruimte van de database gewijzigd in een van de tabellen die ik hierboven heb gemaakt. Laat vervolgens de USERS tablespace vallen.
13. Aangezien dit een RAC-database is, moeten we de service instellen zodat de toepassing verbinding kan maken.
14. Nu de database klaar is voor de toepassing, moeten we de Standby-database instellen. Dit was eenvoudig te doen met behulp van de wizard Standby-database toevoegen in Grid Control.
15. Onze Standby-database bevindt zich op een RAC-cluster met 2 knooppunten. De wizard Standby-database toevoegen maakt een database met één exemplaar, dus de wizard Converteren naar clusterdatabase werd uitgevoerd in Grid Control om van de stand-by een RAC-database te maken.
Ten slotte was de laatste stap om ervoor te zorgen dat eventuele onderhoudstaken werden uitgebreid naar de nieuwe database. Cron-taken om oude logbestanden te verwijderen, moesten bijvoorbeeld worden aangepast voor de nieuwe instantie.
Wauw! Dat is veel werk om een eerste database op te zetten in onze productieomgeving. Zoals ik in het begin al zei, doet de DBCA nu veel werk voor ons. En Grid Control automatiseert ook veel van het standby-creatiewerk. Maar er komen nog veel stappen bij kijken.