ϲ»¶¾ÍÀ´¶à¿´¿´

ÔÚ RHEL3 ÉϽ«µ¥Ò»ÊµÀýÊý¾Ý¿âת»»Îª RAC (003)

ÉÏһƪ / ÏÂһƪ  2007-02-06 00:00:00 / ¸öÈË·ÖÀࣺ11g&Grid

µÚ 3 ²½£º°²×°¼¯Èº¾ÍÐ÷·þÎñ (CRS) Èí¼þ

CRS ÒªÇó¹²ÏíԭʼÉ豸»ò Oracle ¼¯ÈºÎļþϵͳ (OCFS) ÉÏÓÐÁ½¸öÎļþ£¬¼´ Oracle ¼¯Èº×¢²á±í (OCR) ºÍ Voting Disk¡£ÕâЩÎļþ±ØÐë¿ÉÒÔÓɼ¯ÈºÖеÄËùÓнڵã·ÃÎÊ¡£´Ë´¦Ê¹ÓÃԭʼÉ豸À´ÈÝÄÉÕâÁ½¸öÎļþ¡£

3a.´´½¨ OCR ºÍ Voting Disk¡£

OCR µÄ´æ´¢Æ÷´óСÖÁÉÙӦΪ 100MB£¬voting disk µÄ´æ´¢Æ÷´óСӦÖÁÉÙΪ 20MB¡£

Îļþ
ԭʼÉ豸
´ÅÅÌ·ÖÇø
ÎļþÃû
´óС (MB)
OCR/dev/raw/raw11/dev/sde1/u02/oradata/prod1/ocr100
Voting Disk/dev/raw/raw12/dev/sde2/u02/oradata/prod1/vdisk20
[root@salmon1]# more /etc/sysconfig/rawdevices
/dev/raw/raw11  /dev/sde1
/dev/raw/raw12  /dev/sde2
[root@salmon1]# chown oracle:dba /dev/raw/raw11
[root@salmon1]# chown oracle:dba /dev/raw/raw12
[root@salmon1]# /sbin/service rawdevices restart
Assigning devices:
/dev/raw/raw11  -->   /dev/sde1
/dev/raw/raw11:bound to major 8, minor 65
/dev/raw/raw12  -->   /dev/sde2
/dev/raw/raw12:bound to major 8, minor 66
done
[root@salmon1]# su - oracle
[oracle@salmon1]$ ln -s /dev/raw/raw11 /u02/oradata/prod1/ocr
[oracle@salmon1]$ ln -s /dev/raw/raw12 /u02/oradata/prod1/vdisk
3b.°²×° CRS Èí¼þ¡£

°²×° CRS Èí¼þ֮ǰ£¬Çë¹Ø±Õ¼àÌý³ÌÐò¡¢Êý¾Ý¿âºÍ ASM ʵÀý¡£×°Èë CRS CD »ò´Ó OTN ÏÂÔØ¸ÃÈí¼þ¡£Ö»Ó¦ÔÚµÚÒ»¸ö½ÚµãÉÏÆô¶¯ OUI¡£°²×°¹ý³ÌÖУ¬°²×°³ÌÐò½«¸ÃÈí¼þ×Ô¶¯¸´ÖƵ½µÚ¶þ¸ö½Úµã¡£

