一、安装CentOS-7_x86_64

1、CentOS7:带GUI的服务器(FTP服务器、JAVA平台、兼容性程序库、开发工具、安全性工具、系统管理工具);

2、安装位置:

  /  /boot  swap(建2个,每个物理内存大小)  /oracle  /data

3、系统升级:

[root@IT202 /]# yum -y update
[root@IT202 /]# yum -y upgrade

4、修改/dev/shm的大小(size的值物理内存80%):

[root@IT202 etc]# vi /etc/fstab
tmpfs /dev/shm                                        tmpfs   defaults,size=51G           0 0

修改/etc/fstab后,重新mount /dev/shm

[root@IT202 etc]# umount /dev/shm
[root@IT202 etc]# mount /dev/shm
[root@IT202 etc]# df -hl

二、安装Oracle前准备:

1、创建运行oracle数据库的系统用户和用户组:

# 创建用户组oinstall
[root@IT202 /]# groupadd oinstall # 创建用户组dba
[root@IT202 /]# groupadd dba # 创建oracle用户,并加入到oinstall和dba用户组
[root@IT202 /]# useradd -g oinstall -g dba -m oracle # 设置用户oracle的登陆密码
[root@IT202 /]# passwd oracle # 查看新建的oracle用户
[root@IT202 /]# id oracle
uid=1002(oracle) gid=1003(dba) groups=1003(dba)

2、修改操作系统核心参数:

1)、修改OS系统标识:

# 备份源文件
[root@IT202 etc]# cp /etc/redhat-release /etc/redhat-release-bak [root@IT202 etc]# vi /etc/redhat-release
redhat-7

2)、修改用户的SHELL的限制,修改/etc/security/limits.conf文件:

# 备份源文件
[root@IT202 security]# cp /etc/security/limits.conf /etc/security/limits.conf-bak [root@IT202 security]# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

3)、修改/etc/pam.d/login 文件:

# 备份源文件
[root@IT202 pam.d]# cp /etc/pam.d/login /etc/pam.d/login-bak [root@IT202 pam.d]# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so

4)、修改linux内核,修改/etc/sysctl.conf文件:

# shmall=是全部允许使用的共享内存大小,shmmax 是单个段允许使用的大小。这两个可以设置为内存的 70%。

# 例如 64G 内存,64*1024*1024*1024*70% = 48103633715,shmall 的大小为 48103633715/4k(getconf PAGESIZE可得到) = 11744051

# kernel.sem

  kernel.sem是指 semmsl,semmns,semopm,semmni这4个参数

  semmsl 指每个线号集的最大信号数,Oracle建议是设置为oracle的最大进程数+10

  semmni 指整个系统的信号集的最大数量

  semmns 指整个系统的信号总数,也就是semmni*semmsl的结果

  semopm 指每个semop系统调用可以执行的信号操作的最大数量

  oracle默认设置

  semmsl=250

  semmns=3200

  semopm=100

  semmni=128

  即kernel.sem= 250 3200 100 128

  例:在oracle ora.init文件参数中设置PROCESSES参数为5000

  则semmsl=5010,semmni=128,semmns=semmsl* semmni=641280

  另外semopm建议设置等于semmsl值即5010

  那么kernel.sem=5010 641280 5010 128

# 备份源文件
[root@IT202 etc]# cp /etc/sysctl.conf /etc/sysctl.conf-bak [root@IT202 etc]# vi /etc/sysctl.conf net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536 kernel.shmmax = 48103633715
kernel.shmall = 11744051 fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 5010 641280 5010 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 #redis
vm.overcommit_memory = 1
net.core.somaxconn = 1024

【使 /etc/sysctl.conf 更改立即生效】

[root@IT202 etc]# sysctl -p

5)、编辑 /etc/profile:

# 备份源文件
[root@IT202 etc]# cp /etc/profile /etc/profile-bak [root@IT202 etc]# vi /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
生效/etc/profile
[root@IT202 etc]# source /etc/profile

6)、创建数据库软件目录和数据文件存放目录:

# oracle数据库配置文件目录
[root@IT202 /]# mkdir -p /oracle/oraInventory # oracle数据库软件包解压目录
[root@IT202 /]# mkdir -p /data/database # 设置目录所有者为oinstall用户组的oracle用户
[root@IT202 /]# chown -R oracle:oinstall /oracle
[root@IT202 /]# chown -R oracle:oinstall /data # 生成数据DBF环境
[root@IT202 database]# mkdir -p /data/oradata/ora11g
[root@IT202 /]# chown -R oracle:oinstall /data
[root@IT202 /]# chmod 777 -R /data

7)、配置oracle用户的环境变量:

