CentOS7通过xmanager安装Oracle11g+Tomcat全流程操作步骤实战

 环境:VM12+centos7 x86_64 minimal

虚拟机配置

80G硬盘

2G ram + 2G swap


前言

安装Oracle11g使用方式是引导安装界面至windows操作系统进行的,需要的两个操作系统直接不能正常访问,22端口开放,安装前期需要将防火墙关闭,避免不必要的麻烦。中间查错误一般是不会出现的,如果出现问题提供了解决办法,仅供参考。

一、准备工作

1、Oracle数据库

可以到官网登录后进行下载,我这边准备了安装包,仅供参考

原始安装包,解压后可以直接在英文Linux下安装

链接:https://pan.baidu.com/s/1zQJWwYpI-A2bDJG5UhP5Yw 
提取码:2zeh 
 

中文Linux环境下会出现乱码,通过加中文字体解决乱码问题;

链接:https://pan.baidu.com/s/1-eECeZMNQ0hhWH2W0BWanA 
提取码:rbw7 
 

2、CentOS7

http://vault.centos.org

上面的是CentOS的网站,打开有可以找到不同版本的镜像下载,本次安装的版本是1708 64位,CentOS7中比较稳定的一个版本,最新版本的也可以。

http://vault.centos.org/7.4.1708/isos/x86_64

3、虚拟机Vmware Workstations12

打开虚拟机,开始新建一个虚拟机,安装CentOS7系统,并设置相关的虚拟机配置。

进入系统安装页面

选择安装语言,如果英文不好可以选择中文

如果想自己设置分区可按照以下操作进行,其它存储选项,选择我要配置分区,然后点击左上方的完成

创建时发现可用空间较小时,可以先对系统默认的/根节点下的空间修改

开始安装,这里设置一下root的密码,最好用记事本记录一下安装时设置的root密码,如果密码忘了找回很麻烦,慎重!!!

等待安装完成,重启可以使用。

4、CentOS网络设置

登录之后开始设置网络,因安装时启用了网络,所以现在可以看到ens33有ip地址,并且网络是连接状态的,要将IP设置为固定IP

#cd /etc/sysconfig/network-scripts

查看该目录下文件,并修改ifcfg-ens33文件

默认是这样,进入vi编辑,进入编辑模式

##修改内容如下

BOOTPROTO=static #这里将dhcp换成static

ONBOOT=yes #将no换成yes

##新增

IPADDR=192.168.1.76 #静态IP

GATEWAY=192.168.1.1 #默认网关

NETMASK=255.255.255.0 #子网掩码

DNS1=8.8.8.8 #DNS1(不配置DNS无法上网,这里设置可根据情况调整)

DNS2=4.4.4.4 #DNS2

重启网络服务 # service network restart

查看当前IP并验证网络是否正常ping百度和主机检查

5、其他问题介绍

个人移动虚拟机出错的小插曲:ovf导出、备份、复制、还原的时候会有网络上的问题(物理机有变),修改后把ens33中的网卡地址修改成新虚机查询出来的Mac地址一致即可(此处上下文的IP和MAC地址不一样,是由于中途换电脑了,大家安装时保持一致即可,保证网络相通)

6、安装常用的应用

# wget         下载用的从指定的URL下载文件

# unzip        解压oracle安装文件

# net-tools    查看本机网络情况 比如netstat

# vim           vim编辑器,方便编辑文档

7、防火墙关闭

systemctl stop firewalld.service #停止

systemctl disable firewalld.service #禁用

设置防火墙不自启动

# vim /etc/selinux/config

然后重启系统。

如果不想重启系统,使用命令setenforce 0

二、安装Oracle11G

Oracle官方安装文档可以找一下,可以解决一些安装中遇到问题。

1、配置yum源

遇到不能无法安装yum可以手动到CentOS官网下载安装离线版依赖包

       1)下载repo文件 

其他版本的CentOS这个地方把数字修改一下

       2)备份并替换系统的repo文件 

#cp CentOS7-Base-163.repo /etc/yum.repos.d/ 
#cd /etc/yum.repos.d/ 
#mv CentOS-Base.repo CentOS-Base.repo.bak 
#mv CentOS7-Base-163.repo CentOS-Base.repo 

       3)执行yum源更新命令 

#yum clean all 
#yum makecache 
#yum update

2、安装Oracle11gR2数据库在CentOS下所需要的依赖包

首先确认一下CentOS的版本和位数

# cat /etc/redhat-release

# getconf LONG_BIT

版本对应的这个版本:Oracle Linux 7 and Red Hat Enterprise Linux 7