[oracle@salmon1]$ export ORACLE_BASE=/u01/app/oracle
[oracle@salmon1]$ /mnt/cdrom/runInstaller
  1. »¶Ó­ - µ¥»÷¡°Next¡±¡£
  2. Ö¸¶¨ÎļþλÖÃ:
    1. Ãû³Æ:OraCr10g_home1
    2. ·¾¶:/u01/app/oracle/product/10.1.0/crs_1
  3. ÓïÑÔÑ¡Ôñ - Ó¢Óï
  4. ¼¯ÈºÅäÖãº
    1. ¼¯ÈºÃû³Æ£ºcrs
    2. ¹«¹²½ÚµãÃû³Æ£ºsalmon1£¬×¨ÓýڵãÃû³Æ£ºsallocal1
    3. ¹«¹²½ÚµãÃû³Æ£ºsalmon2£¬×¨ÓýڵãÃû³Æ£ºsallocal2
  5. רÓû¥Á¬ÊµÊ©£º
    1. ½Ó¿ÚÃû³Æ£ºeth0£¬×ÓÍø£º192.168.0.0£¬½Ó¿ÚÀàÐÍ£º¹«¹²
    2. ½Ó¿ÚÃû³Æ£ºeth1£¬×ÓÍø£º10.10.10.0£¬½Ó¿ÚÀàÐÍ£º×¨ÓÃ
  6. Oracle ¼¯Èº×¢²á±í£º
    1. Ö¸¶¨ OCR λÖÃ:/u02/oradata/prod1/ocr
  7. Voting Disk:
    1. ÊäÈë Voting disk ÎļþÃû³Æ£º/u02/oradata/prod1/vdisk
  8. ÔÚµÚÒ»¸ö½ÚµãÉÏÒÔ root Óû§µÄÉí·ÝÔÚÁíÒ»¸ö´°¿ÚÖÐÖ´ÐÐ /u01/app/oracle/oraInventory/orainstRoot.sh ½Å±¾¡£
  9. ÔÚµÚ¶þ¸ö½ÚµãÉÏÒÔ root Óû§µÄÉí·ÝÔÚ¿ªÒ»¸ö´°¿ÚÖÐÖ´ÐÐ /u01/app/oracle/oraInventory/orainstRoot.sh ½Å±¾¡£
  10. ÔÚÁ½¸ö½ÚµãÉÏÔËÐÐ orainstRoot.sh ºóµ¥»÷¡°Continue¡±¡£
  11. ÕªÒª - µ¥»÷¡°Install¡±
  12. ÔÚµÚÒ»¸ö½ÚµãÉÏÒÔ root Óû§µÄÉí·ÝÔÚÁíÒ»¸ö´°¿ÚÖÐÖ´ÐÐ /u01/app/oracle/product/10.1.0/crs_1/root.sh ½Å±¾¡£Ôڸò½ÖèÍê³É֮ǰ£¬²»ÒªÔËÐÐÏÂÒ»¸ö²½Öè¡£
  13. ÔÚµÚ¶þ¸ö½ÚµãÉÏÒÔ root Óû§µÄÉí·ÝÔÚÁíÒ»¸ö´°¿ÚÖÐÖ´ÐÐ /u01/app/oracle/product/10.1.0/crs_1/root.sh ½Å±¾¡£
  14. ÔÚÁ½¸ö½ÚµãÉÏÔËÐÐ root.sh ºóµ¥»÷¡°OK¡±¡£
  15. °²×°½áÊø - µ¥»÷¡°Exit¡±¡£
[oracle@salmon1]$ /u01/app/oracle/product/10.1.0/crs_1/bin/olsnodes -n
salmon1 1
salmon2 2
[oracle@salmon1]$ ps -ef | egrep "css|crs|evm"

µÚ 4 ²½£º°²×° Oracle RAC Èí¼þ

4a.±à¼­ oracle Óû§»·¾³Îļþ¡£

ÔÚ½Úµã 1 ÉÏ£¬ÉèÖà ORACLE_SID=prod1a¡£

ÔÚ½Úµã 2 ÉÏ£¬ÉèÖà ORACLE_SID=prod1b¡£

[oracle@salmon1]$ more .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

export PATH=$PATH:$HOME/bin
export ORACLE_SID=prod1a
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/product/10.1.0/crs_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
umask 022
4b.°²×° RAC Èí¼þ¡£

×°Èë Oracle Êý¾Ý¿â 10g ÆóÒµ°æ CD »ò´Ó OTN ÏÂÔØ¸ÃÈí¼þ¡£Ö»ÔÚµÚÒ»¸ö½ÚµãÉÏÆô¶¯ OUI¡£°²×°¹ý³ÌÖУ¬°²×°³ÌÐò½«¸ÃÈí¼þ×Ô¶¯¸´ÖƵ½µÚ¶þ¸ö½Úµã¡£

