Centos下Oracle11gR2安装教程与自动化配置脚本的方法

系统环境准备

开发组件与依赖库安装

安装centos时选择Server with GUI,右面的可以不勾选,后面统一来装

配置本地yum源

以上包如果缺乏可配置本地yum源进行安装

sudo mount /dev/cdrom /mnt/

[galen@localhost yum.repos.d]$ sudo vim /etc/yum.repos.d/cdrom.repo
[galen@localhost yum.repos.d]$ cat cdrom.repo
[c7-media]
name=isofile
baseurl=file:///mnt
enable=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[galen@localhost yum.repos.d]$ sudo mv CentOS-Base.repo CentOS-Base.repo-bak
[galen@localhost yum.repos.d]$ sudo mv CentOS-Media.repo CentOS-Media.repo-bak
[galen@localhost yum.repos.d]$ sudo mv cdrom.repo CentOS-Media.repo

配置好yum源后开始安装依赖库,如下

yum install glibc glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh compat-libcap1  compat-libstdc++ elfutils-libelf-devel gcc-c++

关闭防火墙

[galen@localhost ~]$ systemctl stop firewalld.service
[galen@localhost ~]$ systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

关闭selinux

编辑/etc/sysconfig/selinux文件,保存退出后执行 setenforce 0命令

vim /etc/sysconfig/selinux
SELINUX=disabled
#SELINUXTYPE=targeted  #注释掉

创建oracle用户、修改系统参数

创oracle建用户和组

[root@localhost galen]# groupadd oinstall
[root@localhost galen]# groupadd dba
[root@localhost galen]# useradd -g oinstall -G dba oracle
[root@localhost galen]# passwd oracle

[root@localhost galen]# id oracle
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)

系统参数设置

官方推荐值:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912 #推荐超过一半的物理内存
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 

通过 /sbin/sysctl -a |grep xxx 查看系统各参数,如果大于官方推荐值不修改,如果小于官方推荐值则修改为官方推荐值,写入/etc/sysctl.conf文件中,使用sysctl -p使其生效,示例如下

[root@localhost etc]# cat sysctl.conf
fs.aio-max-nr = 6815744
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 etc]# vim /etc/security/limits.conf
oracle		soft		nproc		2048
oracle		hard		nproc		16384
oracle		soft		nofile		1024
oracle		hard		nofile		65536
oracle		soft		stack		10240 

添加以下内容到/etc/pam.d/login

[root@localhost ~]# vim /etc/pam.d/login
session required  pam_limits.so

添加以下内容到/etc/profile

[root@localhost ~]# vim /etc/profile
if [[ $USER = "oracle" ]]; then
	if [[ $SHELL = "/bin/ksh" ]]; then
		ulimit -p 16384
		ulimit -n 65536
	else
		ulimit -u 16384 -n 65536
	fi
fi

保存后执行source /etc/profile生效

配置oracle用户环境变量,在/home/oracle/.bash_profile中加入如下内容

[root@localhost ~]# vim /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export LANG="en_US.UTF-8"
export NLS_LANG=american_AMERICA.UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

创建oracle安装目录

mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app

安装oracle 11g

挂载oracle11g安装包iso(也可以通过其他方式将oracle安装包传到主机),将安装文件复制到oracle home目录下,修改文件权限给oracle用户

[root@localhost /]# mkdir /mnt/oracle11g
[root@localhost /]# mount /dev/cdrom /mnt/oracle11g/
[root@localhost /]# cp -r /mnt/oracle11g /home/oracle/
# 复制到oracle home目录下并修改权限
[root@localhost oracle]# chown -R oracle:oinstall /home/oracle/oracle11g/
[root@localhost oracle]# chmod -R 775 /home/oracle/oracle11g/

接下来使用oracle用户登录桌面

执行./runInstaller开始安装,Centos 7安装的时候错误弹框有时候会变成一条竖线,安装无法进行下去,所以运行时执行

./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

每项操作如下

