8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2

作者:IT邦德
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
(Web\java\Python)工作,主要服务于生产制造
现拥有 Oracle 11g  OCP/OCM、
Mysql、Oceanbase(OBCA)认证
分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证
从业8年DBA工作,在数据库领域有丰富的经验
B站主播Oracle、Mysql、PG实战课程,请搜索:jeames007

擅长Oracle数据库运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。

在这里插入图片描述

文章目录

  • 前言

前言

近期想做个测试,正好有台闲置的服务器,总结以下驻场安装Oracle 11G的文档,分享给大家
Oracle11.2.0.4安装包
链接:https://pan.baidu.com/s/150m7KKZGYwBWrWxuo9ndcw
提取码:r93o

1 软、硬件需求检查
1.1 查看内存、swap 空间

[root@rhel64 ~]# cat /etc/redhat-release
#查看物理内存
[root@rhel64 ~]# free -m

在这里插入图片描述

#查看操作系统共享内存,oracle 数据库使用内存要小于此值
[root@rhel64 ~]# df -h /dev/shm/

在这里插入图片描述

调整方法:修改/etc/fstab
[root@rhel64 ~]# vi /etc/fstab 修改对应/dev/shm 项 defaults,size=2500M
[root@rhel64 ~]# cat /etc/fstab | grep shm

#重新挂载
[root@rhel64 ~]# mount -o remount /dev/shm

在这里插入图片描述
1.2 查看系统架构

[root@rhel64 ~]# uname -m
[root@rhel64 ~]# cat /etc/redhat-release

在这里插入图片描述

1.3 查看本地主机名解析

[root@rhel64 ~]# cat /etc/sysconfig/network
[root@rhel64 ~]# cat /etc/hosts
/etc/hosts 中主机名要与/etc/sysconfig/network 中相同

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第1张图片

1.4 磁盘空间检查

/tmp 空间 >1G,/tmp 公用的临时文件存储位置
[root@rhel64 ~]# df -h /tmp/

在这里插入图片描述

软件安装目录空间 >2G
[root@rhel64 ~]# df -h /u01/

1.5 内核需求检查

查看操作系统版本
[root@rhel64 ~]# cat /proc/version
[root@rhel64 ~]# lsb_release -id

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第2张图片

1.6 软件包检查

rpm -q binutils \
compat-libcap1 \
compat-libstdc++ \
gcc \
gcc-c++ \
glibc \
glibc-devel- \
libgcc \
libstdc \
libstdc++-devel \
libaio \
libaio-devel \
make \
sysstat \ | grep "not installed"

注:可以提前检查 也可以安装报错缺少包时再 yum 安装具体包

yum的相关配置请参考博客:
Linux配置本地yum源,高效便捷

yum 软件本地仓库
[root@rhel64 ~]# mount /dev/sr0 /mnt/dvd
[root@rhel64 ~]# df -Th
[root@rhel64 ~]# cat /etc/yum.repos.d/rhel-source.repo
[root@rhel64 ~]# yum install gcc* binutils* compat* glibc* ksh* libgcc* libstdc* libaio* make* sysstat* unixODBC* -y

1.7 修改资源限制

[root@rhel64 ~]# cp /etc/security/limits.conf /etc/security/limits.conf.bak
[root@rhel64 ~]# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
[root@rhel64 ~]# tail -8 /etc/security/limits.conf

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第3张图片
1.8 修改内核参数

[root@rhel64 ~]# cp /etc/sysctl.conf /etc/sysctl.conf.bak
[root@rhel64 ~]# vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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

重启,验证
[root@rhel64 ~]# reboot

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第4张图片
2 软件安装环境准备
2.1 创建用户和组

创建组
[root@rhel64 ~]# groupadd oinstall
[root@rhel64 ~]# groupadd dba
[root@rhel64 ~]# groupadd oper
删除组命令:groupdel 组名
注意:用户组里面有用户,必须先把用户移动或删除了,才能删除组

创建用户 设置密码 oracle:oracle
[root@rhel64 ~]# useradd -g oinstall -G dba,oper oracle
[root@rhel64 ~]# passwd oracle
删除用户命令:userdel 用户名

SecureCRT 创建连接 使用 oracle 用户登录测试
[oracle@rhel64 ~]$ id
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba),502(oper)

2.2 创建目录

[root@rhel64 ~]# mkdir -p /u01/app/oracle
[root@rhel64 ~]# chown -R oracle:oinstall /u01
[root@rhel64 ~]# chmod -R 775 /u01/app/oracle

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第5张图片

chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。
一般是三个数字:
第一个数字表示文件所有者的权限
第二个数字表示与文件所有者同属一个用户组的其他用户的权限
第三个数字表示其它用户组的权限。
 权限分为三种:读(r=4),写(w=2),执行(x=1) 。
综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)
 所以,chmod 755 设置用户的权限为:
1.文件所有者可读可写可执行                                   --7
2.与文件所有者同属一个用户组的其他用户可读可执行 --5 
3.其它用户组可读可执行                                        --5

2.3 设置环境变量

使用 oracle 用户连接 编辑/home/oracle/.bash_profile
[oracle@rhel64 ~]$ vi .bash_profile
unset TNS_ADMIN
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=PROD
export PATH=$ORACLE_HOME/bin:$PATH

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第6张图片