[oracle@salmon1]$ .~/.bash_profile
[oracle@salmon1]$ /mnt/cdrom/runInstaller
  1. »¶Ó­ - µ¥»÷¡°Next¡±¡£
  2. Ö¸¶¨ÎļþλÖÃ:
    1. Ãû³Æ:OraDB10g_home1
    2. ·¾¶:/u01/app/oracle/product/10.1.0/db_1
  3. Ö¸¶¨Ó²¼þ°²×°Ä£Ê½£º
    1. Ñ¡Ôñ¡°Cluster Installation¡±
    2. µ¥»÷¡°Select All¡±
  4. Ñ¡Ôñ°²×°Ä£Ê½£º
    1. Ñ¡Ôñ¡°Enterprise Edition¡±
  5. ÌØ¶¨²úÆ·±ØÒªÌõ¼þ¼ì²é£º
    1. ËùÓмì²é¾ùͨ¹ýºó£¬²Å¿É¼ÌÐøÏÂÒ»²½¡£ºöÂÔ openmotif-2.1.30-11 ¾¯¸æ¡£
  6. Ñ¡ÔñÊý¾Ý¿âÅäÖãº
    1. Ñ¡Ôñ¡°Do not create a starter database¡±
  7. ÕªÒª - µ¥»÷¡°Install¡±
  8. ÔÚµÚÒ»¸ö½ÚµãÉÏÒÔ root Óû§µÄÉí·ÝÔÚÁíÒ»¸ö´°¿ÚÖÐÖ´ÐÐ /u01/app/oracle/product/10.1.0/db_1/root.sh ½Å±¾¡£ÔÚ VIP ÅäÖÃÍê³Éǰ£¬²»ÒªÔÚµÚ¶þ¸ö½ÚµãÉÏÔËÐÐ root.sh¡£
  9. VIPCA »¶Ó­ - µ¥»÷¡°Next¡±
  10. VIP ÅäÖðïÖú£¬ 1 of 2:ÍøÂç½Ó¿Ú£º
    1. Ñ¡Ôñ¡°eth0¡±
  11. VIP ÅäÖðïÖú£¬ 2 of 2:¼¯Èº½ÚµãµÄÐéÄâ IP£º
    1. ½ÚµãÃû³Æ£ºsalmon1
    2. IP ¼ÙÃû£ºsalmon1-vip
    3. IP µØÖ·£º 192.168.0.186
    4. ×ÓÍøÑÚÂ룺 255.255.255.0
    5. ½ÚµãÃû³Æ£ºsalmon2
    6. IP ¼ÙÃû£ºsalmon2-vip
    7. IP µØÖ·£º 192.168.0.187
    8. ×ÓÍøÑÚÂ룺 255.255.255.0
  12. ÕªÒª - µ¥»÷¡°Finish¡±
  13. ÅäÖÃÖúÊÖ½ø¶È¶Ô»°¿ò - µ¥»÷¡°OK¡±
  14. ÅäÖýá¹û - µ¥»÷¡°Exit¡±
  15. ÔÚµÚ¶þ¸ö½ÚµãÉÏÒÔ root Óû§µÄÉí·ÝÔÚÁíÒ»¸ö´°¿ÚÖÐÖ´ÐÐ /u01/app/oracle/product/10.1.0/db_1/root.sh ½Å±¾¡£
  16. ÔÚÁ½¸ö½ÚµãÉÏÔËÐÐ root.sh ºóµ¥»÷¡°OK¡±¡£
  17. °²×°½áÊø - µ¥»÷¡°Exit¡±¡£
4c.ÅäÖÃ Oracle Listener¡£

Ö»Ó¦ÔÚÒ»¸ö½ÚµãÉÏÆô¶¯ºÍÅäÖÃÍøÂçÅäÖÃÖúÊÖ (NETCA)¡£ÔÚÅäÖùý³Ì½áÊøÊ±£¬NETCA ½«ÔÚÁ½¸ö½ÚµãÉÏÆô¶¯ Oracle listener¡£