[Configure Security Updates] 取消勾选 I wish to receive security updates via My Oracle Support,Next

[Installation Option] Install database software only,Next

[Grid Options] Next

[Product Languages] Next

[Enterprise Edition] Next

[Installation Location] Next

[Create Inventory] Next

[Operating System Groups] Next

[Prerequisite Checks] Next

[Summary] Finish,开始安装oracle 11g

安装到84%的时候可能会出现ins_ctx.mk相关的错误,如下

修改/u01/app/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk文件

# 源文件
ctxhx: $(CTXHXOBJ)
    $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
# 修改为
ctxhx: $(CTXHXOBJ)
    -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a

修改/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk文件

# 源文件
$(SYSMANBIN)emdctl:
    $(MK_EMAGENT_NMECTL)
# 修改为
$(SYSMANBIN)emdctl:
    $(MK_EMAGENT_NMECTL) -lnnz11

retry继续安装到94%时,弹出

使用root用户ssh到主机到上述目录分别执行orainstRoot.sh与root.sh,执行root.sh时根据提示填入路径

/u01/app/oracle/product/11.2.0/dbhome_1/bin,执行完成后到UI点击OK,安装完成

环境配置脚本

  1. 使用root用户登录
  2. 确保系统iso驱动器已连接(/dev/cdrom可mount)
  3. 复制脚本到主机并给予可执行权限,执行脚本完成后即可开始安装oracle 11g

oracle 11g环境配置脚本

#!/bin/bash

# 配置yum源为本地iso
function set_yum_media() {
  cd /etc/yum.repos.d/
  for repo_file in `ls /etc/yum.repos.d/ | grep -v Media`
  do
    new_file=$repo_file.bak
    mv $repo_file $new_file
  done
  mkdir -p /mnt/media-dir
  mount /dev/cdrom /mnt/media-dir
  sed -i -e 's/baseurl=file:\/\/\/.*/baseurl=file:\/\/\/mnt\/media-dir\//g' -e 's/enabled=0/enabled=1/g' `ls /etc/yum.repos.d/ | grep Media`
  cd -
	rm -rf /var/run/yum.pid
  yum -y update
}

function install_packages() {
  for package in glibc glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh compat-libcap1  compat-libstdc++ elfutils-libelf-devel gcc-c++
  do
    yum -y install $package
  done
}

function create_oracle_user() {
	groupadd oinstall
	groupadd dba
	useradd -g oinstall -G dba oracle
	# 设置oracle用户密码为oracle
	echo oracle|passwd --stdin oracle
}

function set_system_parm() {
	sed -i '$a\fs.aio-max-nr = 1048576' /etc/sysctl.conf
	sed -i '$a\fs.file-max = 6815744' /etc/sysctl.conf
	sed -i '$a\kernel.shmall = 2097152' /etc/sysctl.conf
	sed -i '$a\kernel.shmmax = 536870912' /etc/sysctl.conf
	sed -i '$a\kernel.shmmni = 4096' /etc/sysctl.conf
	sed -i '$a\kernel.sem = 250 32000 100 128' /etc/sysctl.conf
	sed -i '$a\net.ipv4.ip_local_port_range = 9000 65500' /etc/sysctl.conf
	sed -i '$a\net.core.rmem_default = 262144' /etc/sysctl.conf
	sed -i '$a\net.core.rmem_max = 4194304' /etc/sysctl.conf
	sed -i '$a\net.core.wmem_default = 262144' /etc/sysctl.conf
	sed -i '$a\net.core.wmem_max = 1048586' /etc/sysctl.conf
	sysctl -p
}

function set_system_limit_parm() {
	sed -i '$a\oracle		soft		nproc		2048' /etc/security/limits.conf
	sed -i '$a\oracle		hard		nproc		16384' /etc/security/limits.conf
	sed -i '$a\oracle		soft		nofile		1024' /etc/security/limits.conf
	sed -i '$a\oracle		hard		nofile		65536' /etc/security/limits.conf
	sed -i '$a\oracle		soft		stack		10240' /etc/security/limits.conf
}

