首頁 資料庫 mysql教程 Oracle 10g R2 RAC Install On OEL5 x86_64

Oracle 10g R2 RAC Install On OEL5 x86_64

Jun 07, 2016 pm 05:06 PM
oracle資料庫

Oracle 10g R2 RAC Install On OEL5 x86_64

1.安装操作系统需求包
binutils-2.17.50.0.6-2 (x86_64)
compat-db-4.2.52-5.1 (x86_64)
compat-libstdc++-296-2.96-138 (i386)
compat-libstdc++-33-3.2.3-61(x86_64)
compat-libstdc++-33-3.2.3-61 (i386)
control-center-2.16.0-14 (x86_64)
gcc-4.1.1-52 (x86_64)
gcc-c++-4.1.1-52 (x86_64)
glibc-2.5-12 (x86_64)
glibc-2.5-12 (i686)
glibc-common-2.5-12 (x86_64)
glibc-devel-2.5-12 (x86_64)
glibc-devel-2.5-12 (i386)
glibc-headers-2.5-12 (x86_64)
ksh-20060214-1.4 (x86_64)
libaio-0.3.106-3.2 (x86_64)
libgcc-4.1.1-52 (i386)
libgcc-4.1.1-52 (x86_64)
libgnome-2.16.0-6 (x86_64)
libgnomeui-2.16.0-5 (x86_64)
libgomp-4.1.1-52 (x86_64)
libstdc++-4.1.1-52 (x86_64)
libstdc++-devel-4.1.1-52 (x86_64)
libXp-1.0.0-8 (i386)
libXtst-1.0.1-3.1(i386)
make-3.81-1.1 (x86_64)
sysstat-7.0.0-3 (x86_64)

注:rpm -qa|grep XXX
    rpm -Uvh XXX

2.停不必要的服务[RHEL5U1]
chkconfig acpid           off
chkconfig anacron         off
chkconfig apmd            off
chkconfig auditd          off
chkconfig autofs          off
chkconfig avahi-daemon    off
chkconfig bluetooth       off
chkconfig cpuspeed        off
chkconfig cups            off
chkconfig firstboot       off
chkconfig gpm             off
chkconfig haldaemon       off
chkconfig hidd            off
chkconfig ip6tables       off
chkconfig iptables        off
chkconfig irqbalance      off
chkconfig isdn            off
chkconfig mcstrans        off
chkconfig mdmonitor       off
chkconfig microcode_ctl   off
chkconfig netfs           off
chkconfig pcscd           off
chkconfig readahead_early off
chkconfig restorecond     off
chkconfig rhnsd           off
chkconfig rpcgssd         off
chkconfig rpcidmapd       off
chkconfig sendmail        off
chkconfig setroubleshoot  off
chkconfig smartd          off
chkconfig xfs             off
chkconfig yum-updatesd    off

3.修改系统配置参数/etc/sysctl.conf
echo "kernel.shmall = 2097152">>/etc/sysctl.conf
echo "kernel.shmmax = 4294967295">>/etc/sysctl.conf
echo "kernel.shmmni = 4096">>/etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128">>/etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500">>/etc/sysctl.conf
echo "net.core.rmem_default = 262144">>/etc/sysctl.conf
echo "net.core.rmem_max = 2097152">>/etc/sysctl.conf
echo "net.core.wmem_default = 262144">>/etc/sysctl.conf
echo "net.core.wmem_max = 1048576">>/etc/sysctl.conf
echo "fs.file-max = 262144">>/etc/sysctl.conf

让参数生效
sysctl -p

注:
shmall 是全部允许使用的共享内存大小,shmmax 是单个段允许使用的大小。这两个可以设置为内存的 90%。
例如 16G 内存,16*1024*1024*1024*90% = 15461882265,shmall 的大小为 15461882265/4k(getconf PAGESIZE可得到) = 3774873。

5.创建Oracle用户和组
groupadd -g 600 oinstall
groupadd -g 601 dba
groupadd -g 602 oper
useradd -u 600 -g oinstall -G dba,oper oracle -d /home/oracle
passwd oracle

6.创建ORACLE安装目录变更属主
mkdir -p /oracle/product/10.2.0/crs
mkdir -p /oracle/product/10.2.0/db
chown -R oracle:oinstall /oracle