[oracle@salmon1]$ netca 
  1. Oracle ÍøÂçÅäÖÃÖúÊÖ£ºÕæÕýÓ¦Óü¯Èº£¬ÅäÖãº
    1. Ñ¡Ôñ¡°Cluster configuration¡±
  2. Oracle ÍøÂçÅäÖÃÖúÊÖ£ºTOPSNodes:
    1. µ¥»÷¡°Select all nodes¡±
  3. Oracle ÍøÂçÅäÖÃÖúÊÖ£º»¶Ó­
    1. Ñ¡Ôñ¡°Listener configuration¡±
  4. Oracle ÍøÂçÅäÖÃÖúÊÖ£º¼àÌý³ÌÐòÅäÖ㬼àÌý³ÌÐò£º
    1. Ñ¡Ôñ¡°Add¡±
  5. Oracle ÍøÂçÅäÖÃÖúÊÖ£º¼àÌý³ÌÐòÅäÖ㬼àÌý³ÌÐòÃû³Æ£º
    1. ¼àÌý³ÌÐòÃû³Æ£ºLISTENER
  6. Oracle ÍøÂçÅäÖÃÖúÊÖ£º¼àÌý³ÌÐòÅäÖã¬ÔñЭÒé
    1. ÒÑѡЭÒ飺TCP
  7. Oracle ÍøÂçÅäÖÃÖúÊÖ£º¼àÌý³ÌÐòÅäÖã¬TCP/IP ЭÒ飺
    1. Ñ¡Ôñ¡°Use the standard port number of 1521¡±
  8. Oracle ÍøÂçÅäÖÃÖúÊÖ£º¼àÌý³ÌÐòÅäÖã¬Ôö¼Ó¼àÌý³ÌÐò£¿
    1. Ñ¡Ôñ¡°No¡±
  9. Oracle ÍøÂçÅäÖÃÖúÊÖ£º¼àÌý³ÌÐòÅäÖÃÍê³É£º
    1. µ¥»÷¡°Next¡±
  10. Oracle ÍøÂçÅäÖÃÖúÊÖ£º»¶Ó­
    1. Ñ¡Ôñ¡°Naming Methods configuration¡±
    2. µ¥»÷¡°Next¡±
  11. Oracle ÍøÂçÅäÖÃÖúÊÖ£ºÃüÃû·½Ê½ÅäÖãºÑ¡ÔñÃüÃû·½Ê½£º
    1. Ñ¡Ôñ¡°Local Naming¡±
  12. Oracle ÍøÂçÅäÖÃÖúÊÖ£ºÃüÃû·½Ê½ÅäÖÃÍê³É£º
    1. µ¥»÷¡°Next¡±
  13. Oracle ÍøÂçÅäÖÃÖúÊÖ£º»¶Ó­
    1. µ¥»÷¡°Finish¡±
4d.ÑéÖ¤·þÎñµÄ״̬¡£

ÔÚ½Úµã 1 ÉÏ£º

[oracle@salmon1]$ srvctl status nodeapps -n salmon1
VIP is running on node:salmon1
GSD is running on node:salmon1
Listener is running on node:salmon1
ONS daemon is running on node:salmon1
ÔÚ½Úµã 2 ÉÏ£º
[oracle@salmon2]$ srvctl status nodeapps -n salmon2
VIP is running on node:salmon2
GSD is running on node:salmon2
Listener is running on node:salmon2
ONS daemon is running on node:salmon2
4e. listener.ora Îļþ

ÔÚ½Úµã 1 ÉÏ£º

[oracle@salmon1]$ more $ORACLE_HOME/network/admin/listener.ora

LISTENER_SALMON1 =
(DESCRIPTION_LIST =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = salmon1-vip)(PORT = 1521))
      )
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.184)(PORT = 1521))
      )
    )
  )

SID_LIST_LISTENER_SALMON1 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.1.0/db_1)
(PROGRAM = extproc)
      )
  )
ÔÚ½Úµã 2 ÉÏ£º
[oracle@salmon2]$ more $ORACLE_HOME/network/admin/listener.ora

LISTENER_SALMON2 =
(DESCRIPTION_LIST =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = salmon2-vip)(PORT = 1521))
      )
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.185)(PORT = 1521))
      )
    )
  )

SID_LIST_LISTENER_SALMON2 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.1.0/db_1)
(PROGRAM = extproc)
      )
  )
4f. tnsnames.ora Îļþ

ÔÚÁ½¸ö½ÚµãÉÏ£º

[oracle@salmon1]$ more $ORACLE_HOME/network/admin/tnsnames.ora
LISTENERS_PROD1 =
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = salmon1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = salmon2-vip)(PORT = 1521))
  )

PROD1 =
(DESCRIPTION=
(ADDRESS = (PROTOCOL = TCP)(HOST = salmon1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = salmon2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA=
(SERVICE_NAME = PROD1)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 200)
(DELAY = 5)
          )
      )
  )
PROD1A =
(DESCRIPTION=
(ADDRESS = (PROTOCOL = TCP)(HOST = salmon1-vip)(PORT = 1521))
(CONNECT_DATA=
(SERVER = DEDICATED)
(SERVICE_NAME = PROD1)
(INSTANCE_NAME = PROD1A)
    )
)

PROD1B =
(DESCRIPTION=
(ADDRESS = (PROTOCOL = TCP)(HOST = salmon2-vip)(PORT = 1521))
(CONNECT_DATA=
(SERVER = DEDICATED)
(SERVICE_NAME = PROD1)
(INSTANCE_NAME = PROD1B)
      )
  )

