CentOS7内网环境安装Oracle11g完整记录

文章目录

一、安装说明

  • 结合网上多个安装教程,整合后最终安装成功,记录每一步操作:
  • 操作系统:CentOS7 Linux release 7.9.2009 (Core),无GNOME桌面;
  • 内网环境:内网服务器,无法访问外网,所以无法使用公网源。
  • 连接工具:Xmanager 4,文件传输:Xftp,终端连接:Xshell。

二、安装环境准备

1、检测是否安装了Oracle

  • 查看是否有 oracle 的进程
ps -ef | grep ora
  • 检查是否有oracle用户
# 一般安装oracle的时候默认会建一个oracle用户
id oracle

如果存在直接重装系统。

2、建立oracle用户和用户组

# 在Linux中创建名为oinstall的用户组
[root@localhost ~]# groupadd oinstall
# 创建dba用户组
[root@localhost ~]# groupadd dba
# 创建oper用户组
[root@localhost ~]# groupadd oper
# 为dba和oper用户组创建oracle用户
  # -g 主用户组
  # -G 附加组
[root@localhost ~]# useradd -g oinstall -G dba,oper oracle
# 将oracle用户的密码设置为oracle
[root@localhost ~]# echo "oracle"|passwd oracle --stdin
Changing password for user oracle.
passwd: all authentication tokens updated successfully.

3、为Oracle的安装创建相关目录

# 建文件夹
[root@localhost ~]# mkdir -p /u01/app/oracle/product/11.2.0/db_1
[root@localhost ~]# mkdir -p /u01/app/oracle/oraInventory
# 后面用于存放Oracle安装包
[root@localhost ~]# mkdir -p /u01/sw
# 改变属主和属组
[root@localhost ~]# chown -R oracle:oinstall /u01
# 为文件夹授权
[root@localhost ~]# chmod -R 775 /u01

4、优化OS内核参数

# 编辑/etc/sysctl.conf文件
[root@localhost ~]# vi /etc/sysctl.conf
  • 在文件末尾添加如下内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
# kernel.shmmax 参数设置为物理内存的一半2g:2 * 1024 *1024 *1024 = 2,147,483,648
kernel.shmmax = 1200000000
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@localhost ~]# sysctl -p
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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

5、限制oracle用户的shell权限

为了优化性能,需要添加oracle用户的限制参数

[root@localhost ~]# vi /etc/security/limits.conf
# 在文件末尾添加下面四行
# 设置进程数软限制
oracle soft nproc 2047
# 设置进程数硬限制
oracle hard nproc 16384
# 设置文件数软限制
oracle soft nofile 1024
# 设置文件数硬限制
oracle hard nofile 65536

进程会话限制可以采用pam_limits认证模块来实现,通过修改登录程序login的PAM设置以启用该认证

# 在文件末尾添加下面两行
[root@localhost ~]# vi /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
  • 使参数生效
[root@localhost ~]# source /etc/profile

6、为Oracle用户添加Oracle环境变量

[root@localhost ~]# su - oracle
[oracle@localhost ~]$ vi .bash_profile
# 文件末尾添加如下内容
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
PATH=$PATH:$ORACLE_HOME/bin
ORACLE_SID=orcl
# 我用的字符集是GBK
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi
  • 退出后需要刷新环境变量
[oracle@localhost ~]$ source .bash_profile
或
[oracle@localhost ~]$ source /home/oracle/.bash_profile

7、配置hostname(本机IP映射)

安装oracle时,一定要保证主机名出现在/etc/hosts中

# 切换到root用户
[root@localhost ~]# vi /etc/hosts
# 末尾添加如下内容,服务器的IP地址,空格后定义个hostname
192.168.56.66 mydb
  • 测试hostname
ping -c 3 mydb

• /etc/sysconfig/network中的hostname要与/etc/hosts中的一致

[root@localhost ~]# vi /etc/sysconfig/network
# 末尾添加如下内容
NETWORKING=yes
HOSTNAME=mydb
# 服务器IP
GATEWAY=192.168.56.66
NTPSERVERARGS=iburst

8、安装VNC&Oracle相关依赖

  • 创建文件夹存放依赖包
