sql >> Database >  >> RDS >> Oracle

RAC installeren voor een database met gegevensbestanden

Nog niet zo lang geleden moest ik Oracle Clusterware en RDBMS upgraden van 11.1.0.7 naar 11.2.0.2. Ik heb heel veel ervaring met de Oracle RDBMS-software, maar ik vermoed dat ik zoals de meeste DBA's ben omdat mijn Clusterware-ervaring niet op hetzelfde niveau ligt als mijn RDBMS-ervaring. Dus hoewel ik niet bang was om de RDBMS-software te upgraden, benaderde ik de Clusterware-upgrade met enige nervositeit. Toegegeven, dit ongemak werd geboren uit een lagere mate van ervaring met het product. Dus voordat ik in productie ging, heb ik zoveel mogelijk getest, getest en getest.
De upgrade van Clusterware verliep soepel dankzij veel planning en testen.

Na de upgrade dacht ik na over wat er goed en fout ging en wat ik in de toekomst anders zou kunnen doen. Het kwam bij me op dat ik de Clusterware-upgrade totaal had kunnen verknoeien, de Clusterware-software had weggeblazen en nog steeds Clusterware helemaal opnieuw had kunnen installeren en mijn RAC-database had kunnen gebruiken. Dit bericht toont de stappen die ik in een testomgeving heb genomen om deze taak uit te voeren. Dus als u merkt dat u een totaal verknoeide Clusterware-upgrade of -installatie heeft, hoeft u zich geen zorgen te maken, want zolang u uw databasebestanden nog hebt, kunt u de boel aan de praat krijgen. Als uw Clusterware-upgrade is mislukt, moet u de hoofdoorzaak van de fout oplossen voordat u doorgaat. Dus als u een slechte cluster-interconnectconfiguratie of ongeldige opslag voor uw stemschijven had, moet u deze problemen oplossen en dan kunt u deze stappen volgen.

Ik heb een geldige database met al mijn gegevensbestanden in gedeelde opslag die toegankelijk zijn voor alle knooppunten in het cluster. Mijn test heeft twee knooppunten voor het cluster. Er wordt ook aangenomen dat de database netjes is afgesloten. Dit artikel gaat ervan uit dat de databasenaam ORCL is.

Opmerking:als uw database die u toevoegt aan RAC al deel uitmaakte van RAC, kunt u de stappen 9-11 hieronder overslaan. Stappen 9-11 zijn vereist als u de database ook converteert van een single-instance database naar een Oracle RAC-database terwijl u deze toevoegt aan Clusterware.