µÚ 5 ²½£ººóÐø°²×°

5a.ÔÚµÚÒ»¸ö½ÚµãÉÏÖØÐ¶¨Î» ASM ʵÀýÎļþ¡£

½« ASM ʵÀý¿ÚÁîÎļþºÍ spfile+ASM1A.ora ¸´ÖƵ½Ð嵀 Oracle Home¡£

[oracle@salmon1]$ cp /u01/app/oracle/product/10.1.0/dbs/orapw+ASM1A 
/u01/app/oracle/product/10.1.0/db_1/dbs
[oracle@salmon1]$ cp /u01/app/oracle/product/10.1.0/dbs/spfile+ASM1A.ora 
/u01/app/oracle/product/10.1.0/db_1/dbs 
5b.ΪµÚ¶þ¸ö ASM ʵÀý´´½¨ init.ora¡£

ÔÚµÚ¶þ¸ö½ÚµãÉÏ£¬ÔÚ $ORACLE_HOME/dbs Öд´½¨Ò»¸ö init+ASM1B.ora Îļþ¡£

asm_diskgroups='DG1', a€?DG2a€?, a€?RECOVERYDESTa€?
asm_diskstring='ORCL:VOL*'
background_dump_dest=/u01/app/oracle/admin/+ASM/bdump
core_dump_dest=/u01/app/oracle/admin/+ASM/cdump
user_dump_dest=/u01/app/oracle/admin/+ASM/udump
instance_type=asm
large_pool_size=16M
remote_login_passwordfile=exclusive
+ASM1A.instance_number=1
+ASM1B.instance_number=2
5c.ΪµÚ¶þ¸ö ASM ʵÀý´´½¨¿ÚÁîÎļþ¡£

ʹÓà orapwd ʵÓóÌÐòÔÚµÚ¶þ¸ö½ÚµãÉ쵀 $ORACLE_HOME/dbs Öд´½¨Ò»¸ö orapw+ASM1B Îļþ¡£

5d.´´½¨µÚ¶þ¸ö ASM ʵÀý¡£

ÔÚµÚ¶þ¸ö½ÚµãÉÏ´´½¨µÚ¶þ¸ö ASM ʵÀý¡£

[oracle@salmon2]$ export ORACLE_SID=+ASM1B
[oracle@salmon2]$ sqlplus / as sysdba

SQL*Plus:Release 10.1.0.3.0 - Production on Thu May 26 18:43:14 2005
 
Copyright (c) 1982, 2004, Oracle.±£ÁôËùÓÐȨÀû¡£
 
Connected to an idle instance.
 
SQL> startup
ORACLE instance started.
 
Total System Global Area  104857600 bytes
Fixed Size                   777616 bytes
Variable Size             104079964 bytes
Database Buffers           0 bytes
Redo Buffers                 0 bytes
ASM diskgroups mounted
SQL> create spfile from pfile;

File created.

SQL> shutdown immediate;
5e.ʹÓà CRS ×¢²á ASM ʵÀý¡£

ΪʵÏÖ¸ü¸ßµÄ¿ÉÓÃÐÔ£¬ÇëÔÚ CRS ¿ò¼ÜÏÂ×¢²á ASM ʵÀý¡£×¢²áºó£¬CRS Ó¦¼ì²âµ½ÈκÎʧ°ÜµÄʵÀý£¬²¢×Ô¶¯³¢ÊÔÆô¶¯ÕâЩʵÀý¡£ÖØÐÂÆô¶¯·þÎñÆ÷ºó£¬CRS »¹½«×Ô¶¯Æô¶¯ÕâЩʵÀý¡£

ÔÚ½Úµã 1 ÉÏ£º

[oracle@salmon1]$ srvctl add asm -n salmon1 -i +ASM1A -o /u01/app/oracle/product/10.1.0/db_1
[oracle@salmon1]$ srvctl start asm -n salmon1 
[oracle@salmon1]$ srvctl status asm -n salmon1 
ASM instance +ASM1A is running on node salmon1. 
ÔÚ½Úµã 2 ÉÏ£º
[oracle@salmon2]$ srvctl add asm -n salmon2 -i +ASM1B -o /u01/app/oracle/product/10.1.0/db_1
[oracle@salmon2]$ srvctl start asm -n salmon2 
[oracle@salmon2]$ srvctl status asm -n salmon2 
ASM instance +ASM1B is running on node salmon2.  

