一、安装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. (入门SpringBoot)SpringBoot项目创建基本配置(二)

    SpringBoot的环境搭建和基本开发:1.环境开发就不说了,一个程序员的基本功:2.基本开发-使用自定义的配置:2.1.配置文件.properties和yml文件.2.2.SpringBoot配置 ...

  2. 挂载system.img并提取文件

    今天提取线刷包的system.img出来,使用Mount命令挂载 $ sudo mount -t ext4 -o loop system.img /mnt mount: 文件系统类型错误.选项错误./ ...

  3. 【cf915】E. Physical Education Lessons(线段树)

    传送门 简单的线段树区间修改区间查询,但是因为数据范围过大,所以采用动态开点的方法(注意一下空间问题). 也可以直接对询问区间的端点离散化然后建树,这种方法时间复杂度和空间复杂度都比较优秀. 给出动态 ...

  4. python的http包

    http包简介 http包提供了 HTTP协议的一些功能,主要模块有: http.client   --- 底层的 HTTP 协议的一些功能,可以为 urllib.request 模块所用 http. ...

  5. jwt揭秘(含源码示例和视频)

    JSON Web Tokens,是一种开发的行业标准 RFC 7519 ,用于安全的表示双方之间的声明.目前,jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目. 1. jwt认证流程 在项 ...

  6. 洛谷 P1381 单词背诵

    洛谷 P1381 单词背诵 洛谷传送门 题目描述 灵梦有n个单词想要背,但她想通过一篇文章中的一段来记住这些单词. 文章由m个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要背的单词(重复的 ...

  7. LG2921 [USACO2008DEC]Trick or Treat on the Farm 内向基环树

    问题描述 LG2921 题解 发现一共有 \(n\) 个点,每个点只有一条出边,即只有 \(n\) 条边,于是就是一个内向基环树. \(\mathrm{Tarjan}\) 缩点. 但是这个题比较猥琐的 ...

  8. codevs 3304 水果姐逛水果街Ⅰ

    这道题可以用ST表过: 题目链接 记录4个数组:maxval[][], minval[][], ans[][], rans[][] maxval[i][j]表示从i号元素开始,长度为(1<< ...

  9. x3

    #include<stdio.h> int main() { char ch; printf("输入一个字符:\n"); scanf("%c",&a ...

  10. Appium移动自动化测试-----(三)Intellij IDEA + Android SDK + Genymotion Emulator

    下载安装Intellij IDEA 略 下载Android SDK http://tools.android-studio.org/index.php/sdk    下载后解压 http://www. ...