Stappen
1. Maak een koude back-up van uw databasegegevensbestanden. Mocht er iets gebeuren, dan kun je altijd herstellen vanaf de back-up door simpelweg de bestanden van de media te kopiëren.
2. Zorg ervoor dat de knooppunten zijn opgeschoond van de Clusterware-installatie/-upgrade. Raadpleeg Metalink Note 239998.1 voor gedetailleerde instructies indien nodig.
3. Installeer Oracle Clusterware correct. U had de problemen moeten oplossen waardoor deze stap in de eerste plaats mislukte.
a. Controleer of het cluster actief is.
i. $CRS_HOME/bin/crsctl-statusserver
1. Alle knooppunten in het cluster moeten ONLINE zijn.
4. Installeer Oracle RDBMS op het cluster.
a. De OUI moet de Clusterware detecteren en aanbieden om een ​​RAC-installatie uit te voeren.
5. Start de DBCA om een ​​shell-database te maken. We gebruiken de DBCA om alles voor ons in CRS in te stellen.
a. Kies de opties om een ​​RAC-database aan te maken.
b. Gebruik dezelfde naam als uw bestaande database.
c. Maak de shell-database op alle knooppunten in het cluster.
d. Gebruik een gemeenschappelijke locatie voor de databasebestanden, maar overschrijf uw bestaande gegevensbestanden niet.
6. Sluit de shell-database af
a. srvctl stop database –d orcl
7. Stel uw SPFILE in
a. Als u de SPFILE van uw oude database hebt:
i. Plaats het bestand op de gedeelde schijf.
ii. Update $ORACLE_HOME/dbs/initorcl.ora om naar de juiste SPFILE-locatie te verwijzen. Doe dit op alle nodes
b. Als u geen SPFILE hebt, maakt u een geheel nieuwe PFILE en gebruikt u vervolgens de opdracht CREATE SPFILE FROM PFILE om een ​​SPFILE te maken.
i. Zorg ervoor dat de parameter CONTROL_FILES naar de juiste locatie verwijst, niet naar de controlebestanden van de shell-database.
c. (Optioneel) Als u een wachtwoordbestand hebt, kopieert u dit naar de gedeelde opslag en werkt u vervolgens de softlink in $ORACLE_HOME/dbs (op alle knooppunten) bij zodat deze naar het wachtwoordbestand verwijst. Als u geen wachtwoordbestand heeft, kunt u er desgewenst later een aanmaken.
8. Update CRS met SPFILE-locatie (als root)
a. cd $CRS_HOME/bin
b. ./srvctl configuratiedatabase –d orcl
i. De uitvoer zou u moeten vertellen dat de SPFILE zich op de locatie van de shell-database bevindt
c. ./srvctl database wijzigen –d orcl –p /correct_path/spfileorcl.ora
i. Voer stap 8b uit om te controleren of de wijziging heeft plaatsgevonden.
ii. Controleer de wijziging ook op het andere knooppunt. U hoeft dit wijzigingscommando maar één keer uit te voeren voor alle knooppunten.
9. Wijzig de inhoud van de SPFILE.
a. sqlplus /nolog
b. verbind / als sysdba
c. create pfile=’/home/oracle/pfile.txt’ van spfile=’/path_to_spfile/spfileorcl.ora’;
d. Open het p-bestand in een teksteditor en breng de volgende wijzigingen aan:
i. Toevoegen:
1. *.cluster_database=true
2. *.cluster_database_instances=2
3. orcl1.instance_number=1
4. orcl2.instance_number=2
5. orcl1.thread=1
6. orcl2.thread=2
ii. Wijzig de parameter *.undo_tablespace in orcl1.undo_tablespace
e. Gebruik de pfile om de spfile te wijzigen
i. maak spfile=’/path_to_spfile/spfileorcl.ora’ van pfile=’/home/oracle/pfile.txt’;
10. Maak een nieuwe UNDO-tabelruimte voor de andere instantie.
a. export ORACLE_SID=orcl1
b. sqlplus / als sysdba
c. opstarten
d. maak ongedaan tabelruimte undotbs2 databestand ‘/path/undotbs02.dbf’ grootte 30m;
e. verander systeem set undo_tablespace=undotbs2 scope=spfile sid=’orcl2′;
11. Maak redo-logs voor de nieuwe thread
a. database wijzigen logbestand toevoegen thread 2 groep 10 '/path/redo10.log' grootte 50m;
b. database wijzigen logbestand toevoegen thread 2 groep 11 ‘/path/redo11.log’ grootte 50m;
c. database wijzigen logbestand toevoegen thread 2 groep 12 ‘/path/redo12.log’ grootte 50m;
d. verander database activeer openbare thread 2;
12. srvctl start database –d orcl

Op dit moment hebt u Clusterware vanaf het begin geïnstalleerd en er een bestaande database aan toegevoegd. Nu ik een beproefde methode heb om elke set databasebestanden te nemen en toe te voegen aan elke clusterware-installatie, heb ik mijn nervositeit verlaagd bij het uitvoeren van Clusterware-upgrades op productiesystemen. Zelfs als ik er een totale puinhoop van maak, kan ik Clusterware wegblazen, opnieuw installeren en vervolgens de database toevoegen aan Clusterware en mijn RAC-database in een mum van tijd up-and-running hebben.


  1. Hernoem een ​​primaire sleutel in SQL Server (T-SQL)

  2. Hoe PI() werkt in MariaDB

  3. Postgresql:Hoe selecteer ik de top n procent (%) items uit elke groep/categorie

  4. MySQL "NOT IN" query 3 tabellen