發(fā)表于2022 年 5 月 28 日 作者 admin
# -g 1202
# -m -u 1100 -g -G ,, -d /home/grid -s /bin/bash -c "Grid Owner" grid
# grid
# -g 1300 dba
# -g 1301 oper
# -m -u 1101 -g -G dba,oper, -d /home/ -s /bin/bash -c " Owner"
#
2.創(chuàng)建 基目錄路徑
# mkdir -p /home/app/grid
# mkdir -p /home/app/11.2.0/grid
# chown -R grid:oinstall /home
# mkdir -p /home/app/oracle
# chown oracle:oinstall /home/app/oracle
# chmod -R 775 /home
3.使用udev部署用于創(chuàng)建asm磁盤組的磁盤
首先使用fdisk -l 查看所有的磁盤,然后fdisk /dev/sda (假設(shè)使用sda作為asm磁盤)進(jìn)行分區(qū),具體分區(qū)操作可百度,總之最后在用fdisk -l查看磁盤信息的時(shí)候可以看到/dev/sda 下有一個(gè)/dev/sda1
然后打開(kāi)/etc/udev/rules.d/文件夾創(chuàng)建一個(gè)99-.rules文件,插入以下類似的語(yǔ)句:
KERNEL=="sdb1",OWNER="grid",GROUP="asmadmin",MODE="0777"
KERNEL=="sdd1",OWNER="grid",GROUP="asmadmin",MODE="0777"
KERNEL=="sde1",OWNER="grid",GROUP="asmadmin",MODE="0777"
這里使用了三個(gè)磁盤就寫了三行,編寫完畢保存退出。
最后兩個(gè)語(yǔ)句完成重新載入udev規(guī)則和重啟udev:
# udevadm control --reload-rules
# start_udev
4.安裝所需庫(kù):
我全寫成了一個(gè)yum安裝語(yǔ)句:
yum -y install binutils compat-libcap1 compat-libstdc* gcc gcc-c++* glibc glibc-devel ksh libgcc libstdc libaio libaio-devel make elfutils-libelf-devel sysstat
5.修改系統(tǒng)參數(shù)
修改文件修改添加:
# vim /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536 # vi /etc/pam.d/login
session required pam_limits.so # vi /etc/profile
if [ \$USER = "oracle" ] || [ \$USER = "grid" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
# vi /etc/hosts
127.0.0.1 localhost oracletest
::1 localhost oracletest # vi /etc/sysctl.conf
kernel.shmmax = 4294967295
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
fs.aio-max-nr=1048576 # sysctl -p
# chmod -R 775 /etc/oracle
6.解壓安裝包,和grid都是./ 運(yùn)行安裝界面,這里面的每一步我就不截圖一點(diǎn)點(diǎn)來(lái)了,百度有很多的。
下面是一些我遇到的問(wèn)題,以及我的解決方法(僅參考)
安裝完grid之后可以不急著安裝,現(xiàn)在$/bin/目錄下運(yùn)行asmca再增加其他asm磁盤組,這個(gè)也是圖形化界面。
安裝的時(shí)候可以選擇只安裝數(shù)據(jù)庫(kù)軟件,不安裝數(shù)據(jù)庫(kù)實(shí)例,等到數(shù)據(jù)庫(kù)軟件安裝好了之后,在$/bin/下運(yùn)行dbca建數(shù)據(jù)庫(kù)實(shí)例,選擇asm磁盤作為數(shù)據(jù)存放路徑。
grid和安裝過(guò)程中會(huì)檢測(cè)庫(kù)是否安裝完全,如果運(yùn)行完成我之前的yum語(yǔ)句可忽略這次檢測(cè)的異常。(僅參考)
grid卸載后重新安裝時(shí)ASM磁盤識(shí)別不到了 :
安裝了一次磁盤已經(jīng)有asm信息寫入rac恢復(fù)到單實(shí)例,需要擦除才能重新被識(shí)別到(of="需要擦除的磁盤")
dd if=/dev/zero of=/dev/sdb1 bs=1M count=10
grid 安裝過(guò)程中如果找不到udev部署的磁盤可能是因?yàn)闄?quán)限的問(wèn)題,可以參考一下我對(duì)這幾個(gè)磁盤的所有者和所有組(僅參考)
brwxrwxrwx. 1 grid asmadmin 8, 17 Oct 20 10:23 /dev/sdb1
brwxrwxrwx. 1 grid asmadmin 8, 49 Oct 20 10:23 /dev/sdd1
brwxrwxrwx. 1 grid asmadmin 8, 65 Oct 20 10:23 /dev/sde1
grid 安裝過(guò)程中如果 root.sh執(zhí)行 錯(cuò)誤可以執(zhí)行這句解決
.$GRID_HOME/crs/install/roothas.pl -deconfig -force -verbose
grid 安裝過(guò)程中如果 root.sh執(zhí)行到一半停頓不動(dòng)了,然后報(bào)錯(cuò),可以在停頓的時(shí)候再另外的界面執(zhí)行這個(gè)(11.2.0.1有這個(gè)bug,11.2.0.3我暫時(shí)沒(méi)遇到過(guò)):
# /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/nullbs=1024 count=1
dbca創(chuàng)建數(shù)據(jù)庫(kù)時(shí),找不到asm磁盤,可能是用戶沒(méi)有權(quán)限rac恢復(fù)到單實(shí)例,給加上asm配置時(shí)的用戶組就行 將用戶加到用戶組中將grid用戶加到dba用戶組中
機(jī)器重啟后,如果數(shù)據(jù)庫(kù)沒(méi)有啟動(dòng)使用下面的語(yǔ)句可啟動(dòng)(參考)
#./crsctl start has
7.設(shè)置開(kāi)機(jī)自啟
1.在$的bin目錄下運(yùn)行:
#./crsctl modify resource "ora.cssd" -attr "AUTO_START=1"
#./crsctl modify resource "ora.diskmon" -attr "AUTO_START=1"
#./crsctl enable has
2.在/etc/init.d/ohasd 中添加(11.2.0.1有這個(gè)bug,11.2.0.3我暫時(shí)沒(méi)遇到過(guò))
enable*)
$LOGERR "Oracle HA daemon is enabled for autostart."
/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
/home/grid/app/grid/product/11.2.0/grid/bin/crsctl start has
sleep 600
ps -ef|grep dd|grep hasd|awk '{print $2}'|xargs kill -9
;;
以上就是我遇到過(guò)的問(wèn)題,,,配置系統(tǒng)參數(shù)那塊是真的一點(diǎn)不能少或者錯(cuò),不然后面安裝必報(bào)錯(cuò),看日志也不一定能定位問(wèn)題,asm磁盤的那個(gè)部分其實(shí)可以使用添加網(wǎng)絡(luò)磁盤,網(wǎng)絡(luò)磁盤的擴(kuò)容很簡(jiǎn)單不會(huì)因?yàn)闄C(jī)器放不下硬盤而擴(kuò)容失敗,這一塊主要就是找一臺(tái)專門的機(jī)器安裝,然后這塊使用iscsi連接上,然后同樣的分區(qū),然后使用udev,編寫規(guī)則,不一樣的是這里的udev規(guī)則需要先獲取使用磁盤id編寫而不是磁盤的名字,因?yàn)閽燧d來(lái)的磁盤會(huì)發(fā)生漂移,沒(méi)準(zhǔn)機(jī)器重啟之后原本掛載在sda的磁盤就變成sdb了所以使用磁盤id。