function set_profile_parm() {
	sed -i '$a\session required  pam_limits.so' /etc/pam.d/login
	sed -i '$a\if [[ $USER = "oracle" ]]; then' /etc/profile
	sed -i '$a\  if [[ $SHELL = "/bin/ksh" ]]; then' /etc/profile
	sed -i '$a\    ulimit -p 16384' /etc/profile
	sed -i '$a\    ulimit -n 65536' /etc/profile
	sed -i '$a\  else' /etc/profile
	sed -i '$a\    ulimit -u 16384 -n 65536' /etc/profile
	sed -i '$a\  fi' /etc/profile
	sed -i '$a\fi' /etc/profile
	source /etc/profile
}

function set_oracle_env() {
	sed -i '$a\export ORACLE_BASE=/u01/app/oracle' /home/oracle/.bash_profile
	sed -i '$a\export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1' /home/oracle/.bash_profile
	sed -i '$a\export ORACLE_SID=orcl' /home/oracle/.bash_profile
	sed -i '$a\export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH' /home/oracle/.bash_profile
	sed -i '$a\export LANG="en_US.UTF-8"' /home/oracle/.bash_profile
	sed -i '$a\export NLS_LANG=american_AMERICA.UTF8' /home/oracle/.bash_profile
	sed -i '$a\export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"' /home/oracle/.bash_profile
	source /home/oracle/.bash_profile
}

function create_oracle_dir() {
	mkdir -p /u01/app/oracle/product/11.2.0/db_1
	chown -R oracle:oinstall /u01/app
	chmod -R 775 /u01/app
}

function disable_firewall() {
	systemctl stop firewalld.service
	systemctl disable firewalld.service
	sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
	setenforce 0
}

if [ `whoami` == "root" ]
then
	set_yum_media
	install_packages
	create_oracle_user
	echo "set system parm"
	set_system_parm
	echo "set limits"
	set_system_limit_parm
	echo "set /etc/profile"
	set_profile_parm
	echo "set oracle env"
	set_oracle_env
	echo "create oracle dir"
	create_oracle_dir
	echo "disable firwall"
	disable_firewall
fi

