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脚本之前,修改下列文件
中的内容
***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])]
解决办法:
eth0 192.168.56.0 global public
eth1 172.10.10.0 global cluster_interconnect
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

要优化MySQL慢查询,需使用slowquerylog和performance_schema:1.启用slowquerylog并设置阈值,记录慢查询;2.利用performance_schema分析查询执行细节,找出性能瓶颈并优化。

MySQL和SQL是开发者必备技能。1.MySQL是开源的关系型数据库管理系统,SQL是用于管理和操作数据库的标准语言。2.MySQL通过高效的数据存储和检索功能支持多种存储引擎,SQL通过简单语句完成复杂数据操作。3.使用示例包括基本查询和高级查询,如按条件过滤和排序。4.常见错误包括语法错误和性能问题,可通过检查SQL语句和使用EXPLAIN命令优化。5.性能优化技巧包括使用索引、避免全表扫描、优化JOIN操作和提升代码可读性。

MySQL异步主从复制通过binlog实现数据同步,提升读性能和高可用性。1)主服务器记录变更到binlog;2)从服务器通过I/O线程读取binlog;3)从服务器的SQL线程应用binlog同步数据。

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

MySQL的安装和基本操作包括:1.下载并安装MySQL,设置根用户密码;2.使用SQL命令创建数据库和表,如CREATEDATABASE和CREATETABLE;3.执行CRUD操作,使用INSERT,SELECT,UPDATE,DELETE命令;4.创建索引和存储过程以优化性能和实现复杂逻辑。通过这些步骤,你可以从零开始构建和管理MySQL数据库。

InnoDBBufferPool通过将数据和索引页加载到内存中来提升MySQL数据库的性能。1)数据页加载到BufferPool中,减少磁盘I/O。2)脏页被标记并定期刷新到磁盘。3)LRU算法管理数据页淘汰。4)预读机制提前加载可能需要的数据页。

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。

全表扫描在MySQL中可能比使用索引更快,具体情况包括:1)数据量较小时;2)查询返回大量数据时;3)索引列不具备高选择性时;4)复杂查询时。通过分析查询计划、优化索引、避免过度索引和定期维护表,可以在实际应用中做出最优选择。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中