Oracle9i RAC for RedFlag Linux DC4.1 32bit 安裝流程(轉)

BSDLite發表於2007-08-17
Oracle9i RAC for RedFlag Linux DC4.1 32bit 安裝流程(轉)[@more@]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修改成為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.修改核心引數配置檔案,在/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

為保障資料庫系統正常允許,建議採用人工方式啟動或停止資料庫。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-963464/,如需轉載,請註明出處,否則將追究法律責任。

相關文章