centos7需要的安装包,可以在Oracle官方文档上查看

官方要求的依赖包如下(27个)
使用yum安装依赖

# 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* glibc-devel.i386

(为了防止后面安装时提示错误,可以检查一下依赖包是否正确安装)

查看这些包是否已安装(仔细核对一下,有没有缺失的依赖,如果有这里可以提前解决一下,避免后面出问题,我这里就有疏忽):

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-develelfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel 

3、创建Oracle用户与组

在这里只讨论单主机环境,不考虑RAC环境的配置。

执行以下指令以新增oracle安装时所需要的使用者与群组。

(1) 建立群组oinstall

# groupadd oinstall

(2) 建立群组dba

# groupadd dba

(3) 新增使用者oracle并将其加入oinstall和dba群组

# useradd -m -g oinstall -G dba oracle

(若是已有的账户可以用下面的命令修改属组oinstall和从组dba:

# usermod -m -g oinstall -G dba oracle)

(4) 测试oracle账号是否建立完成

# id oracle

(5) 建立oracle用户的新密码

# passwd oracle    -----这里密码也记下

4、将oracle使用者加入到sudo群组中(可选操作)

# vim /etc/sudoers

找到root        ALL=(ALL)        ALL 这行,并且在底下再加入

oracle        ALL=(ALL)        ALL

输入wq!(由于这是一份只读文档所以需要再加上!)并且按下Enter

5、配置系统内核参数

# vim /etc/sysctl.conf(CentOS安装在后面会提示shmmni没有值,只要保证这个里面的kernel.sem最后一个是128就可以忽略那个错误)

kernel.sem = 250 32000 100 128

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

fs.file-max=6815744

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

fs.aio-max-nr=1048576

如果有一些与之前的参数重复的,就修改成文件上提供的。

编辑完之后,储存,然后执行:

# sysctl -p

如果失败试试这个命令# /sbin/sysctl -p 启用刚刚所做的变更。

6、编辑/etc/security/limits.conf

用户限制配置文件,修改进程数和最大会话数

# vim /etc/security/limits.conf

加入以下四行

oracle  soft        nproc   2047

oracle  hard       nproc   16384

oracle  soft        nofile  1024

oracle  hard       nofile  65536

7、编辑/etc/pam.d/login

设置关联信息, 将配置文件加入到登录验证模块

解释部分

安装oracle 11 rac ,需要修改一下文件

# vim /etc/pam.d/login

添加下面语句

session     required     pam_limits.so

添加后,发现本地无法登陆,输入用户名和密码后,跳回输入前界面;但是却可以使用ssh客户端远程登陆本服务器

后来才发现,32位系统和64为系统写法不一样,具体如下

32位系统

session   required   /lib/security/pam_limits.so

64位系统

session   required   /lib64/security/pam_limits.so

CentOS7操作部分添加以下信息

# vim /etc/pam.d/login

session   required   /lib64/security/pam_limits.so

session    required  pam_limits.so

8、修改/etc/profile(修改系统启动环境参数)

# vim /etc/profile

将以下代码新增到profile档案中。

if [ $USER = "oracle" ]; then

    if [ $SHELL = "/bin/ksh" ]; then

        ulimit -p 16384

        ulimit -n 65536

    else

        ulimit -u 16384 -n 65536

    fi

fi

9、修改Linux发行版本信息

解释部分:由于Oracle 11g发行的时候,CentOS 版本没有发行,所以Oracle 11g并没有对CentOS 7确认支持,需要修改文件让Oracle 11g支持CentOS。

我们需要手工修改Linux的发行注记,让Oracle 11g支持CentOS 7CentOS6也修改参数即可

编辑/etc/redhat-release文件

# vim /etc/redhat-release

将其中的内容CentOS Linux release 7.4.1708 (Core)修改为Red Hat Enterprise Linux 7

10、配置Linux主机

检查vim /etc/hosts文件中是否有rdkyc的记录(指向本机分配的IP地址即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。此步骤不能省,没有处理该步骤会出现安装错误关于网络配置错误。不是固定IP的直接用127.0.0.1+主机名(# hostname查询主机名)

这个是针对集群环境中,绑定了域名,会遇到安装Oracle数据提示IP地址不正确,查看提示信息,根据提示的解决。如果是客户的服务器绑定的IP需要加上,使其指向绑定的IP,如果没有检查IP地址是否为静态。

11、配置oracle用户环境变量

根据自己的情况设定路径,严禁直接复制使用,在安装时要具体根据磁盘剩余空间决定安装位置

将使用oracle用户安装Oracle软件,主目录为/home/oracle/app/product/11.2.0/dbhome_1;如果安装在自定义路径,需要创建路径,并设置其运行权限。(此路径问安装路径,根据实际情况修改)例如

# mkdir -p /home/oracle/app/

# chown -R oracle:oinstall /home/oracle/app/

# chmod -R 775 /home/oracle/app/

修改系统环境变量文件/etc/profile,执行命令:

# vi /etc/profile

文件尾部添加如下信息:

export ORACLE_BASE=/home/oracle/app

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export ORACLE_SID=ORCL

export NLS_LANG= AMERICAN_AMERICA.AL32UTF8

export PATH=$PATH:$ORACLE_HOME/bin

保存后使用如下命令,使设置生效:

# source /etc/profile

12、安装必要的服务做跳板

Oracle安装的环境配置结束,现在配置图形化界面跳转到windows主机,插曲比较多首先安装几个服务

安装xclock,会安装xorg-x11-apps

# yum -y install xclock

#vim /etc/ssh/sshd_config 
取消这一行的注释——如果没有这一行则手动添加之:

X11Forwrding yes 这样配置的作用就是允许SSH的X转发。其实本质上说,这样做是有一定安全风险的,SSH并不能绝对的保证你数据的安全性,不过,一般情况下,这也够了。

安装xhost

# yum whatprovides "*/xhost"

安装VNC

# yum -y install vnc

# yum -y install tigervnc-server

启用vnc服务并设置密码

# vncserver

按照提示输入密码即可

13、Oracle数据库安装文件上传安装

将前面下载好的Oracle 11g数据库安装包上传到生成环境中,可以通过xftp文件传输器上传

上传完成后对数据库安装文件进行授权

# chmod 775 /home/oracleapp/ -R

确保runInstaller是可以执行文件

14Xmanager工具安装

使用xmanager工具,在windows主机上显示Oracle数据库的安装界面

下载地址

链接:https://pan.baidu.com/s/1NIylb515iRYtvURX8adH-w  密码:lzse

配合xshell使用方便

安装一个小时钟控件,可以测试自己的环境是否搭建成功

# yum install xclock

配置xmanager

运行Xmanager – Passive

打开xstart

输入主机host,协议protocal,ssh,输入登陆的用户名;身份验证,点击设置,输入密码;命令点击三角符号,选择第三个:xterm(Linux old)如下图所示:

15、切换用户开始配置环境安装数据库

# su - oracle

$ export DISPLAY=192.168.1.77:0.0

说明:这里设置的IP地址是windows主机的,这个服务名:0.0也是需要跟进你自己Windows主机启动的Xmanager – Passive服务显示的名称一致

$ xhost +

确定弹窗是否能够弹出,如果可以表示正常

$ xclock

进入Oracle安装包路径

$ cd /home/oracleapp/database/

执行下面命令前请确保oracle安装文件已经授权了

$ ./runInstaller

问题1.出现显示256颜色未通过,是因为没有安装xdpyinfo

#yum install -y xdpyinfo

$cd /home/oracleapp/database

$xdpyinfo

$./runInstaller

问题:如果oracle安装界面出现乱码,在命令行输入

$ export LC_ALL=en_US

$ ./runInstaller

开始进入Oracle安装界面

有人会在这个地方出错,点击下一步是提示错误,错误是系统找不到相应的目录并且没有权限操作,无法读写。这个错误的原因是你在前面设置ORACLE_HOME时出现错误,可以检查一下echo $ORACLE_HOME,需要和你设置的文件/etc/profile保持一致,如果不一致要修改环境变量并生效一下source /etc/profile,一定要生效才能继续

这里全局数据库名没有和我一样设置hostname时应该是orcl,这里做个参考

数据库文件存放位置,若后面创建时修改了数据库文件的存放位置,需要先给文件夹设置权限和所属组必须为oracle用户,不然不能执行相关操作

注意Oracle数据库的密码强度设置规则,8位有数字字母大小写

调整以上提示的错误

  • 第一个是swap空间问题,可以修改

标准的Linux安装,SWAP分区是内存的两倍大小,如果增加了内存条,那SWAP分区也要增加

如果增加1G内存,SWAP分区就要增加2G

一、决定修改swap大小,首先在空间合适处创建用于分区的swap文件:如/swap1

    # dd if=/dev/zero of=/swap1 bs=1M count=2048

if 表示 infile,of 表示outfile,bs=1M代表增加的模块大小,count=2048代表2048个模块,也就是2G空间

二、将目的文件设置为swap分区文件:

    # mkswap /swap1

三、激活swap,立即启用交换分区文件:

    # swapon /swap1

以上操作在重启系统后swap空间将会失去/swap1,将/swap1加入到/etc/fstab 条目将可以使得系统在init进程中调用swapon -a 来自动挂载/swap1,这样每次机器重启后/swap1都处于有效的swap空间。

四、在/etc/fstab文件中加入下面这样一行:

# vim /etc/fstab

/swap1                  swap                    swap    defaults        0 0

完成!使用free查看swap大小!

检查提示有问题的依赖包,因163开源的依赖包有升级,所以有些依赖包会被检测出来没有被安装,提示不尽相同,只做参考。依赖包能在系统中检测到的可以忽略,对于后面要遇到的错误提前出来glibc-devel.i386依赖包

[root@localhost ~]# rpm -q libaio

libaio-0.3.109-13.el7.x86_64

[root@localhost ~]# rpm -q glibc

glibc-2.17-222.el7.x86_64

[root@localhost ~]# rpm -q compat-libstdc++-33

未安装软件包 compat-libstdc++

[root@localhost ~]# rpm -q elfutils-libelf-devel

未安装软件包 elfutils-libelf-devel

[root@localhost ~]# rpm -q libaio-devel

libaio-devel-0.3.109-13.el7.x86_64

[root@localhost ~]# rpm -q libgcc

libgcc-4.8.5-28.el7_5.1.x86_64

[root@localhost ~]# rpm -q libstdc

未安装软件包 libstdc

[root@localhost ~]# rpm -q libstdc++

libstdc++-4.8.5-28.el7_5.1.x86_64

 [root@localhost ~]# rpm -q unixODBC

未安装软件包 unixODBC

[root@localhost ~]# rpm -q unixODBC-devel

未安装软件包 unixODBC-devel

[root@localhost ~]# rpm -q pdksh

未安装软件包 pdksh

单独安装提示未安装的依赖包

[root@localhost ~]# yum -y install compat-libstdc++ elfutils-libelf-devel libstdc unixODBC unixODBC-devel

安装完再检查compat-libstdc++这包不知道为什一直提示未安装,不管了,继续,还有pdksh,这个依赖包已经不用了,只需要安装ksh即可,如果先完全没有依赖包问题,可以使用离线依赖包下载安装,依赖包地址(http://vault.centos.org/7.4.1708/os/x86_64/Packages/)命令:rpm -ivh 依赖包名称

这个错误就当是系统脑残了吧,明明设置了还一直提示,可以看下这个128就是设置的semmni,CentOS7以上的版本都有这个错误

忽略错误继续安装

保存一下响应文件,可以在后期排查问题

错误的原因:Linux没有安装32位的glibc-devel包

解决方法:安装glibc-devel包 如果安装了新版本可以忽略

# yum install glibc-devel*.i386

但是如果遇到了下面这个错误是不能跳过的,否则数据库会安装失败。

解决办法:

$ vim $ORACLE_HOME/sysman/lib/ins_emagent.mk

修改的位置在190行 -lnnz11

修改后重试,继续安装

安装到数据库配置时也可能会报错,如下图:

出现这个错误可以跳过,是因为监听文件不能自动配置出来,需要后面手动调试出来

为了方便,使用看管理一下SCOTT密码

接下来的弹窗用root身份执行一下

至此Oracle11g已经安装完成,可以测试一下是否能够正常使用。

16、Oracle自启动

1. 设置Oracle服务和监听自启动
修改dbstart和dbshut脚本,分别找到文件中的ORACLE_HOME_LISTNER=$1,修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

$ vim $ORACLE_HOME/bin/dbstart

$ vim $ORACLE_HOME/bin/dbshut

2. 修改oratab文件

$ vim /etc/oratab

ORCL:/home/oracle/app/product/11.2.0/dbhome_1:N

修改为:ORCL:/home/oracle/app/product/11.2.0/dbhome_1:Y

3. 设置rc.local脚本

切换root用

# vim /etc/rc.d/rc.local

把以下内容加入到文件中,注意里面所使用的路径必须是自己安装Oracle的实际路径,根据个人情况做相应修改(直接复制可能空格被转义了,最好自己在文本编辑器中格式化一下

#启动Oracle EM 企业管理器,用于登录https://RD10001kyc:1158/em。
su oracle -lc "/home/oracle/app/product/11.2.0/dbhome_1/bin/emctl start dbconsole"
#启动Oracle监听服务,用于连接本地或远程数据库。
su oracle -lc "/home/oracle/app/product/11.2.0/dbhome_1/bin/lsnrctl start"
#启动Oracle实例,用于登录数据库。
su oracle -lc "/home/oracle/app/product/11.2.0/dbhome_1/bin/dbstart"

17、手动启动Oracle数据库

如果没有自动重启是有问题的,需要排查以上文件是否修改正确如果遇到Oracle没有起来,需要手动起一下

Linux启动Oracle顺序

  1. $ su - oracle
  2. $ sqlplus /nolog
  3. sql> conn / as sysdba
  4. sql> startup (一般不需要加参数,只要设置好环境变量)
  5. sql> quit (退出sql模式)

$ lsnrctl start (启动监听器)

三、JDK+Tomcat程序安装

1、卸载自带jdk

先查看是否存在或是存在哪些自带的jdk

# rpm -qa |grep java

java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

tzdata-java-2013g-1.el6.noarch

java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

对应名称的JDK文件全部卸载

# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

# rpm -e --nodeps tzdata-java-2013g-1.el6.noarch

# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

# rpm -qa |grep java

2、上传软件

根据生产环境和磁盘使用率确定文件安装位置,我设定的是在/tomcat目录下创建/Standard6文件夹用了存放和安装科研系统相关的所有程序,上传安装文件并

给定文件权限

# chmod 775 /tomcat/Standard6 -R

3、安装JDK

1)解压安装jdk,在shell终端下进入jdk-6u37-linux-x64.bin文件所在目录,执行命令 # ./jdk-6u37-linux-x64.bin 如果出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录?????????jdk1.6.0_37?????

2)需要配置的环境变量

# vim /etc/profile 添加jdk的环境变量

设置完成后source /etc/profile使设置的环境变量生效

#设置Tomcat环境变量

export JAVA_HOME=/tomcat/Standard6/jdk:1.6.0_37

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

3)在终端使用echo命令检查环境变量设置情况,确认是否安装成功。

# echo $JAVA_HOME

# echo $CLASSPATH

# echo $PATH

4.检查JDK是否安装成功。

#java -version

如果看到JVM版本及相关信息,即安装成功!

4、安装Tomcat

1)将apache-tomcat-6.0.35-x64.zip 压缩文件解压缩到 /tomcat/Standard6 下面,编辑

# vim /etc/profile,在文件中添加如下内容:

export CATALINA_HOME= /usr/java/apache-tomcat-6.0.35

运行 # source /etc/profile 命令,来执行修改后的配置

2)设置Tomcat 端口:

