Oracle Linux 6.9+Oracle11.2.0.4+ASM
操作系统下载地址:
http://mirror.aarnet.edu.au/pub/oraclelinux/
IP:192.168.0.1
操作系统:Oracle Linux 6.9
内存:16G
硬盘1:80G boot、swap、根目录
硬盘2:100G Oracle数据库软件安装目录
主机名:his
数据库名:hrdb
实例名:hrdb
根分区70G,标准分区
boot分区1G,标准分区
swap分区8G,标准分区
/u01 40G 数据库软件安装分区,标准分区
ASM磁盘组:
grid:1G * 3
system:200G * 2
data:200G * 10
虚拟机环境需要编辑vmx文件,添加disk.EnableUUID=“TRUE”
使用oracle用户上传数据库安装包并解压
使用grid用户上传grid安装包并解压
先安装grid,再安装数据库软件,最后创建数据库。创建数据库时选择asm路径
#hosts文件配置
echo "192.168.0.1 his" >> /etc/hosts
#格式化分区
mkfs.ext4 /dev/sdb
#创建用户和组
groupadd -g 1001 oinstall
groupadd -g 1002 dba
groupadd -g 1003 oper
groupadd -g 1004 asmadmin
groupadd -g 1005 asmoper
groupadd -g 1006 asmdba
useradd -g oinstall -G dba,asmdba,oper oracle
useradd -g oinstall -G asmadmin,asmdba,asmoper,dba,oper grid
#创建目录并授权
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0.4/grid
chown -R grid:oinstall /u01
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
#设置oracle、grid账户密码
passwd oracle
passwd grid
#查看用户信息
id oracle
id grid
#写入启动项配置文件
echo "/dev/sdb /u01 ext4 defaults 0 0" >> /etc/fstab
#设置共享内存
echo "none /dev/shm tmpfs defaults,size=12288m 0 0" >> /etc/fstab
mount -a
#挂载光驱,删除原repo文件
mount /dev/cdrom /mnt
cd /etc/yum.repos.d
rm -rf *.repo
#配置yum源
echo "[EL]">> /etc/yum.repos.d/oel.repo
echo "name=Linux 6.9 DVD">> /etc/yum.repos.d/oel.repo
echo "baseurl=file:///mnt">> /etc/yum.repos.d/oel.repo
echo "gpgcheck=0">> /etc/yum.repos.d/oel.repo
echo "enabled=1">> /etc/yum.repos.d/oel.repo
#安装软件包
yum install compat-libcap1 -y
yum install compat-libstdc++-33 -y
yum install gcc -y
yum install gcc-c++ -y
yum install ksh -y
yum install libaio-devel -y
yum install unixODBC -y
yum install unixODBC-devel -y
#修改资源限制参数
echo "#ORACLE SETTING">> /etc/security/limits.conf
echo "grid soft nproc 16384">> /etc/security/limits.conf
echo "grid hard nproc 16384">> /etc/security/limits.conf
echo "grid soft nofile 65536">> /etc/security/limits.conf
echo "grid hard nofile 65536">> /etc/security/limits.conf
echo "grid soft stack 32768">> /etc/security/limits.conf
echo "grid hard stack 32768">> /etc/security/limits.conf
echo "oracle soft nproc 16384">> /etc/security/limits.conf
echo "oracle hard nproc 16384">> /etc/security/limits.conf
echo "oracle soft nofile 65536">> /etc/security/limits.conf
echo "oracle hard nofile 65536">> /etc/security/limits.conf
echo "oracle soft stack 32768">> /etc/security/limits.conf
echo "oracle hard stack 32768">> /etc/security/limits.conf
echo "oracle hard memlock 16000000">> /etc/security/limits.conf #略低于物理内存,单位KB
echo "oracle soft memlock 16000000">> /etc/security/limits.conf #略低于物理内存,单位KB
#配置资源限制
echo > /etc/security/limits.d/90-nproc.conf
echo "* soft nproc 16384">> /etc/security/limits.d/90-nproc.conf
#控制用户分配资源
echo "session required pam_limits.so" >> /etc/pam.d/login
#修改内核参数
echo "#ORACLE SETTING" >> /etc/sysctl.conf
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /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 = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048586" >> /etc/sysctl.conf
echo "kernel.panic_on_oops = 1" >> /etc/sysctl.conf
echo "kernel.shmmax = 10995116278" >> /etc/sysctl.conf #需要按实际情况改
echo "kernel.shmall = 2684354" >> /etc/sysctl.conf #需要按实际情况改
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "vm.nr_hugepages = 5120" >> /etc/sysctl.conf #需要按实际情况改
#强制生效
sysctl -p
#关闭numa功能,在kernel行(2行)末尾增加numa=off
vi /boot/grub/grub.conf
#配置安全,修改SELINUX参数disabled
vi /etc/selinux/config
#强制生效
setenforce 0
#关闭防火墙,开机不启动
service iptables stop
chkconfig --level 35 iptables off
#关闭透明页面
echo "if test -f /sys/kernel/mm/transparent_hugepage/enabled; then" >> /etc/rc.d/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.d/rc.local
echo "fi" >> /etc/rc.d/rc.local
echo "if test -f /sys/kernel/mm/transparent_hugepage/defrag; then" >> /etc/rc.d/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.d/rc.local
echo "fi" >> /etc/rc.d/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
#强制生效
chmod +x /etc/rc.d/rc.local
#重启操作系统确认是否已关闭
cat /sys/kernel/mm/transparent_hugepage/defrag
#配置oracle账号环境变量
su - oracle
vi ~/.bash_profile
export LANG=en_US
#export PS1='[\[\e[36;40m\]\u@\h:\w]$ \[\e[0m\]'
export PS1="[`whoami`@`hostname`:"'$PWD]$'
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_UNQNAME=hrdb
export ORACLE_SID=hrdb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_home
export ORACLE_TERM=xterm
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/bin
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
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
fi
#配置grid账号环境变量
su - grid
vi ~/.bash_profile
export LANG=en_US
export PS1="[`whoami`@`hostname`:"'$PWD]$'
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM
export ORACLE_TERM=xterm
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0.4/grid
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
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
fi
#配置3块1g的磁盘--grid
#显示磁盘信息
fdisk -l |grep "/dev/sd*" | grep "1073 MB"
/dev/sdc
/dev/sdd
/dev/sde
#列出磁盘UUID
for i in c d e;
do
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\",PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\""
done
#拷贝系统输出信息
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c294d5975fe5a356ddd48bd4fd5f",SYMLINK+="asm-grid01",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c299a9e8d61931fa300c7ddf038f",SYMLINK+="asm-grid02",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2993aaffaca1a201ca50ac3f031",SYMLINK+="asm-grid03",OWNER="grid", GROUP="asmadmin",MODE="0660"
#修改SYMLINK参数
#SYMLINK+="asm-diskc" 修改为 SYMLINK+="asm-grid01"
#SYMLINK+="asm-diskd" 修改为 SYMLINK+="asm-grid02"
#SYMLINK+="asm-diske" 修改为 SYMLINK+="asm-grid03"
#写入配置文件
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
# 配置2块200g的磁盘--dgsystem
fdisk -l|grep "/dev/sd" |grep "214.7 GB"
/dev/sdf
/dev/sdg
#列出磁盘UUID
for i in f g;
do
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\",PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\""
done
#拷贝系统输出信息
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2980e76ae2644072ae9b0a49b43",SYMLINK+="asm-dgsystem01",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29542b6004035f27c007eb98137",SYMLINK+="asm-dgsystem02",OWNER="grid", GROUP="asmadmin",MODE="0660"
#修改SYMLINK参数
#SYMLINK+="asm-diskf" 修改为 SYMLINK+="asm-dgsystem01"
#SYMLINK+="asm-diskg" 修改为 SYMLINK+="asm-dgsystem02"
#写入配置文件
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
# 配置10块200g的磁盘--dgdata
fdisk -l|grep "/dev/sd" |grep "214.7 GB"
/dev/sdh
/dev/sdi
/dev/sdj
/dev/sdk
/dev/sdl
/dev/sdm
/dev/sdn
/dev/sdp
/dev/sdp
/dev/sdq
#列出磁盘UUID
for i in h i j k l m n o p q;
do
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\",PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\""
done
#拷贝系统输出信息
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29bc7b1a8929fa2d678a183fbbc",SYMLINK+="asm-dgdata0101",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29f62a53d5eeb508362942fa56d",SYMLINK+="asm-dgdata0102",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29cdc533c20711ddf95336a3f5a",SYMLINK+="asm-dgdata0103",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29c4f535899640f1abb328c8cca",SYMLINK+="asm-dgdata0104",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29ca2567eda74ab09b6c13f0a28",SYMLINK+="asm-dgdata0105",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c299c8b2ac01e7fe995b618d5397",SYMLINK+="asm-dgdata0106",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29c094f0cd9a56ff6684e9d392f",SYMLINK+="asm-dgdata0107",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29d994706c6f8561724b612e9ac",SYMLINK+="asm-dgdata0108",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29674725c912fd7f1acbb8b8bbd",SYMLINK+="asm-dgdata0109",OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?",SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c298daba03683524d65e08164b85",SYMLINK+="asm-dgdata0110",OWNER="grid", GROUP="asmadmin",MODE="0660"
#修改SYMLINK参数
#SYMLINK+="asm-diskh" 修改为 SYMLINK+="asm-dgdata0101"
#SYMLINK+="asm-diski" 修改为 SYMLINK+="asm-dgdata0102"
#SYMLINK+="asm-diskj" 修改为 SYMLINK+="asm-dgdata0103"
#SYMLINK+="asm-diskk" 修改为 SYMLINK+="asm-dgdata0104"
#SYMLINK+="asm-diskl" 修改为 SYMLINK+="asm-dgdata0105"
#SYMLINK+="asm-diskm" 修改为 SYMLINK+="asm-dgdata0106"
#SYMLINK+="asm-diskn" 修改为 SYMLINK+="asm-dgdata0107"
#SYMLINK+="asm-disko" 修改为 SYMLINK+="asm-dgdata0108"
#SYMLINK+="asm-diskp" 修改为 SYMLINK+="asm-dgdata0109"
#SYMLINK+="asm-diskq" 修改为 SYMLINK+="asm-dgdata0110"
#写入配置文件
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
#激活配置文件
/sbin/udevadm trigger --type=devices --action=change
#检查ASM设备列表
ls -lsa /dev/asm*
#检查磁盘列表
ls -lsa /dev/sd*
GRID软件安装截图(grid用户)
[grid@his:/home/grid]$asmcmd
ASMCMD> ls
DGDATA/
DGGRID/
DGRECOVERY/
DGSYSTEM/
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 1048576 2048000 2047920 0 2047920 0 N DGDATA/
MOUNTED NORMAL N 512 4096 8388608 3072 2696 1024 836 0 N DGGRID/
MOUNTED EXTERN N 512 4096 1048576 2048000 2047925 0 2047925 0 N DGRECOVERY/
MOUNTED EXTERN N 512 4096 1048576 409600 406731 0 406731 0 N DGSYSTEM/
ASMCMD> exit
[grid@his:/home/grid]$asmca
参考单机
除以下截图均可参考单机