Oracle9i RAC for RedFlag Linux DC4.1 32bit °²×°Á÷³Ì
Ò»¡¢ºìÆìDC4.1°²×°
·ÖÇøÇé¿ö£º
¹Ò½Óµã ¿Õ¼ä£¨M£©
/boot 500
LVM
/opt 20000
/usr 5000
/var 5000
/home 10000
swap 2000
/ 27000
¶þ¡¢ÏµÍ³Ç°ÆÚ×¼±¸
1.ϵͳ»ù±¾Çé¿ö˵Ã÷
Á½Ì¨DELL 6850£¬ÄÚ´æ4GB£¬±¾µØÅÌ73GB£¨RAIDÖ®ºó£©
²Ù×÷ϵͳºìÆìlinux DC4.1
## ²Ù×÷ϵͳ°²×°£¨1#¡¢2#ÅÌ£©£¬²¹¶¡°²×°£¨3#¡¢6#ÅÌ£©
2.°²×°ºìÆìlinux for oracleÈí¼þÖ§³Ö°ü
ÔÚºìÆìlinux°²×°ÅÌDisk1/Asianux/RPMSÏ£¬°²×°Ãû³ÆÎªoracle9i_support-1.0-2AX.i386.rpmµÄϵͳ°ü
# rpm -ivh oracle9i_support-1.0-2AX.i386.rpm
3. ÍøÂçÉèÖÃ
Ò»ºÅ»úpublic£º192.168.0.100 Oracle1 private£º192.168.1.100 Oracle1P
¶þºÅ»úpublic£º192.168.0.101 Oracle2 private£º192.168.1.101 Oracle1P
±à¼/etc/hostsÎļþ£¬¼ÓÈëÒÔÏÂÐУ¬Ê¹»úÆ÷ÃûÄܹ»±»ÕýÈ·½âÎö
192.168.0.100 Oracle1
192.168.0.101 Oracle2
192.168.1.100 Oracle1P
192.168.1.101 Oracle2P
4£®ÅäÖÃftp·þÎñ
´ò¿ªproftpd·þÎñ
# service proftpd restart
5£®ÅäÖÃrshºÍrlogin£¬Ê¹oracleÓû§Äܹ»Á½±ß»úÆ÷ʹÓÃrshºÍrcpÃüÁî
±à¼/etc/hosts.equiv£¬Ð´ÈëË«·½¹«ÓúÍ˽ÓÃÍøÂçÃû
Oracle1
Oracle2
Oracle1P
Oracle2P
±à¼/root/.rhosts£¬Ð´ÈëË«·½¹«ÓúÍ˽ÓÃÍøÂçÃû
Oracle1
Oracle2
Oracle1P
Oracle2P
±à¼/etc/xinetd.d/Ŀ¼ÏÂrsh¡¢rlogin¡¢rexecÈý¸öÎļþ£¬½«ÆäÖеÄdisable=yesÐ޸ijÉΪdisable=no
±à¼/etc/pam.d/rsh£¬ÆÁ±Î{ auth required pam_rhosts_auth.so }ÕâÒ»ÐУ¨ÔÚÕâÒ»ÐÐǰ¼Ó#ºÅ£©
±à¼/etc/securetty£¬¼ÓÈëÒÔÏÂÈýÐÐ
rexec
rsh
rlogin
½«/usr/kerberos/binĿ¼ÏµÄrcp¡¢rsh¡¢rlogin¸üÃû
# mv /usr/kerberos/bin/rcp /usr/kerberos/bin/rcp.bak
# mv /usr/kerberos/bin/rsh /usr/kerberos/bin/rsh.bak
# mv /usr/kerberos/bin/rlogin /usr/kerberos/bin/rlogin.bak
ÖØÆôxinetd·þÎñ
# service xinetd restart
²âÊÔrootÓû§ÒÔ¼°oracleÓû§ÊÇ·ñÄܹ»½øÐÐrcp
±£Ö¤Á½Ì¨»úÆ÷4¸öIPÖ®¼ä¶¼ÄÜʹÓÃrcp½øÐÐÔ¶³Ì¿½±´
£¨ÔÚOracle1¡¢OAOrcle2ÉϽøÐÐÒÔϲâÊÔ£©
# rlogin Oracle1
# rlogin Oracle1P
# rcp -r Oracle1:/tmp /tmp
6£®Ê¹Óà #fdisk -l ÃüÁîÈ·ÈÏÁ½Ì¨»úÆ÷¶¼ÄÜ¿´µ½¹²ÏíÅÌÕ󣬯äÖÐ/dev/sdb2»®·Ö¸ø±¾´ÎʵʩÓÃ
ÅÌÕóµÄ»®·ÖΪ£º
É豸Ãû ¿Õ¼ä£¨M£©
/dev/sdb1 5000
/dev/sdb2 300000
/dev/sdb3 600000
/dev/sdb4 5000
Èý¡¢Êý¾Ý¿âǰÆÚ×¼±¸
1.´´½¨oracleÓû§¡¢dba×é¡¢oninstall×é
±£Ö¤Á½Ì¨»úÆ÷ÉÏoracleÓû§IDºÍdba×éIDÍêȫһÖ¡£Ö÷Ŀ¼ѡÔñΪ/home/oracle£¬shellÀàÐÍÑ¡Ôñbash¡£
# groupadd -g 500 dba£¨cat /etc/group£©
# groupadd -g 501 oinstall£¨cat /etc/group£©
# useradd -g dba -G oinstall -u 500 -d /home/oracle oracle£¨cat /etc/passwd£©
# passwd oracle
´´½¨/var/opt/oracleĿ¼²¢ÐÞ¸ÄÊôÖ÷¡£
# mkdir /var/opt/oracle
# chown oracle.dba /var/opt/oracle
2.ÐÞ¸ÄoracleÓû§ÅäÖÃÎļþ/home/oracle/.bash_profile£¬ÄÚÈÝÈçÏÂ
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export PATH=$PATH:$ORACLE_HOME/oracm/bin:/bin:/sbin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:/usr/ccs/bin:/usr/bin/X11/:/usr/local/bin
export DISPLAY=127.0.0.1:0.0
export ORACLE_SID=zgdb2
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
3.Ð޸ĺËÐIJÎÊýÅäÖÃÎļþ£¬ÔÚ/etc/sysctl.confÖÐÌí¼ÓÈçÏÂÐÐ
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.ipv4.tcp_sack=0
net.ipv4.tcp_timestamps=0
fs.file-max = 65536
kernel.sem = 500 64000 100 128
kernel.shmmax = 2147483648£¨4294967296£©
ËÄ¡¢°²×°OCFSºÍOCM
1£®°²×°OCFSÈí¼þ
A¡¢Ê¹ÓÃocfstool¹¤¾ßÅäÖà # ocfstool
Ñ¡ÔñTasksÖеÄGenerate Config²Ëµ¥£º
ÐÞ¸ÄInterfaceÖеÄÍøÂç½Ó¿ÚΪoracle RACµÄÄÚÍø½Ó¿Úeth1£¬NodeNameΪ£ºOracle1È»ºó°´OKÈ·¶¨£¬Í˳öocfstool¡£²é¿´/etc/ocfs.confÎļþÅäÖÃÊÇ·ñÕýÈ·£¬Èç¹ûÒªÖØÐÂÅäÖÃÔòÐèɾ³ý/etc/ocfs.conf
B¡¢¼ÓÔØocfsÄ£¿é
# load_ocfs
C¡¢´´½¨ocfs·ÖÇø
# mkdir /data
# mkfs -t ocfs -b 128 -g 500 -L data -m /data -p 0755 -u 500 /dev/sdb2 -F
# chown -R oracle:dba /data
E¡¢±à¼/etc/rc.localÎļþ£¬¼ÓÈëÈçÏÂÐУ¨¸Ã²½ÖèÊÇÓÉÓÚ·¢ÏÖÏµÍ³ÖØÆôʱδÄÜ×Ô¶¯¼ÓÔØocfsÄ£¿éºÍmount ocfsÎļþϵͳÌí¼Ó£©
/sbin/load_ocfs
sleep 2
/bin/mount -t ocfs -o _netdev /dev/sdb2 /data
2. °²×°OCMÈí¼þ
A¡¢´´½¨quorum.dbfºÍsrvm.dbf
# dd if=/dev/zero of=/data/quorum.dbf bs=1M count=20
# dd if=/dev/zero of=/data/srvm.dbf bs=1M count=100
# chown root:dba /data/quorum.dbf
# chmod 664 /data/quorum.dbf
# chown oracle:dba /data/srvm.dbf
# chmod 664 /data/srvm.dbf
B¡¢ÔËÐÐORACLE°²×°¹âÅÌÉϵÄrunInstaller£¬Ñ¡Ôñ°²×°Ä¿Â¼£¬°²×°OCM 9.2.0.4
ÊäÈ뼯Ⱥ¿ØÖÆÎļþ/data/quorum.dbfºÍÁ½Ì¨»úÆ÷publi¡¢privateÍø¿¨µÄÃû³Æ¡£
C¡¢ÅäÖÃhangcheckÄ£¿é
È·ÈÏϵͳÊÇ·ñÒѾ°²×°¸ÃÄ£¿é
# find -name "hangcheck-timer.o"
/lib/modules/2.4.21-20.19AXsmp/kernel/drivers/char/hangcheck-timer.o
¼ÓÔØ¸ÃÄ£¿é
# cd /lib/modules/2.4.21-20.19AXsmp/kernel/drivers/char
# /sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
²é¿´Ä£¿éÊÇ·ñÌí¼Ó³É¹¦£¨hangchec-ktimer£©
# /sbin/lsmod
±à¼/etc/modules.confÌí¼Ó
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180"
Ìí¼Ó/etc/rc.localÎļþÖÐÒÔÏÂÐÐ
/sbin/modprobe hangcheck-timer
G¡¢ÐÞ¸ÄOCMÅäÖÃ
ÐÞ¸Ä$ORACLE_HOME/oracm/admin/cmcfg.ora
Ìí¼ÓÒ»ÐÐKernelModuleName=hangcheck-timer
ÐÞ¸ÄMissCount=210
ÐÞ¸ÄÁ½Ì¨»úÆ÷µÄ
HostName=data1£¨Ò»ºÅ»ú£©
HostName=data2£¨¶þºÅ»ú£©
ÐÞ¸Ä$ORACLE_HOME/oracm/bin/ocmstart.sh£¬ÔÚÎļþÍ·Ìí¼ÓÈçÏÂÐÐ
ORACLE_HOME=/opt/oracle/product/9.2.0
OCMS_HOME=/opt/oracle/product/9.2.0
export ORACLE_HOME
export OCMS_HOME
H¡¢Æô¶¯OCM
# /opt/oracle/product/9.2.0/oracm/bin/ocmstart.sh
I¡¢½«OCMÆô¶¯¼Óµ½¿ª»ú×Ô¶¯Æô¶¯½Å±¾¡£±à¼/etc/rc.local£¬Ìí¼Ó
ORACLE_HOME=/opt/oracle/product/9.2.0
rm -rf $ORACLE_HOME/oracm/log/*
$ORACLE_HOME/oracm/bin/ocmstart.sh
Îå¡¢°²×°RDBMS
1£®ÔËÐÐORACLE°²×°¹âÅÌ£¬°²×°oracle9.2.0.4
$ /mnt/cdrom/runInstaller
°´ÕÕÌáʾ°²×°¼´¿É
2£®¼àÌýÅäÖÃʹÓÃĬÈÏÅäÖü´¿É
Áù¡¢´´½¨Êý¾Ý¿â£¨²ÉÓýű¾½¨¿â£©
Ò»ºÅ»ú£º
1¡¢´´½¨OracleËùÐèµÄĿ¼£¬ÒÔ¼°sysÓû§ÃÜÂë
# su - oracle
$ mkdir /opt/oracle/admin/data/bdump
$ mkdir /opt/oracle/admin/data/cdump
$ mkdir /opt/oracle/admin/data/create
$ mkdir /opt/oracle/admin/data/pfile
$ mkdir /opt/oracle/admin/data/udump
$ export ORACLE_SID=data1
$ echo Add this entry in the oratab
$ echo "rkxt:/opt/oracle/product/9.2.0:Y" >>/etc/oratab
$ orapwd file=/opt/oracle/product/9.2.0/dbs/orapwdata1 password=change_on_install
2¡¢CreateDB
connect SYS/change_on_install as SYSDBA
set echo on
spool /opt/opt/oracle/product/9.2.0/assistants/dbca/logs/CreateDB.log
startup nomount pfile="/opt/oracle/admin/data/scripts/init.ora";
CREATE DATABASE rkxt
CONTROLFILE REUSE
MAXINSTANCES 32
MAXLOGHISTORY 0
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
DATAFILE '/data/system' SIZE 2047M REUSE
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/data/temp1' SIZE 2047M REUSE, '/data/temp2' SIZE 2047M REUSE
UNDO TABLESPACE "UNDOTBS1" DATAFILE '/data/undo1' SIZE 2047M REUSE
CHARACTER SET UTF8
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('/data/redo11a','/data/redo11b') SIZE 127M REUSE,
GROUP 2 ('/data/redo12a','/data/redo12b') SIZE 127M REUSE,
GROUP 3 ('/data/redo13a','/data/redo13b') SIZE 127M REUSE;
spool off
3¡¢DB1
CREATE UNDO TABLESPACE "UNDOTBS2" DATAFILE '/data/undo2' SIZE 2047M REUSE;
ALTER DATABASE ADD LOGFILE THREAD 2
('/data/redo21a','/data/redo21b') SIZE 127M REUSE;
ALTER DATABASE ADD LOGFILE THREAD 2
( '/data/redo22a','/data/redo22b') SIZE 127M REUSE;
ALTER DATABASE ADD LOGFILE THREAD 2
( '/data/redo23a','/data/redo23b') SIZE 127M REUSE;
4¡¢CreateDBFiles
connect SYS/change_on_install as SYSDBA
set echo on
spool /opt/opt/oracle/product/9.2.0/assistants/dbca/logs/CreateDBFiles.log
CREATE TABLESPACE "INDX" LOGGING DATAFILE '/data/indx' SIZE 1023M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE TABLESPACE "TOOLS" LOGGING DATAFILE '/data/tools' SIZE 1023M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE TABLESPACE "USERS" LOGGING DATAFILE '/data/user' SIZE 1023M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
spool off
5¡¢CreateDBCatalog
connect SYS/change_on_install as SYSDBA
set echo on
spool /opt/opt/oracle/product/9.2.0/assistants/dbca/logs/CreateDBCatalog.log
@/opt/opt/oracle/product/9.2.0/rdbms/admin/catalog.sql;
@/opt/opt/oracle/product/9.2.0/rdbms/admin/catexp7.sql;
@/opt/opt/oracle/product/9.2.0/rdbms/admin/catblock.sql;
@/opt/opt/oracle/product/9.2.0/rdbms/admin/catproc.sql;
@/opt/opt/oracle/product/9.2.0/rdbms/admin/catoctk.sql;
@/opt/opt/oracle/product/9.2.0/rdbms/admin/owminst.plb;
connect SYSTEM/manager
@/opt/opt/oracle/product/9.2.0/sqlplus/admin/pupbld.sql;
connect SYSTEM/manager
set echo on
spool /opt/opt/oracle/product/9.2.0/assistants/dbca/logs/sqlPlusHelp.log
@/opt/opt/oracle/product/9.2.0/sqlplus/admin/help/hlpbld.sql helpus.sql;
spool off
spool off
6¡¢CreateClustDBViews
connect SYS/change_on_install as SYSDBA
set echo on
spool /opt/opt/oracle/product/9.2.0/assistants/dbca/logs/CreateClustDBViews.log
@/opt/opt/oracle/product/9.2.0/rdbms/admin/catclust.sql;
spool off
7¡¢postDBCreation
connect SYS/change_on_install as SYSDBA
set echo on
spool /opt/opt/oracle/product/9.2.0/assistants/dbca/logs/postDBCreation.log
@/opt/opt/oracle/product/9.2.0/rdbms/admin/utlrp.sql;
ALTER DATABASE DATAFILE '/data/indx' AUTOEXTEND OFF;
ALTER DATABASE DATAFILE '/data/system' AUTOEXTEND OFF;
ALTER DATABASE DATAFILE '/data/tools' AUTOEXTEND OFF;
ALTER DATABASE DATAFILE '/data/undo1' AUTOEXTEND OFF;
ALTER DATABASE DATAFILE '/data/undo2' AUTOEXTEND OFF;
ALTER DATABASE DATAFILE '/data/user' AUTOEXTEND OFF;
ALTER DATABASE TEMPFILE '/data/temp1' AUTOEXTEND OFF;
ALTER DATABASE TEMPFILE '/data/temp2' AUTOEXTEND OFF;
shutdown ;
connect SYS/change_on_install as SYSDBA
set echo on
spool /opt/opt/oracle/product/9.2.0/assistants/dbca/logs/postDBCreation.log
create spfile='/data/spfile' FROM pfile='/opt/oracle/admin/data/scripts/init.ora';
startup pfile="/opt/oracle/admin/data/scripts/init.ora";
ALTER DATABASE ENABLE PUBLIC THREAD 2;
spool off
cp init.ora /opt/oracle/product/9.2.0/dbs/initdata1.ora
shutdown ;
¶þºÅ»ú£º
$ mkdir /opt/oracle/admin/data/bdump
$ mkdir /opt/oracle/admin/data/cdump
$ mkdir /opt/oracle/admin/data/create
$ mkdir /opt/oracle/admin/data/pfile
$ mkdir /opt/oracle/admin/data/udump
$ export ORACLE_SID=data2
$ echo Add this entry in the oratab
$ echo "rkxt:/opt/oracle/product/9.2.0:Y" >>/etc/oratab
$ orapwd file=/opt/oracle/product/9.2.0/dbs/orapwdata1 password=change_on_install
$ cp init.ora /opt/oracle/product/9.2.0/dbs/initdata1.ora
ºóÆÚ¹¤×÷
1£®¿Í»§¶ËÅäÖÃ
±à¼$ORACLE_HOME/network/admin/tnsnames.oraÎļþ£¬Ìí¼ÓÄÚÈÝÈçÏÂ
data =
(DESCRIPTION =
(load_balance=yes)
(failover=on)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.101)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = data)
(failover_mode=
(type=select)
(method=basic)
)
)
)
ʹÓÃÃüÁîsqlplus ¡°Óû§Ãû/ÃÜÂë@data¡± ¼´¿ÉÁ¬½Ó²¢ÐÐÊý¾Ý¿â£¬²¢ÇÒÄܹ»ÊµÏÖ¸ºÔؾùºâºÍʧ°ÜÇл»¡£
2£®Êý¾ÝÎļþ´´½¨µÄ×¢ÒâÊÂÏî
Êý¾ÝÎļþ¶¼Òª·ÅÖÃÔÚ/dataĿ¼Ï¡£µ¥¸öÊý¾ÝÎļþ´óС²»Òª³¬¹ý2GB¡£ÓÉÓÚʹÓÃocfsÎļþϵͳ£¬Êý¾ÝÎļþÃû³Æ¿ÉËæÒⶨÒå¡£
3£®sysÓû§ºÍsystemÓû§ÃÜÂëµÄÐÞ¸Ä
$ sqlplus /nolog
SQL> conn / as sysdba
SQL> alter user sys identified by newpassword;
SQL> alter user system identified by newpassword;
4£®µÈVERITAS±¸·ÝÈí¼þÕý³£ÉÏÏßʱÔÙ´ò¿ªÊý¾Ý¿â¹éµµÄ£Ê½¡£
¸½Â¼Ò» Êý¾Ý¿âZGDB»ù±¾Çé¿ö˵Ã÷
ÏîÄ¿ ʵ¼ÊÊýÖµ
Êý¾Ý¿âÃû³Æ Oracle
Êý¾Ý¿âÈí¼þ°æ±¾ 9.2.0.4
Êý¾Ý¿â°æ±¾ 9.2.0.4
¹éµµÄ£Ê½ ·Ç¹éµµ
×Ô¶¯¹éµµÄ£Ê½ ·Ç×Ô¶¯¹éµµ
Êý¾ÝÎļþ´æ·ÅĿ¼ /data
×Ö·û¼¯ ZHS16GBK
sysÓû§ÃÜÂë change_on_install
systemÓû§ÃÜÂë Manager
¸½Â¼¶þ Êý¾Ý¿âÆô¶¯Í£Ö¹½Å±¾£¨½Å±¾´æ·Å·¾¶£º/sbin£©
Ò»ºÅ»ú£º
Æô¶¯½Å±¾
## filename : /sbin/oastart.sh
su - oracle << EOF
export ORACLE_SID=data1
lsnrctl start
sqlulus /nolog
coon / as sysdba;
startup
exit
<< EOF
Í£Ö¹½Å±¾
## filename : /sbin/oastop.sh
su - oracle << EOF
export ORACLE_SID=data1
sqlplus /nolog
conn / as sysdba;
shutdown immediate\
exit
lsnrctl stop
<< EOF
¶þºÅ»ú£º
Æô¶¯½Å±¾
## filename : /sbin/oastart.sh
su - oracle << EOF
export ORACLE_SID=data2
lsnrctl start
splulus /nolog
conn / as sysdba;
startup
exit
<< EOF
Í£Ö¹½Å±¾
## filename : /sbin/oastop.sh
su - oracle << EOF
export ORACLE_SID=data2
sqlplus /nolog
conn / as sysdba;
shutdown immediate\
exit
lsnrctl stop
<< EOF
Ϊ±£ÕÏÊý¾Ý¿âϵͳÕý³£ÔÊÐí£¬½¨Òé²ÉÓÃÈ˹¤·½Ê½Æô¶¯»òÍ£Ö¹Êý¾Ý¿â¡£
nclly ÓÚ 2006-11-02 16:26:53·¢±í:
¿´¿´ÔõôÑù
borlung ÓÚ 2006-10-31 15:31:24·¢±í:
²»ºÃÒâ˼£¬¸Õѧ»áÉÏ´«¸½¼þ