[oracle@salmon1]$ ps -ef | grep dbw | grep -v grep
oracle    8918     1  0   May 26 ?00:00:01 asm_dbw0_+ASM1A
[oracle@salmon1]$ kill -9 8918
[oracle@salmon1]$ srvctl status asm a€¡°n salmon1
ASM instance +ASM1A is not running on node salmon1.
[oracle@salmon1]$ ps -ef | grep dbw | grep -v grep
[oracle@salmon1]$ srvctl status asm a€¡°n salmon1
ASM instance +ASM1A is running on node salmon1.
[oracle@salmon1]$ ps -ef | grep dbw | grep -v grep
oracle    8920     1  0   May 26 ?00:00:01 asm_dbw0_+ASM1A
5f.ΪÁ½¸ö RAC ʵÀý´´½¨¿ÚÁîÎļþ¡£

ʹÓà orapwd ʵÓóÌÐòÔÚµÚÒ»¸ö½ÚµãÉ쵀 $ORACLE_HOME/dbs Öд´½¨Ò»¸ö orapwprod1a Îļþ£¬²¢ÔÚµÚ¶þ¸ö½ÚµãÉ쵀 $ORACLE_HOME/dbs Öд´½¨ orapwprod1b Îļþ¡£

5g.ÔÚ pfile ÖÐÌí¼Ó RAC ÌØ¶¨²ÎÊý¡£

ÐÞ¸ÄÔÚµÚ 2 ²½Öб£´æµÄ pfile¡£Ìí¼Ó²¢ÐÞ¸ÄÒÔϲÎÊý£º

*.cluster_database_instances=2
*.cluster_database=true
*.remote_listener='LISTENERS_PROD1a€?
prod1a.thread=1
prod1a.instance_number=1
prod1a.undo_tablespace='UNDOTBS1'
prod1b.thread=2
prod1b.instance_number=2
prod1b.undo_tablespace='UNDOTBS2'
5h.ÐÞ¸ÄÁ½¸öʵÀýµÄ init.ora¡£

ÔÚ½Úµã 1 ÉÏ£º

[oracle@salmon1]$ more $ORACLE_HOME/dbs/initprod1a.ora
spfile='+DG1/spfileprod1.ora'
ÔÚ½Úµã 2 ÉÏ£º
[oracle@salmon2]$ more $ORACLE_HOME/dbs/initprod1b.ora
spfile='+DG1/spfileprod1.ora'
5i.½«Êý¾Ý¿â spfile ÒÆÖ²µ½ ASM¡£
SQL> !echo $ORACLE_SID
prod1a

SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup pfile=/tmp/tmppfile.ora
ORACLE instance started.

Total System Global Area  419430400 bytes
Fixed Size                   779416 bytes
Variable Size             128981864 bytes
Database Buffers           289406976 bytes
Redo Buffers                 262144 bytes
Database mounted.
Database opened.

SQL> create spfile='+DG1/spfileprod1.ora' from pfile='/tmp/tmppfile.ora';

File created.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
 
Total System Global Area  419430400 bytes
Fixed Size                   779416 bytes
Variable Size             128981864 bytes
Database Buffers           289406976 bytes
Redo Buffers                 262144 bytes
Database mounted.
Database opened.
SQL> show parameter spfile
 
NAME                 TYPE        VALUE
----------------------     ------------     ---------------------------
spfile                     string           +DG1/spfileprod1.ora
5j.´´½¨ RAC Êý¾Ý´ÊµäÊÓͼ¡£

ÔÚµÚÒ»¸ö RAC ʵÀýÉÏ´´½¨ RAC Êý¾Ý´ÊµäÊÓͼ¡£

SQL> !echo $ORACLE_SID
prod1a

SQL> spool /tmp/catclust.log
SQL> @$ORACLE_HOME/rdbms/admin/catclust
...
...
...
SQL> spool off
SQL> shutdown immediate;
5k.ʹÓà CRS ×¢²á RAC ʵÀý¡£

ÔÚ½Úµã 1 ÉÏ£º