7.修改ORACLE用户默认限制
echo "oracle           soft    nproc   2047">>/etc/security/limits.conf
echo "oracle           hard    nproc   16384">>/etc/security/limits.conf
echo "oracle           soft    nofile  4096">>/etc/security/limits.conf
echo "oracle           hard    nofile  65536">>/etc/security/limits.conf

echo "session    required     /lib/security/pam_limits.so">>/etc/pam.d/login
echo "session    required     pam_limits.so">>/etc/pam.d/login

echo "if [ $USER = "oracle" ]; then">>/etc/profile
echo "   if [ $SHELL = "/bin/ksh" ]; then">>/etc/profile
echo "      ulimit -p 16384">>/etc/profile
echo "      ulimit -n 65536">>/etc/profile
echo "   else">>/etc/profile
echo "      ulimit -u 16384 -n 65536">>/etc/profile
echo "   fi">>/etc/profile
echo "fi">>/etc/profile

8.配置ORACLE环境变量
1)ORACLE用户.bash_profile
su - oracle
echo "export ORACLE_BASE=/oracle">>~/.bash_profile
echo "export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db">>~/.bash_profile
echo "export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs">>~/.bash_profile
echo "export ORACLE_SID=racdb1 # The Second Node is Named racdb2">>~/.bash_profile
echo "export PATH=$PATH:$ORA_CRS_HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/dcm/bin:$ORACLE_HOME/webcache/bin:$ORACLE_HOME/opmn/bin">>~/.bash_profile
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/usr/lib:/usr/local/lib">>~/.bash_profile
echo "export TMPDIR=/tmp">>~/.bash_profile
echo "export TMP=/tmp">>~/.bash_profile

2)ROOT用户.bash_profile">>~/.bash_profile
su -
echo "export ORACLE_BASE=/oracle">>~/.bash_profile
echo "export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db">>~/.bash_profile
echo "export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs">>~/.bash_profile
echo "export PATH=$PATH:$ORA_CRS_HOME/bin">>~/.bash_profile

9.配置/etc/hosts网络文件
cp /etc/hosts /etc/hosts.back
echo "192.168.56.101      rac1">>/etc/hosts
echo "192.168.56.111      rac1-vip">>/etc/hosts
echo "10.10.10.101        rac1-priv">>/etc/hosts
echo "192.168.56.102      rac2">>/etc/hosts
echo "192.168.56.112      rac2-vip">>/etc/hosts
echo "10.10.10.102        rac2-priv">>/etc/hosts

10.节点间建立SSH 用户等效项
1)在各节点创建RAS与DSA密钥
su - oracle
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
注:三次回车。
ssh-keygen -t dsa
注:三次回车。

2)在欲进行RAC安装OUI的节点上,添加密钥到授权密钥文件authorized_keys中
$ssh rac1 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
$ssh rac1 cat ~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
$ssh rac2 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
$ssh rac2 cat ~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
$chmod 600 ~/.ssh/authorized_keys

3)拷贝副本到其它节点对应目录下并授权
节点一:
$scp ~/.ssh/authorized_keys rac2:/home/oracle/.ssh/
节点二:
$chmod 600 ~/.ssh/authorized_keys

4)在OUI节点上测试SSH等效性
$ssh rac1 hostname
$ssh rac2 hostname
注:如果无需输入密码就出现主机名,说明SSH配置成功。


11.配置hangcheck timer内核模块
echo "options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180">>/etc/modprobe.conf
echo "modprobe hangcheck_timer">>/etc/rc.d/rc.local

12.配置两节点LINUX操作系统时间同步
1)在节点一进行如下操作
cp /etc/ntp.conf /etc/ntp.conf.back
echo "restrict 10.1.120.0 mask 255.255.255.0 nomodify notrap">>/etc/ntp.conf
service ntpd start

2)在节点二进行如下操作
#crontab -e
1-59 * * * * ntpdate 10.1.120.201


13.在其中一个节点配置集群注册表OCR、表决磁盘voting共享LV
1)创建一个分区
fdisk /dev/sdd
n
p
t
8e
w

2)创建一个pv
pvcreate  /dev/sdd1
pvscan

3)创建一个vg
vgcreate crsvg /dev/sdd1
vgscan
注:vgcreate datavg /dev/sdc1 /dev/sdd1 /dev/sde1