[root@IT202 /]# su - oracle
[oracle@IT202 ~]$ vi .bash_profile # .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin:/bin:/sbin export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ora11g
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280

8)、配置firewall作为防火墙:

【防火墙打开Oracle监听器的默认端口1521、EM的默认端口1158】

[root@IT202 /]# firewall-cmd --zone=public --add-port=1521/tcp --permanent
[root@IT202 /]# firewall-cmd --zone=public --add-port=1158/tcp --permanent
[root@IT202 /]# firewall-cmd --reload # 查看所有打开的端口
[root@IT202 /]# firewall-cmd --zone=public --list-ports
1521/tcp 1158/tcp

9)、安装oracle数据库所需要的软件包

[root@IT202 /]# yum -y install \
binutils* \
compat-libcap1* \
compat-libstdc++* \
gcc* \
gcc-c++* \
glibc* \
glibc-devel* \
ksh* \
libaio* \
libaio-devel* \
libgcc* \
libstdc++* \
libstdc++-devel* \
libXi* \
libXtst* \
make* \
sysstat* \
elfutils* \
unixODBC*

10)、将安装包移动到/data/database路径下   (以oracle用户把2个安装zip文件FTP到/home/oracle目录下)

[oracle@IT202 oracle]$ cp /home/oracle/linux.x64_11gR2_database_*.zip /data/database

# 解压
[oracle@IT202 database]$ unzip /data/database/linux.x64_11gR2_database_1of2.zip
[oracle@IT202 database]$ unzip /data/database/linux.x64_11gR2_database_2of2.zip #进入管理员权限,设置目录所有者为oinstall用户组的oracle用户,执行安装脚本
[root@IT202 /]# chown -R oracle:oinstall /data/database/database/

三、安装Oracle11gR2:

1)、以oracle用户登录系统,安装Oracle11gR2软件:

[oracle@IT202 ~]$ LANG=en
[oracle@IT202 database]$ cd /data/database/database
[oracle@IT202 database]$ ./runInstaller
1、==++Configure Security Updates++==
去掉 I wish to receive security updates via My Oracle Support.
点击 "Next >" 2、==++Installation Option++==
选择第二项 Install database software only
点击 "Next >" 3、==++Grid Options++==
选择单例模式 Single instance database installation
点击 "Next >" 4、==++Product Languages++==
选择添加简体中文
点击 "Next >" 5、==++Database Edition++==
选择Enterprise Edition
点击 "Next >" 6、==++Installation Location++==
确定数据软件的安装路径,自动读取前面Oracle环境变量中配置的值
点击 "Next >",
之后也是选择默认,不做修改,直接点击"Next >" 7、==++Create Inventory++==
/oracle/oraInventory
点击"Next >" 8、==++Prerequisite Checks++==
勾上右上角的“ignore all”。单击“next”,再单击“finish”开始安装。
安装过程中连接库时,会出现两个错误:(84%)
1)ins_ctx.mk编译错误:
修改/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/libc.a
点击Retry继续安装。
2)”Error in invoking target 'agent nmhs' of makefile '/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.'
解决方法:在makefile中添加链接libnnz11库的参数
修改/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,
将$(MK_EMAGENT_NMECTL)
修改为:$(MK_EMAGENT_NMECTL) -lnnz11
点击Retry继续安装。 9、最后等进度在100%的时候,按照里面的提示以root权限进入提示的地址,运行上面提示的两个sh文件。
[root@IT202 oraInventory]# cd /oracle/oraInventory
[root@IT202 oraInventory]# ./orainstRoot.sh [root@IT202 db_1]# cd /oracle/product/11.2.0/db_1
[root@IT202 db_1]# ./root.sh

2)、配置网络监听器:

[oracle@IT202 bin]$ cd /oracle/product/11.2.0/db_1/bin
[oracle@IT202 bin]$ ./netca #启动监听器:
[oracle@IT203 bin]$ lsnrctl start

3)、手工安装数据库:

[oracle@IT202 bin]$ cd /oracle/product/11.2.0/db_1/bin
[oracle@IT202 bin]$ ./dbca
1)Create a Database
2)Custom Database
3)SID= ora11g
4)Memory Size 70%
5) Processes = 5000
6) Database Character Set: ZHS16CGB231280
7) USERS表空间为128M;SYSTEM表空间为2G,SYSAUX表空间为4G;
8)redo log一般设置3-5组,每组2个成员,每个成员大小可以从100M到1G,建议为200M。

4)、Oracle11g设置开机自启动【root】:

【编辑/etc/oratab文件】

[root@IT202 etc]# vi /etc/oratab
ora11g:/oracle/product/11.2.0/db_1:Y

【配置/etc/rc.d/rc.local】