到此这篇关于Centos下Oracle11gR2安装教程与自动化配置脚本的方法的文章就介绍到这了,更多相关Oracle11gR2安装与自动化配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • linux系统下oracle11gR2静默安装的经验分享

    前言: 1.我的linux是64位的redhat6.5,安装的oracle版本是11.2.0的. 2.我这是自己安装的linux虚拟机,主机名为ora11g,ip为192.168.100.122 3.这台机器以前没有安装过oracle数据库,这是第一次安装:系统安装好了之后,仅仅只配了ip地址:所以新手完全可以按照我的步骤装一次oracle. 准备工作: 1.确认主机名一致: [root@ora11g ~]# vi /etc/hosts 在末尾添加   (#其中192.168.100.123为本

  • centos7下安装oracle11gR2的详细步骤

    环境准备 安装包: CentOS-7-x86_64-DVD linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 本教程是在VMware下安装的,注意设置内存的时候,不要设置动态内存. 安装Oracle前准备 创建运行oracle数据库的系统用户和用户组 [jonathan@localhost ~]$ su root #切换到root Password: [root@localhost]# groupadd oin

  • Linux 7下脚本安装配置oracle 11g r2教程

    本教程为大家分享了oracle 11g r2安装教程,供大家参考,具体内容如下 一.环境脚本简单配置 #!/bin/bash mv /etc/yum.repos.d/* /tmp mv iso.repo /etc/yum.repos.d/ tar zxvf a.tar.gz mv 7Server /root/ sed -i '3 s/^#//' /etc/yum.repos.d/iso.repo sed -i '4 s/^/#/' /etc/yum.repos.d/iso.repo yum in

  • Redhat 6.2 下 oracle 11g R2的安装详解第1/2页

    一.配置系统参数 在安装oracle前我们需要对用到的系统参数进行配置 1.修改系统内核参数 修改sysctl.conf文件 在文件/etc/sysctl.conf中添加以下内容: kernel.sem = 250 32000 100 128 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 fs.aio-max-nr = 1048576 fs.file-max = 6815744 net.core.r

  • oracle 11gR2 win64安装配置教程另附基本操作

    最近刚到公司上班,大致了解了一下公司的流程之后,发现数据库非常需要恶补一下,以前在学校学习的一些数据库都是SQLserver,以及一些增,删,改,查的基本操作, 这些都是好早好早以前的事了,后来大部分时间都用来学习汇编,搞逆向去了,为了自己的发展必须要打好开发的基础,当然数据库是必要的,oracle对我来说确实感觉非常陌生以前基本没有接触过,经过最近几天的折腾,大概了解了一下oracle数据库的安装,简单的配置,毕竟还是小白,以后还需要继续恶补,下面就是最近自己的一些新的和收获. 1.  首先是

  • windows下oracle 11g r2 安装过程与卸载详细图解

    Oracle 11g安装 1.解压下载的包,然后进入包内,点击setup.exe开始安装 . 2.出现如下:一般把那个小对勾取消,点击下一步进行, 弹出下图这个后点'是' 3.下图后,选择创建和配置数据库,点击下一步. 4.下图,选择服务器类,因为桌面类没有高级选项的功能,下一步. 5.下图,选择单实例数据库,下一步 6.下图,选择高级安装,下一步 7,下图选择语言,如果数据库内没有用到其他的语言,就这样默认的就可以了,下一步 8.下图,选择安装版本,用企业版的,下一步 9.下面,选择基目录的时

  • CentOS 6.4下安装Oracle 11gR2详细步骤(多图)

    安装前须知: 内存(RAM)的最小要求是 1GB,建议 2GB 及以上.虚拟内存 swap 建议:内存为 1GB~2GB 时建议swap大小为内存大小的 1.5 倍:内存为 2GB~16GB 时建议swap大小为内存的大小:内存超过 16GB 时swap保持16GB.要求临时文件目录,如 /tmp 的磁盘空间至少 1GB.磁盘空间要求:企业版为4.35GB的安装空间和1.7GB以上的数据文件空间:标准版为4.22GB的安装空间和1.5GB以上的数据文件空间.需要 X window 图形界面.需要

  • centos 6.5下安装oracle 11gR2与Oracle自动启动的配置

    注意:以下命令使用 root 用户操作 安装依赖包 主要思路为配置 oracle yum 仓库,直接使用 yum 命令来安装依赖包,避免手工逐个的安装依赖包. 配置 yum 仓库以下载 orcale 依赖包 注意:这里是CentOS 6.X 的 oracle 依赖仓库,其他版本不同的. 导入 GPG Keys wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-orac

  • Centos下Oracle11gR2安装教程与自动化配置脚本的方法

    系统环境准备 开发组件与依赖库安装 安装centos时选择Server with GUI,右面的可以不勾选,后面统一来装 配置本地yum源 以上包如果缺乏可配置本地yum源进行安装 sudo mount /dev/cdrom /mnt/ [galen@localhost yum.repos.d]$ sudo vim /etc/yum.repos.d/cdrom.repo [galen@localhost yum.repos.d]$ cat cdrom.repo [c7-media] name=i

  • CentOS 下yum安装mysql、jdk和tomcat的方法

    0. 创建个人文件夹 # 使用 yum 安装tomcat 和 mysql # 创建文件夹 cd /usr/local mkdir hehe 1. 安装rzsz # 1. 安装rzsz yum list lrzsz* yum install lrzsz -y 2. 安装JDK,path之类的已经自动设置好了 # 2. 安装JDK yum list java* yum install java-1.7.0-openjdk* -y 3. 安装mysql # 3. 安装mysql yum list my

  • centos下docker安装及springboot远程发布docker的方法

    目录 1.CentOS7.0下JDK1.8的安装 2.Docker的安装 3.Docker使用Maven插件构建并上传镜像 1.CentOS7.0下JDK1.8的安装 (1)到Oracle官网下载好 jdk-8u291-linux-i586.tar.gz备用 (2)卸载系统自带的java java -version rpm -qa | grep java yum -y remove [上面查出来的内容,多个用空格分隔] (3)安装jdk mkdir /usr/java cd /usr/java

  • 淘宝Web服务器Tengine在CentOS下的安装教程

    注:服务器环境为CentOS 一.简介 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验.它的最终目标是打造一个高效.稳定.安全.易用的Web平台. 从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它.Tengine团队的核心成员来自于淘宝.搜狗等互联网企业.Tengine是社区合作的成果,我们欢迎

  • Linux下升级安装python3.8并配置pip及yum的教程

    服务器的CentOS 7中自带的python版本是python-2.7.5,需要再安装一个 python-3.8.1 一.查看版本 安装前查看一下是否已经安装过python,我这里自带了python2.7.5版本,所以需要在不删除的情况下,在安装一个python3.8.1版本的, python -V 二.安装Python3.8.1 官网下载地址:https://www.python.org/downloads/source/ # 解压 tar -zxf Python-3.8.1.tgz # 安装

  • Redis 对比 Memcached 并在 CentOS 下进行安装配置详解

    Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,本篇文章主要介绍了Redis 对比 Memcached 并在 CentOS 下进行安装配置详解,有兴趣的可以了解一下. 了解一下 Redis Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,使用 ANSI C 编写,并提供多种语言的 API ,它几乎没有上手难度,只需要几分钟我们就能完成安装工作,并让它开始与应用程序顺畅协作.换句话来说,只需投入一小部分时间与精力,大家就能获得立竿

  • Centos下编译安装Nginx教程详解

    一.安装nginx时必须先安装相应的编译工具 yum -y install gcc gcc-c++ autoconf automake yum -y install zlib zlib-devel openssl openssl-devel pcre-devel 建立nginx 组 groupadd -r nginx useradd -s /sbin/nologin -g nginx -r nginx id nginx zlib:nginx提供gzip模块,需要zlib库支持 openssl:n

  • Win10下jdk安装及环境变量配置详细教程

    目录 前言 一. 准备工作 二.安装 三. 配置环境变量 1.点击"新建"会出现一个弹窗: 2.新建CLASSPATH变量 3.配置path,找到path,双击或者点编辑 四.验证环境变量配置 ① java 验证 ② javac 验证 ③ java -version 验证 前言 为什么写这篇文章呢,因为我不想再去百度搜别人的文章了,所以自己写一篇以作记录. 一. 准备工作 JDK8下载地址 JDK8下载地址2 由于有的读者说Oracle需要账号才能下载,不想那么麻烦再去注册一个,那么你

  • CentOS下Jsoncpp安装配置的方法

    目录 1.安装 2.测试 3.问题及解决 1. 安装 执行命令 [root@VM-0-9-centos ~]# cd /home [root@VM-0-9-centos home]# mkdir jsoncpp [root@VM-0-9-centos home]# cd jsoncpp/ [root@VM-0-9-centos jsoncpp]# wget https://github.com/open-source-parsers/jsoncpp/archive/1.9.4.zip [root

  • Windows下tomcat安装教程

    本文为大家分享了Windows下tomcat安装教程,供大家参考,具体内容如下 1.打开官网 2.在左侧的导航栏Download下方选择最新的Tomcat 9,点击页面下方的" 64-bit Windows zip (pgp, md5, sha1)"进行下 3.解压到某目录 4.配置环境变量 a.配置jdk的环境变量(略) b.在系统变量里新建变量名:CATALINA_BASE,变量值:D:\Program Files\apache-tomcat-9.0.6 c.在系统变量里新建变量名

随机推荐