4)创建db所需的lv
lvcreate -L 300M -n lvocr1 crsvg
lvcreate -L 300M -n lvocr2 crsvg
lvcreate -L 120M -n lvvoting1 crsvg
lvcreate -L 120M -n lvvoting2 crsvg
lvcreate -L 120M -n lvvoting3 crsvg
lvcreate -L 20M -n  lvasmpwd crsvg
lvscan

5)重启所有节点,加载共享磁盘信息
#reboot
6)配置lv关联至raw
cp /etc/sysconfig/rawdevices /etc/sysconfig/rawdevices.back
echo "/dev/raw/raw1  /dev/crsvg/lvocr1">>/etc/sysconfig/rawdevices
echo "/dev/raw/raw2  /dev/crsvg/lvocr2">>/etc/sysconfig/rawdevices
echo "/dev/raw/raw3  /dev/crsvg/lvvoting1">>/etc/sysconfig/rawdevices
echo "/dev/raw/raw4  /dev/crsvg/lvvoting2">>/etc/sysconfig/rawdevices
echo "/dev/raw/raw5  /dev/crsvg/lvvoting3">>/etc/sysconfig/rawdevices
echo "/dev/raw/raw6  /dev/crsvg/lvasmpwd">>/etc/sysconfig/rawdevices
/sbin/service rawdevices restart

7)配置raw属主
cp /etc/rc.local /etc/rc.local.back
echo "chown oracle:dba /dev/raw/raw[0-9]">>/etc/rc.local
echo "chmod 660 /dev/raw/raw[0-9]">>/etc/rc.local

dd if=/dev/zero of=/dev/raw/raw1 bs=8192k count=3000
dd if=/dev/zero of=/dev/raw/raw2 bs=8192k count=3000
dd if=/dev/zero of=/dev/raw/raw3 bs=8192k count=1200
dd if=/dev/zero of=/dev/raw/raw4 bs=8192k count=1200
dd if=/dev/zero of=/dev/raw/raw5 bs=8192k count=1200
dd if=/dev/zero of=/dev/raw/raw6 bs=8192k count=200

8)查看相前raw的信息
raw -qa

9)重启所有节点,加载raw映射信息
#reboot

14.主节点安装开始
$export LANG=en_US
$export DISPLAY=192.168.108.1:0.0 --本机IP地址,将图形界面引到本机
$ ./runInstaller -ignoreSysPrereqs

15.BUG
1)在最后的节点运行root.sh脚本时报如下错误——
Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
/home/oracle/crs/oracle/product/10/crs/jdk/jre//bin/java: error while loading
shared libraries: libpthread.so.0: cannot open shared object file:
No such file or directory

解决办法:
在安装最后,,运行root.sh脚本之前,修改下列文件
/bin/vipca
/bin/srvctl
/bin/srvctl
/bin/srvctl
中的内容
***VIPCA*********************************************************************
if [ "$arch" = "i686" -o "$arch" = "ia64" -o "$arch" = "x86_64" ]
then
  LD_ASSUME_KERNEL=2.4.19
  export LD_ASSUME_KERNEL
fi
#增加如下内容
unset LD_ASSUME_KERNEL         *****************************************************************************
***SRVCTL********************************************************************
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
#增加如下内容
unset LD_ASSUME_KERNEL          *****************************************************************************
修改完成后,在二节点上手动运行./vipca,配置完成后关闭图形界面。

2)在最后节点运行vipca时,报如下错误——
Error 0(Native: listNetInterfaces:[3])
[Error 0(Native: listNetInterfaces:[3])]

解决办法:
/bin # ./oifcfg setif -global eth0/192.168.56.0:public
/bin # ./oifcfg setif -global eth1/172.10.10.0:cluster_interconnect

/bin # ./oifcfg getif
 eth0 192.168.56.0 global public
 eth1 172.10.10.0 global cluster_interconnect

/bin # ./oifcfg iflist
eth0 192.168.56.0
eth1 172.10.10.0

15.禁止/启用 CRS跟随操作系统自动启动
/etc/init.d/init.crs disable
/etc/init.d/init.crs enable

注:启动CRS crsctl start crs
    亦可以——
        /etc/init.d/init.cssd start
        /etc/init.d/init.crs start

linux

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1324
25
PHP教程
1272
29
C# 教程
1251
24
oracle怎麼查看表屬於哪個表空間 oracle怎麼查看表屬於哪個表空間 Jul 06, 2023 pm 01:31 PM

