Na začátek tohoto příspěvku řeknu, že pokud je to možné, měli byste použít DBCA k přidání nové instance do vaší databáze RAC. DBCA se za vás postará o všechny podrobnosti. Je to jednoduchý 6stránkový průvodce a vaše nová instance je spuštěna na vašem novém uzlu.
Nedávno jsem byl pověřen přidáním nové instance pro naše produkční databáze běžící na našem 3uzlovém clusteru. Podařilo se mi vytvořit čtvrtou instanci na čtvrtém uzlu pro 2 ze 3 databází běžících na tomto clusteru. Když jsem se pokusil rozšířit třetí databázi na čtvrtý uzel, dostal jsem chybu informující mě, že adresář $ORACLE_HOME nebyl sdílen na všech uzlech. Pro začátek, adresář $ORACLE_HOME nemusí být sdílen na všech uzlech. A to fungovalo pro další dvě databáze ve stejném domovském adresáři. Ještě jsem nezjistil, proč je problém s touto třetí databází. Po dvou týdnech měl můj servisní požadavek na vyřešení problému prakticky nulový průběh. Rozhodl jsem se tedy přidat instance ručně, protože podpora Oracle neposkytuje potřebnou pomoc. V duchu jsem věděl, že ruční přidávání instancí není tak obtížné, ale nenašel jsem mnoho informací o tom, jak to vlastně udělat. Tento příspěvek ukazuje kroky k ručnímu přidání nové instance do vaší databáze RAC.
1. Nastavte parametry specifické pro instanci pro váš SPFILE. Pro svou novou instanci jsem musel přidat následující parametry:
změnit systémovou sadu instance_number=4 scope=spfile sid=’orcl4′;
alter system set local_listener=’LISTENER_ORCL4′ scope=spfile sid=’orcl4′;
změnit systémovou sadu log_archive_format=’%t_%s_%r.dbf’ scope=spfile sid=’orcl4′;
alter system set log_archive_trace=0 scope=spfile sid=’orcl4′;
alter system set thread=4 scope=spfile sid=’orcl4′;
alter system set undo_tablespace=’UNDOTBS4′ scope=spfile sid=’orcl4′;
2. Jeden z parametrů vyžaduje položku LISTENERS_ORCL4 v souboru TNSNAMES.ORA. Udělejte tento záznam v souboru a jakékoli další záznamy, které potřebujete pro tuto novou instanci.
3. Uložil jsem svůj soubor spfile a heslo na sdílené úložiště. Na novém uzlu na ně potřebuji provést softlink.
cd $ORACLE_HOME/dbs
ln -s /u01/app/oracle/oradata/orcl/data01/spfileorcl.ora spfileorcl4.ora
ln -s /u01/app/oracle/oradata/orcl/data01/orapworcl orapworcl4
4. Přidejte online skupiny redo log.
změnit databázi přidat vlákno protokolu 4 skupina 40
( '/u01/app/oracle/oradata/smp/redo01/redo40a.log',
'/u01/app/oracle/oradata/smp/redo01/ redo40b.log') velikost 52429312;
5. Přidejte soubory protokolu opakování v pohotovostním režimu.
změnit databázi přidat záložní soubor protokolu 4
‘/u01/app/oracle/oradata/smp/redo01/smp_4srl400.f‘ velikost 52429312;
6. Vzhledem k tomu, že mám pohotovostní databázi, musím do pohotovostní databáze přidat také online protokoly opakování a pohotovostní protokoly opakování. Viz můj předchozí příspěvek.
7. Povolte opakování vlákna.
změnit databázi povolit vlákno 4;
8. Vytvořte novou instanci v Grid Infrastructure
srvctl add instance -d orcl -i orcl4 -n myhost04
9. Spusťte novou instanci
srvctl start instance -d orcl -i orcl4
10. Na novém uzlu ověřte, že SMON běží.
ps -ef|grep smon
11. Ověřte, zda je instance otevřená.
select instance_number,instance_name,thread#,status from gv$instance;
12. Upravte /etc/oratab na novém uzlu tak, aby obsahoval položku instance
orcl4:/u01/app/oracle/product/11.2.0.2:N
13. V novém uzlu se přihlaste k instanci pomocí SQL*Plus, abyste zajistili, že k instanci budete mít přístup.
14. Ověřte instanci pomocí GI.
databáze stavu srvctl -d orcl
15. Instance je nyní spuštěna a spuštěna na novém uzlu. Zbývá pouze zpřístupnit nebo upřednostnit jakékoli databázové služby na tomto novém uzlu a vaše připojení můžete začít používat novou instanci.
srvctl upravit službu -d orcl -s orcl_svc -n -i orcl1,orcl2,orcl3,orcl4
srvctl start service -d orcl-s orcl_svc -i orcl4
stavová služba srvctl -d orcl
To je vše!