[root@IT202 rc.d]# vi /etc/rc.d/rc.local
# add oracle start
su oracle -lc "/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc /oracle/product/11.2.0/db_1/bin/dbstart
# add end

【在/etc/init.d/下创建Oracle服务启动脚本】

[root@IT202 init.d]# vi /etc/init.d/oracle

#!/bin/sh
# chkconfig: 345 61 61
# description: Oracle 11g R2 AutoRun Servimces
# /etc/init.d/oracle
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ora11g
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR="oracle" # if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
case "$1" in
start)
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
su $ORA_OWNR -lc "$ORACLE_HOME/bin/emctl start dbconsole"
echo "Oracle Start Succesful!OK."
;;
stop)
su $ORA_OWNR -lc "$ORACLE_HOME/bin/emctl stop dbconsole"
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
echo "Oracle Stop Succesful!OK."
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo $"Usage: `basename $0` {start|stop|reload|reload}"
exit 1
esac
exit 0

【将oracle脚本文件赋予执行权限】

[root@IT202 init.d]# chmod 755 /etc/init.d/oracle

【配置Oracle监听开机自启动服务】

# 修改dbstart和dbshut启动、关闭脚本,使其启动数据库的同时也自动启动监听器(即启动数据库时启动监听器,停止数据库时停止监听器):

# 备份源文件
[oracle@IT202 bin]$ cp /oracle/product/11.2.0/db_1/bin/dbstart /oracle/product/11.2.0/db_1/bin/dbstart-bak
[oracle@IT202 bin]$ cp /oracle/product/11.2.0/db_1/bin/dbshut /oracle/product/11.2.0/db_1/bin/dbshut-bak
[oracle@IT202 bin]$ vi /oracle/product/11.2.0/db_1/bin/dbstart 
# 修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME [oracle@IT202 bin]$ vi /oracle/product/11.2.0/db_1/bin/dbshut
# 修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME

【加入自动启动服务】

[root@IT202 /]# ln -s /etc/rc.d/init.d/oracle /etc/rc2.d/S61oracle
[root@IT202 /]# ln -s /etc/rc.d/init.d/oracle /etc/rc3.d/S61oracle
[root@IT202 /]# ln -s /etc/rc.d/init.d/oracle /etc/rc4.d/S61oracle
[root@IT202 /]# ln -s /etc/rc.d/init.d/oracle /etc/rc0.d/K61oracle
[root@IT202 /]# ln -s /etc/rc.d/init.d/oracle /etc/rc6.d/K61oracle

【将 oracle服务加入到系统服务】

[root@IT202 /]# chkconfig --level 234 oracle on
[root@IT202 /]# chkconfig --add oracle # 检查 oracle服务是否已经生效
[root@IT202 /]# chkconfig --list oracle
oracle 0:关 1:关 2:开 3:开 4:开 5:开 6:关

四、CentOS7添加静态路由:

【添加永久路由】

[root@IT202 /]# cd /etc/sysconfig/network-scripts/

# 获取网路接口名称
[root@IT202 network-scripts]# netstat -r
Destination Gateway Genmask Flags MSS Window irtt Iface
default gateway 0.0.0.0 UG 0 0 0 enp4s0f0

【编辑或新建/etc/sysconfig/network-scripts/route-interface文件】

[root@IT202 network-scripts]# vi /etc/sysconfig/network-scripts/route-enp4s0f0

10.76.0.0/16 via 192.168.18.4 dev enp4s0f0
10.78.0.0/16 via 192.168.18.4 dev enp4s0f0
10.80.0.0/16 via 192.168.18.4 dev enp4s0f0

五、CentOS7安装rlwrap:

sqlplus环境里使用上下左右箭头和删除键

【查看系统是否安装了readline】

[root@IT202 /]# rpm -qa|grep readline
readline-devel-6.2-10.el7.x86_64
readline-6.2-10.el7.x86_64
[root@IT202 /]# yum install readline-devel
[root@IT202 /]# yum install readline

【FTP软件】

[root@IT202]# cp rlwrap-0.42.tar.gz /usr/local

【解压&安装】

[root@IT205 local]# unzip rlwrap-0.42.tar.zip
[root@IT202 local]# tar -zxvf rlwrap-0.42.tar.gz
[root@IT202 local]# cd rlwrap-0.42
[root@IT202 rlwrap-0.42]# ./configure && make && make install
[root@IT202 rlwrap-0.42]# which rlwrap
/usr/local/bin/rlwrap

【配置环境】

# 用户.bash_profile 添加以下内容

 [oracle@IT203 ~]$ vi .bash_profile

stty erase ^h
alias sqlplus="rlwrap sqlplus"
alias rman="rlwrap rmain"

