Instalacja klastra Oracle RAC 11gR2 cz. 4

Instalacja klastra Oracle RAC 11gR2 cz. 4 Photo credit: Capitan Giona / Foter

Jak stworzyć bazę Oracle? Jak sprawić, by działała poprawnie?

Kreowanie bazy danych

Po prawidłowym zainstalowaniu opcji GRID możemy zainstalować software bazy danych i przystąpić do tworzenia bazy – opisałem ręczny sposób stworzenia bazy i zarejestrowania jej w klastrze. Przykładowy plik pfile:

db_name="orcl"
sga_target=1G
sga_max_size=2G
pga_aggregate_target=200M
processes = 150
audit_trail ="db"
db_block_size=8192
db_recovery_file_dest_size=2G
open_cursors=300
remote_login_passwordfile="EXCLUSIVE"
orcl1.instance_name=orcl1
orcl2.instance_name=orcl2
orcl1.thread=1
orcl2.thread=2
orcl1.undo_tablespace=UNDO1
orcl2.undo_tablespace=UNDO2
cluster_database=false
cluster_database_instances=2
db_create_file_dest="+DATA"
db_create_online_log_dest_1="+DATA"
db_recovery_file_dest="+DATA"
Uruchamiamy bazę w trybie NOMOUNT i przystępujemy do jej tworzenia.
sqlplus "/ as sysdba"

SQL> create spfile from pfile;

SQL> startup nomount

ORACLE instance started.

Total System Global Area 3221225472 bytes
Fixed Size 2087416 bytes
Variable Size 3019900424 bytes
Database Buffers 184549376 bytes
Redo Buffers 14688256 bytes


CREATE DATABASE
CONTROLFILE REUSE
DATAFILE SIZE 1G
AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SYSAUX DATAFILE SIZE 600M
AUTOEXTEND ON NEXT 10240K MAXSIZE 5G
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE
SIZE 500M
UNDO TABLESPACE "UNDO1" DATAFILE
SIZE 1G autoextend on next 10M maxsize 5G
CHARACTER SET EE8ISO8859P2
LOGFILE GROUP 1 SIZE 100M,
GROUP 2 SIZE 100M,
GROUP 3 SIZE 100M;

Po prawidłowym wykonaniu tworzenia bazy danych, należy stworzyć dla niej słownik danych i zestaw pakietów  oraz typów.

SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql
SQL> @?/rdbms/admin/catclust.sql
SQL> @?/rdbms/admin/utlrp.sql

Po zmianie parametru CLUSTER_DATABASE na TRUE restartujemy instancję i dodajemy nowe grupy REDO oraz nową przestrzeń tabel UNDO dla drugiej instancji RAC’a

alter database add logfile thread 2 group 4;
alter database add logfile thread 2 group 5;
alter database add logfile thread 2 group 6;
alter database enable public thread 2;

create undo tablespace undo2
datafile size 200m
autoextend on next 10m
maxsize unlimited;

Rejestracja bazy w klastrze

Możemy zarejestrować bazę danych w klastrze na dwa sposoby – stary i nowy. Za pomocą starego sposobu rejestrujemy bazę i przypisujemy jej instancje, znajdujące się na poszczególnych węzłach klastra.

Posługując się nową metodą, stworzymy pulę serwerów, za pomocą której baza Oracle będzie zarządzana.

http://download.oracle.com/docs/cd/E14072_01/rac.112/e10717/votocr.htm#CHDHIDGF

W tej instalacji stworzyłem pulę serwerów.

[oracle@rac1 ~]$ srvctl add srvpool -g prod_orcl -l 1 -u 2 -i 10
[oracle@rac1 ~]$ srvctl status srvpool
Server pool name: Free
Active servers count: 0
Server pool name: Generic
Active servers count: 0
Server pool name: prod_orcl
Active servers count: 2

[oracle@rac1 ~]$ srvctl add database -d orcl -o /u01/app/oracle/product/11.2.0/db_1 -p /u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora -g prod_orcl -a data,orahome
[oracle@rac1 ~]$ srvctl config database -d orcl
Database unique name: orcl
Database name:
Oracle home: /u01/app/oracle/product/11.2.0/db_1
Oracle user: oracle
Spfile: /u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: prod_orcl
Database instances:
Disk Groups: DATA,ORAHOME
Services:
Database is policy managed
[oracle@rac1 ~]$ srvctl add instance -d orcl -i orcl1 -n rac1
PRCD-1051 : Failed to add instance to database orcl
PRCD-1045 : Database orcl is policy managed and does not support add instance option
[oracle@rac1 ~]$ srvctl status database -d orcl
Database is not running.
[oracle@rac1 ~]$ srvctl start database -d orcl

Jak widać powyżej nie da się dodać statycznie instancji dla bazy zarządzanej przez pulę serwerów – sprawdź zawartość katalogu $ORACLE_HOME/dbs a zobaczysz, że powstały tam nowe pliki pfile – pula zarządza automatycznie przypisaniami instancji do serwerów RAC’a. Interesujący wydaje się fakt, że po stworzeniu puli zbędne okazują się parametry dotyczące numerów instancji, wątków i undo – przypisania te zaczynają być zarządzane automatycznie.

Podobne artykuły:



Kamila Marciniak Szkoła Informatyki IT School