[oracle@rhel64 ~]$ source .bash_profile
验证
[oracle@rhel64 ~]$ echo $ORACLE_BASE
[oracle@rhel64 ~]$ echo $ORACLE_HOME
[oracle@rhel64 ~]$ echo $ORACLE_SID
[oracle@rhel64 ~]$ echo $PATH
[oracle@rhel64 ~]$ env | grep ORACLE_SID

2.4 解压软件,修改属主属组 权限

root 用户解压软件包 先后解压 1、2
[root@rhel64 db]# cd /software/db
[root@rhel64 db]# ls
[root@rhel64 db]# unzip p13390677_112040_Linux-x86-64_1of7.zip
[root@rhel64 db]# unzip p13390677_112040_Linux-x86-64_2of7.zip
解压得到 database 目录 约 2.5G

在这里插入图片描述

修改属主 属组 权限
[root@rhel64 db]# chown -R oracle:oinstall database/
[root@rhel64 db]# chmod -R +x database/

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第7张图片
2.5 启动 Xmanager-passive 执行安装

启动 Xmanager - Passive
oracle 用户设置 DISPLAY 将图形化界面显示在宿主机
[oracle@rhel64 ~]$ export DISPLAY=192.168.6.1:0.0
[oracle@rhel64 ~]$ echo $DISPLAY
注意:此处需要安装 Xmanager,或者使用VNC远程连接也可以

在这里插入图片描述

在oracle 用户执行安装操作
[oracle@rhel64 ~]$ cd /software/db/database/
[oracle@rhel64 database]$ ll

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第8张图片
[oracle@rhel64 database]$ ./runInstaller
在这里插入图片描述
3 安装 oracle 软件
3.1 不勾选
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第9张图片
3.2 Skip software updates
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第10张图片
3.3 Install database software only
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第11张图片
3.4 Single instance database installation
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第12张图片
3.5 默认 English
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第13张图片
3.6 默认 Enterprise Edition
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第14张图片
3.7 Next
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第15张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第16张图片
3.8 查看缺少的包
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第17张图片
3.9 yum 进行安装

可以使用 yum 安装第一个包
[root@rhel64 ~]# yum install elfutils-libelf-devel
第二个包 pdksh 包可以从 rhel6 光盘中找到
上传后可以 rpm -ivh 安装 但与 ksh 冲突,需要先 rpm -e 卸载 ksh

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第18张图片

[root@rhel64 db]# rpm -e ksh
[root@rhel64 db]# rpm -i pdksh-5.2.14-37.el5.x86_64.rpm
[root@rhel64 db]# rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm

3.10 安装完成 Check Again
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第19张图片
3.11 Install 安装
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第20张图片
3.12 root 用户按顺序执行脚本
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第21张图片

[root@rhel64 ~]# /u01/app/oraInventory/orainstRoot.sh
[root@rhel64 ~]# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第22张图片
3.13 安装完成
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第23张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第24张图片
4 netca 配置监听
4.1 oracle 用户执行 netca 命令

xmanager 启动状态
[oracle@rhel64 ~]$ netca

4.2 默认 Next
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第25张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第26张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第27张图片8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第28张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第29张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第30张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第31张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第32张图片
4.3 配置完成 lsnrctl status 查看监听状态

[oracle@rhel64 ~]$ lsnrctl status

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第33张图片
5 dbca 建库
5.1 oracle 用户执行 dbca 命令创建数据库

xmanager 启动状态
[oracle@rhel64 ~]$ dbca

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第34张图片
5.2 Create a Database
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第35张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第36张图片
5.3 配置 OEM
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第37张图片
5.4 密码统一设置为 oracle
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第38张图片
在这里插入图片描述
存储使用文件系统
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第39张图片
5.6 不勾选 不开归档
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第40张图片
5.7 勾选 Sample Schemas
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第41张图片
5.8 内存 1526M
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第42张图片
标准块大小 8K
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第43张图片
设置字符集 AL32UTF8
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第44张图片
连接模式 专用服务器模式
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第45张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第46张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第47张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第48张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第49张图片
5.10 Password Management
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第50张图片
5.11 解锁 scott 用户 设置默认密码 tiger

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第51张图片
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第52张图片
5.12 安装完成
8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第53张图片

dbca 建库后查看相关进程
[oracle@rhel64 ~]$ ps -ef | grep ora_ | grep -v grep

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第54张图片

EM登陆
https://192.168.6.10:1158/em

8年驻场DBA老鸟,基于RHEL6.4安装Oracle 11GR2_第55张图片
6.2 正常关闭数据库

关闭操作系统之前,必须先使用 sys 用户正常关闭数据库实例。
SCOTT@PROD>conn / as sysdba
SYS@PROD>show user
SYS@PROD>shutdown immediate;

6.3 启动数据库命令

[oracle@rhel64 ~]$ sqlplus / as sysdba
idle instance 说明数据库实例没有启动
SYS@PROD>startup
SYS@PROD>select status from v$instance;

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持
您的批评指正是我写作的最大动力!

❤️ 技术交流可以 关注公众号:IT邦德 ❤️

你可能感兴趣的:(数据库,Oracle,oracle)