编辑/bin/sql文件

[root@IT203 bin]# vi /bin/sql
rlwrap sqlplus system/system

[root@IT203 bin]# chmod 755 /bin/sql

CentOS7安装Oracle11gR2的更多相关文章

  1. centos7下安装oracle11gR2

    Centos7安装oracle11gR2说明 Centos7安装oracle11gR2说明 环境准备 安装Oracle前准备 创建运行oracle数据库的系统用户和用户组 创建oracle数据库安装目 ...

  2. centos7.5安装Oracle11gR2

    centos7.5安装Oracle11gR2 说明:由于上一台旧的笔记本电脑(CPU:i5-7200,内存:8G,硬盘:128SSD+1T机械)卸任,所以打算在家搭建一个个人服务器(主要是换不锈钢盆不 ...

  3. CentOS7安装Oracle11g R2

    文章摘抄自:一支小白,博客地址:http://www.cnblogs.com/startnow/p/7580865.html Centos7安装Oracle 11gR2     =========== ...

  4. HP服务器 hp 360g5 centos7安装问题

    HP服务器  hp 360g5 centos7安装问题 一 :启动盘无法识别硬盘 1.进入安装光盘,用上下键选择安装centos--Install Centos7(注意不可按Enter键),如图: 2 ...

  5. CentOS7 安装Mono及Jexus

    CentOS7安装Mono及Juxes 1 安装Mono 1.1 安装yum-utils 因为安装要用到yum-config-manager,默认是没有安装的,所以要先安装yum-utils包.命令如 ...

  6. CentOS7安装mysql提示“No package mysql-server available.”

    针对centos7安装mysql,提示"No package mysql-server available."错误,解决方法如下: Centos 7 comes with Mari ...

  7. CentOS7安装Oracle 11gR2 安装

    概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...

  8. Centos7安装完毕后重启提示Initial setup of CentOS Linux 7 (core)的解决方法

    问题: CentOS7安装完毕,重新开机启动后显示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License i ...

  9. rhel 5.8下静默安装oracle11gr2

    1.图形界面下录制脚本如下: #-------------------------------------------------------------------------------# Do ...

随机推荐

  1. Mysql类

    架构层面可以采用读写分离,主从复制等等,在数据库前端加cache,如memcache,用于用户登录,商品查询     1.mysql优化的原则是什么? 答: 1.mysql的优化首先要从设计表的过程中 ...

  2. 关于tomcat setenv

    tomcat setenv首先寻找执行base下的若不存在,寻找home下的只会执行一个

  3. python使用open的OSError: [Errno 22] Invalid argument错误

    这两天在写一个新闻类的spider时,遇到了OSError: [Errno 22] Invalid argument这个错误,苦恼的两天,无果.后来通过请教学长,发现原来是打开的文件名中含有一些系统的 ...

  4. C++ 标准库 std::find 查找

    参见:https://en.cppreference.com/w/cpp/algorithm/find 查找指定字符/数字等. #include <iostream> #include & ...

  5. ionic4 ion-picker用法

    ion-picker实际开发中肯定多处使用,所以封装成服务的形式调用 新建picker.service服务模块   ionic g service picker import { Injectable ...

  6. postman(十二):发送携带md5签名、随机数等参数的请求

    想起来之前在借助百度翻译接口做翻译小工具的时候,需要把参数进行md5加密后再传输. 而在平时的接口测试工作中难免会遇到类似这种请求参数,比如md5加密.时间戳.随机数等等.固然可以先计算出准确的参数, ...

  7. CodeForces - 545CWoodcutters

    传送门 题目大意:n棵树(10^5),坐标xi,高度hi,把这棵树砍到,可以向右倒[xi,xi+hi]被占, 向左倒[xi-hi,xi]被占,必须要倒的坐标没有被占才能倒,不砍倒就xi被占,问最多砍几 ...

  8. LuaFramework 学习

    LuaFramework_UGUI_V2 https://github.com/jarjin/LuaFramework_UGUI_V2 using UnityEngine; using LuaInte ...

  9. Azure Automation (7) 执行Azure SQL Job

    <Windows Azure Platform 系列文章目录> 之前Automation介绍的内容,是在ASM模式下自动化开关机. 本章将介绍如何在Automation中,设置开关机脚本, ...

  10. git操作记录(如何回退到某个历史版本,如何提交部分文件等方法)

    当前项目使用git管理代码,在使用的过程中会遇到一些问题,这里记录下 1.合并代码后 在合并组员的代码后会出现下面的界面,开始的时候都会关闭,重新打开,乐此不疲到忍无可忍 解决方法: 出现这种界面是要 ...