# 不能连外网的依赖源,直接上传依赖包至/root/yum,然后直接安装,愿意的也可以自己做个离线依赖源
[root@localhost ~]# mkdir -p /root/yum
[root@localhost ~]# cd /root/yum
[root@localhost ~]# rpm -q binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst  make sysstat  unixODBC unixODBC-devel compat_libstdc

9、开放端口/关闭防火墙

  • 查看防火墙状态
firewall-cmd --state
  • 停止firewall
systemctl stop firewalld.service
  • 禁止firewall开机启动
systemctl disable firewalld.service

10、上传Oracle安装文件至/u01/sw

在这里插入图片描述

[root@localhost sw]# cd /u01/sw
# 解压缩安装文件
[root@localhost sw]# unzip linux.x64_11gR2_database_1of2.zip
[root@localhost sw]# unzip linux.x64_11gR2_database_2of2.zip

二、Oracle安装

1、切换至oracle用户

不要su - oracle,直接换oracle用户登录
# 进入安装路径
[oracle@localhost ~]$ cd /u01/sw/database
# 启动安装程序
[oracle@localhost database]$ ./runInstaller
# 输入y
Continue? (y/n) [n] y
  • 订阅邮件:去掉勾,点Next
    在这里插入图片描述
  • 点Yes
    在这里插入图片描述
  • 直接Next
    在这里插入图片描述
  • 勾Server Class,安装服务器版,点Next
    在这里插入图片描述
  • 选择单实例,点Next
    在这里插入图片描述
  • 选择高级安装,点Next
    在这里插入图片描述
  • 选语言,点击Next
    在这里插入图片描述
  • 选择企业版,点击Next
    在这里插入图片描述
  • 安装路径,默认即可,点击Next
    在这里插入图片描述
  • 默认安装目录和oraInventory Group Name,点击Next
    在这里插入图片描述
  • 选择一般用途/事务处理,点击Next
    在这里插入图片描述
  • 指定Oracel全局数据库名和服务标识符为:orcl (根据自己需要调整),然后点击Next
    在这里插入图片描述
  • Memory勾选启用自动内存管理
    在这里插入图片描述
  • Character sets字符集根据自己的需要选择
    在这里插入图片描述
  • 不使用集中云控制管理,直接点击Next
    在这里插入图片描述
  • 默认安装路径,点击Next
    在这里插入图片描述
  • 默认安装路径,点击Next
    在这里插入图片描述
  • 统一密码
    在这里插入图片描述
  • 设置数据库管理员组dba,数据库操作组oinstall,然后点击Next
    在这里插入图片描述
  • 在oracle安装到Prerequisite Checks时提示的问题逐个解决,解决后点击Check Again重新检测
    在这里插入图片描述
  • OS kernel parameter "semmni"可以忽略,下面的包都安装了所以直接勾Ignore All,点击Next
  • 概要文件,点击Finish开始安装
    在这里插入图片描述
  • 安装到68%时报错

Error in invoking target ‘install’ of makefile
在这里插入图片描述
解决方法:
ORACLE_HOME:/u01/app/oracle/product/11.2.0/db_1
该软件包包含一个静态链接库:/usr/lib64/libc.a
在oracle用户下修改/u01/app/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk第11行,我这里直接用notepad打开修改的,修改后点击Retry重试

-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)/usr/lib64/stdc.a

在这里插入图片描述

添加完成后点击继续会继续报错
Error in invoking target ‘agent nmhs’ of makefile
在这里插入图片描述
解决方法:
在makefile中添加链接libnnz11库的参数
在oracle用户下修改/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk第190行

$(MK_EMAGENT_NMECTL) -lnnz11

在这里插入图片描述

  • 修改后点击Retry继续安装。
  • 安装成功
    在这里插入图片描述
  • 点击OK、Close即可
    在这里插入图片描述

开机自启

[root@mydb ~]# vi /etc/oratab
# 在末尾添加如下内容,路径按自己实际安装的改
orcl:/u01/app/oracle/product/11.2.0/db_1:Y

[root@mydb ~]# chmod +x /etc/rc.d/rc.local
[root@mydb ~]# vi /etc/rc.d/rc.local
# 添加
su oracle -lc "/u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start "
su oracle -lc /u01/app/oracle/product/11.2.0/db_1/bin/dbstart
验证一下:
[root@mydb ~]# reboot
[root@mydb ~]# Ps -ef |grep ora
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值