oracle查看表屬於哪個表空間的方法:1、使用「SELECT」語句,並透過指定表名來查找指定表所屬的表空間;2、使用Oracle提供的資料庫管理工具來查看表所屬的表空間,這些工具通常提供了圖形介面,使得操作更加直覺和方便;3、在SQL*Plus中,可以透過輸入「DESCRIBEyour_table_name;」命令來查看表所屬的表空間。

如何使用PDO連線到Oracle資料庫 如何使用PDO連線到Oracle資料庫 Jul 28, 2023 pm 12:48 PM

如何使用PDO連接到Oracle資料庫概述:PDO(PHPDataObjects)是PHP中一個操作資料庫的擴充庫,它提供了一個統一的API來存取多種類型的資料庫。在本文中,我們將討論如何使用PDO連接到Oracle資料庫,並執行一些常見的資料庫操作。步驟:安裝Oracle資料庫驅動擴充功能在使用PDO連接Oracle資料庫之前,我們需要安裝對應的Oracl

oracle如何只取一條重複的數據 oracle如何只取一條重複的數據 Jul 06, 2023 am 11:45 AM

oracle只取一條重複的數據的步驟:1、使用SELECT語句結合GROUP BY和HAVING子句來查找重複數據;2、使用ROWID刪除重複數據,可以確保刪除的是精確的重複數據記錄,或者使用「ROW_NUMBER ()」函數刪除重複數據,這將刪除每組重複資料中的除了第一筆記錄之外的其他記錄;3、使用「select count(*) from」語句傳回刪除記錄數確保結果。

如何使用php擴充PDO連接Oracle資料庫 如何使用php擴充PDO連接Oracle資料庫 Jul 29, 2023 pm 07:21 PM

如何使用PHP擴充PDO連接Oracle資料庫導語:PHP是一種非常流行的伺服器端程式語言,而Oracle是一款常用的關係型資料庫管理系統。本文將介紹如何使用PHP擴充PDO(PHPDataObjects)來連接Oracle資料庫。一、安裝PDO_OCI擴充要連接Oracle資料庫,首先需要安裝PDO_OCI擴充。以下是安裝PDO_OCI擴充的步驟:確保

實現PHP和Oracle資料庫的資料導入 實現PHP和Oracle資料庫的資料導入 Jul 12, 2023 pm 06:46 PM

實作PHP和Oracle資料庫的資料匯入在Web開發中,使用PHP作為伺服器端腳本語言可以方便地操作資料庫。 Oracle資料庫作為一種常見的關聯式資料庫管理系統,具備強大的資料儲存與處理能力。本文將介紹如何使用PHP將資料匯入Oracle資料庫中,並給出對應的程式碼範例。首先,我們需要確保已經安裝了PHP和Oracle資料庫,並且已經配置了PHP對Orac

oracle如何查詢表空間大小 oracle如何查詢表空間大小 Jul 06, 2023 pm 01:45 PM

oracle查詢表空間大小步驟:1.使用資料庫管理員帳號登入Oracle資料庫;2、使用「SELECT」語句來查看空間清單;3、查詢表空間大小有3種方法:使用dbms_utility包查詢、使用dba_segments視圖查詢、使用dba_data_files檢視查詢;4、使用「DBMS_OUTPUT.PUT_LINE」函數或其他顯示結果的方法來顯示查詢結果。

oracle資料庫需要jdk嗎 oracle資料庫需要jdk嗎 Jun 05, 2023 pm 05:06 PM

oracle資料庫需要jdk,原因是:1、使用特定的軟體或功能時需要包含在JDK中的其他軟體或函式庫;2、需要安裝Java JDK才能在Oracle資料庫中執行Java程式;3、JDK提供了開發和編譯Java應用程式的功能;4、滿足Oracle對Java函數的要求,以幫助實現和實現特定功能。

如何有效率地使用PHP和Oracle資料庫的連線池 如何有效率地使用PHP和Oracle資料庫的連線池 Jul 12, 2023 am 10:07 AM

如何有效率地使用PHP和Oracle資料庫的連接池引言:在開發PHP應用程式時,使用資料庫是不可或缺的一部分。而在與Oracle資料庫互動時,連接池的使用對於提高應用程式的效能和效率至關重要。本文將介紹如何在PHP中有效地使用Oracle資料庫連接池,並提供對應的程式碼範例。一、連接池的概念及優勢連接池是一種管理資料庫連接的技術,它透過事先創建一批連接並維護一個

See all articles