[oracle@salmon1]$ srvctl add database -d prod1 -o $ORACLE_HOME 
[oracle@salmon1]$ srvctl add instance -d prod1 -i prod1a -n salmon1
[oracle@salmon1]$ srvctl add instance -d prod1 -i prod1b -n salmon2
[oracle@salmon1]$ srvctl start instance -d prod1 -i prod1a
5l.ΪµÚ¶þ¸ö RAC ʵÀý´´½¨ÖØ×öÈÕÖ¾¡£
SQL> connect sys/sys@prod1a as sysdba
Connected.
SQL> alter database add logfile thread 2 group 3 size 100M;
SQL> alter database add logfile thread 2 group 4 size 100M;
SQL> select group#, member from v$logfile;
 
GROUP#    MEMBER
---------------    ----------------------------------------
1    +DG1/prod1/onlinelog/group_1.265.3  
1    +DG2/prod1/onlinelog/group_1.257.1  
2    +DG1/prod1/onlinelog/group_2.266.3  
2    +DG2/prod1/onlinelog/group_2.258.1   
3    +DG1/prod1/onlinelog/group_3.268.1
3    +DG2/prod1/onlinelog/group_3.259.1
4    +DG1/prod1/onlinelog/group_4.269.1
4    +DG2/prod1/onlinelog/group_4.260.1

8 rows selected.

SQL> alter database enable thread 2;

Database altered.
5m.ΪµÚ¶þ¸ö RAC ʵÀý´´½¨ÖØ×ö±í¿Õ¼ä¡£
SQL> create undo tablespace UNDOTBS2 datafile size 200M;

SQL> select tablespace_name, file_name from dba_data_files
2    where tablespace_name=a€?UNDOTBS2a€?;
 
TABLESPACE               FILE_NAME                                          
---------------------    --------------------------------------
UNDOTBS2                 +DG1/prod1/datafile/undotbs2.270.1   
5n.Æô¶¯µÚ¶þ¸ö RAC ʵÀý¡£
[oracle@salmon1]$ srvctl start instance -d prod1 -i prod1b
[oracle@salmon1]$ crs_stat -t
Name                 Type            Target     State      Host        
-----------------------------------------------------------------------
ora....1a.inst       application     ONLINE     ONLINE     salmon1 
ora....1b.inst       application     ONLINE     ONLINE     salmon2
ora.prod1.db         application     ONLINE     ONLINE     salmon1
ora....M1A.asm       application     ONLINE     ONLINE     salmon1
ora....M1B.asm       application     ONLINE     ONLINE     salmon2
ora....N1.lsnr       application     ONLINE     ONLINE     salmon1
ora....on1.gsd       application     ONLINE     ONLINE     salmon1
ora....on1.ons       application     ONLINE     ONLINE     salmon1
ora....on1.vip       application     ONLINE     ONLINE     salmon1
ora....N2.lsnr       application     ONLINE     ONLINE     salmon2 
ora....on2.gsd       application     ONLINE     ONLINE     salmon2
ora....on2.ons       application     ONLINE     ONLINE     salmon2
ora....on2.vip       application     ONLINE     ONLINE     salmon2
[oracle@salmon1]$ srvctl status database -d prod1
Instance prod1a is running on node salmon1
Instance prod1b is running on node salmon2
[oracle@salmon1]$ srvctl stop database -d prod1
[oracle@salmon1]$ srvctl start database -d prod1
[oracle@salmon1]$ sqlplus system/system@prod1

SQL*Plus:Release 10.1.0.3.0 - Production on Fri May 27 05:53:21 2005
 
Copyright (c) 1982, 2004, Oracle.±£ÁôËùÓÐȨÀû¡£
 

Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL> select instance_number instance#, instance_name, host_name, status 
2    from gv$instance;
   
INSTANCE#   INSTANCE_NAME     HOST_NAME                 STATUS
-----------------   ----------------- ------------------------- -----------
1   prod1a            salmon1.dbsconsult.com    OPEN
2   prod1b            salmon2.dbsconsult.com    OPEN
¹§Ï²Äú£¡ÄúÒѾ­½«µ¥Ò»ÊµÀýÊý¾Ý¿âת»»Îª RAC£¡


µÚ 6 ²½£º²âÊÔ͸Ã÷Ó¦ÓóÌÐò¹ÊÕÏÇл» (TAF)

Oracle TAF ÖеĹÊÕÏÇл»»úÖÆÊ¹ÈκÎʧ°ÜµÄÊý¾Ý¿âÁ¬½ÓÄܹ»ÖØÐÂÁ¬½Óµ½¼¯ÈºÖÐµÄÆäËû½Úµã¡£¹ÊÕÏÇл»¶ÔÓû§ÊÇ͸Ã÷µÄ¡£Oracle ÔÚ¹ÊÕÏÇл»ÊµÀýÉÏÖØÐÂÖ´Ðвéѯ²¢¼ÌÐøÏòÓû§ÏÔʾÓàϵĽá¹û¡£

