热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux6+Oracle11g+ASM单实例安装文档

#环境OracleLinux6.9+Oracle11.2.0.4+ASM操作系统下载地址:[http:mirror.aarnet.edu.aupuboracl
环境

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用户)

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png


检查grid软件安装情况,配置ASM磁盘组(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

image.png


数据库软件安装截图(oracle用户)

参考单机


数据库创建截图(oracle用户)

除以下截图均可参考单机

image.png



推荐阅读
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • linux下编译安装lnmp
    2019独角兽企业重金招聘Python工程师标准#######################安装依赖#####################安装必要的包:y ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • linux 字符串数组初始化,C++字符数组初始化方法的分析
    发现了一个字符数组初始化的误区,而这个往往能导致比较严重的性能问题,分析介绍如下:往往我们在初始化一个字符数组,大概有如下几 ... [详细]
  • 一、设置时区方法一:使用setup工具setup选择Timezoneconfiguration选择AsiaShanghai空格键勾选上System ... [详细]
author-avatar
贞娜gina88
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有