打开 /usr/java/apache-tomcat-6.0.35/conf/server.xml 文件,找到如下字段:

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" />

然后把 8080 改成 80 ,然后保存即可。    

3) 启动 Tomcat

在/ apache-tomcat-6.0.35/bin下面,运行命令 startup.sh

关闭 Tomcat 命令

在/ apache-tomcat-6.0.35/bin下面,运行命令shutdown.sh

4) 查看Tomcat输出日志

在/tomcat/Standard6/apache-tomcat-6.0.35/logs下面运行catalina.out

5)访问系统

#curl http://192.168.1.67

5、设置Tomcat自启动服务器

# vim /etc/rc.d/rc.local

#Tomcat自启动

export JAVA_HOME=/Standard6/jdk1.6.0_37

/Standard6/apache-tomcat-6.0.35/bin/startup.sh start

# chmod -x /etc/rc.d/rc.local

四、端口开放

临时开放1521监听端口和1158端口

#  /sbin/iptables -I INPUT -p tcp --dport 1158 -j ACCEPT

#  /sbin/iptables -I INPUT -p tcp --dport 1521 -j ACCEPT

Oracle数据的安装设置到此结束,本地可以通过PL/SQL Developer或者是SQLdevelop连接工具来连接

永久开放端口:

# yum install -y nc 通过yum安装nc

# nc -vv 210.34.98.157 80 检测IP地址为210.34.98.157的服务器80端口是否开放

开放Linux80端口

命令行输入:

# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT     (允许80端口)

添加到22端口配置的下面

最后如图:

重启防火墙:

/etc/init.d/iptables restart

CentOS7

systemctl restart iptables.service

CentOS6

service iptables restart

结尾

温馨提示一个错误,因为一不小心安装了桌面带来的,其实都没用,安装带有桌面的CentOS会出现以下界面

即说明需要同意许可信息,按照以下顺序开始输入

1-回车-------à2-回车-------àc-回车-------àc回车,即可解决

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值