Ϊʾ·¶ TAF Ñ¡¼þµÄ¹ÊÕÏÇл»»úÖÆ£¬ÇëÁ¬½Óµ½Á½¸ö²»Í¬µÄÊý¾Ý¿â»á»°²¢Ö´ÐÐÒÔϲ½Ö裺

6a.ʹÓà PROD1 ·þÎñÁ¬½ÓµÚÒ»¸ö»á»°¡£

Èç¹û failover_type ºÍ failover_mode ·µ»ØµÄÊä³öΪ¡°NONE¡±£¬ÔòÑéÖ¤ÊÇ·ñÔÚ tnsnames.ora ÖÐÕýÈ·ÅäÖÃÁË PROD1 ·þÎñ¡£

SQL> connect system/system@prod1 as sysdba
Connected.

SQL> select instance_number instance#, instance_name, host_name, status 
2    from v$instance;
   
INSTANCE#   INSTANCE_NAME   HOST_NAME                 STATUS                                         
 -----------------   --------------  ------------------------- ----------------
1   prod1a          salmon1.dbsconsult.com    OPEN

SQL> select failover_type, failover_method, failed_over 
2    from v$session where username='SYSTEM';
 
FAILOVER_TYPE              FAILOVER_MODE        FAILED_OVER
-------------------------  -------------------- ----------------------
SELECT        BASIC           NO
6b.´ÓÆäËû»á»°ÖйرոÃʵÀý¡£

ÔÚ prod1a ʵÀýÉÏÒÔ sys Óû§µÄÉí·ÝÁ¬½Ó£¬²¢¹Ø±Õ¸ÃʵÀý¡£

SQL> connect sys/sys@prod1a as sysdba
Connected.

SQL> select instance_number instance#, instance_name, host_name, status 
2    from v$instance;
   
INSTANCE#   INSTANCE_NAME      HOST_NAME                 STATUS                                         
-----------------   ----------------   ------------------------  ----------------
1   prod1a             salmon1.dbsconsult.com    OPEN

SQL> shutdown abort;    
ORACLE instance shut down.
6c.ÑéÖ¤¸Ã»á»°ÊÇ·ñÒѾ­Íê³É¹ÊÕÏÇл»¡£

´ÓµÚ 6 ²½ÖеÄͬһ»á»°Ö´ÐÐÒÔϲéѯÒÔÑéÖ¤¸Ã»á»°ÊÇ·ñ¹ÊÕÏÇл»µ½ÆäËûʵÀý¡£

SQL> select instance_number instance#, instance_name, host_name, status 
2    from v$instance;
   
INSTANCE#   INSTANCE_NAME      HOST_NAME                 STATUS                                         
-----------------   ----------------   ------------------------  ----------------
2   prod1b             salmon2.dbsconsult.com    OPEN

SQL> select failover_type, failover_method, failed_over 
2    from v$session where username='SYSTEM';
 
FAILOVER_TYPE      FAILOVER_MODE   FAILED_OVER
-----------------  --------------  ----------------------
SELECT             BASIC            YES


½áÂÛ

Á˽âÁË RAC Ìåϵ½á¹¹²¢½øÐÐÇ¡µ±¹æ»®ºó£¬´Óµ¥Ò»ÊµÀýÊý¾Ý¿â×ªÒÆµ½ RAC ÅäÖò¢²»Ò»¶¨ºÜ¸´ÔÓ¡£



TAG:

 

ÆÀ·Ö£º0

ÎÒÀ´ËµÁ½¾ä

ÏÔʾȫ²¿

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

ÈÕÀú

« 2008-01-26  
ÈÕ Ò» ¶þ Èý ËÄ Îå Áù
  12345
6789101112
13141516171819
20212223242526
2728293031  

Êý¾Ýͳ¼Æ

  • ·ÃÎÊÁ¿: 36
  • ÈÕÖ¾Êý: 1128
  • ͼƬÊý: 1
  • ÊéÇ©Êý: 1
  • ½¨Á¢Ê±¼ä: 2007-12-13
  • ¸üÐÂʱ¼ä: 2008-01-01

RSS¶©ÔÄ

Open Toolbar