站点图标 Lee's Blog

讲解Linux数据库安装


学习了linux这门课之后,就开始实践过程了,这样比较记得牢固,学以致用。
有了基本的命令,就可以试着安装数据库了。
1.企业环境
需要安装VMWare ESXi虚拟机,然后再在里面新建虚拟机。
镜像vmware-viclient-all-5.1.0-1064113-5.1.exe
可以通过客户端VMware vSphere Client 6.0远程连接ESXi虚拟机,然后进行安装操作系统。

2.连接主机后进行创建新的虚拟机
在ESXi虚拟机安装完操作系统后,Linux不能粘贴解决办法

Name       Value 
isolation.tools.copy.disable    false
isolation.tools.paste.disable    false


3.Linux操作系统完成后进行数据库配置。怎么才能学会安装数据库呢?只有你学会了基础,熟练Linux命令,才会上手。那对于没有基础的你,就需要先学习基础,首先把基础给学起来,然后就会知道安装数据库的每步。

4.实践是需要有理论基础的。关闭防火墙,selinux,设置静态网络及开机启动项,检查网络配置是否有问题。这是centoes或Linux7版本的命令,但都是通用的,Linux6或以下版本的就是service iptables stop
关闭防火墙:

[root@khapp15 ~]# systemctl stop firewalld    #停止防火墙服务
[root@khapp15 ~]# systemctl disable firewalld  #禁止开机启动

关闭SELINUX

[root@khapp15 ~]# vim /etc/sysconfig/selinux
SELINUX=disabled
#SELINUXTYPE=targeted   #注释掉
[root@khapp15 ~]# setenforce 0    #关闭selinux
setenforce 0 #让SELinux进入Permissive模式(宽容模式)
SELiunx一共有三种模式:
enforcing(强制模式 ):开始限制domain/type
permissive(宽容模式) :仅会有警告信息
disabled(关闭):关闭SELinux
[root@khapp15 ~]#/usr/sbin/sestatus -v     #查看SELinux状态
然后进行网络配置,这是最关键的,网络配置不好,就会出问题。
[root@khapp15 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
#红色部分需要注意
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static  #静态IP
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=59efd265-266c-4355-9a50-11961f1523bc
DEVICE=ens33
ONBOOT=yes  #开机启动
IPADDR=172.22.0.203   #需要与公司环境相同
PREFIX=255.255.252.0     #需要与公司环境相同
GATEWAY=172.22.0.1  #需要与公司环境相同
DNS1=8.8.8.8
IPV6_PRIVACY=no

重启网卡

[root@khdata16 ~]# systemctl restart network或是service restart network

5.创建用户,并设置密码,这是在《Linux就该这么学》中是可以找到的,最前面的就是讲的这些基础命令。

[root@khapp15 ~]# useradd oracle
[root@khapp15 ~]# passwd oracle
123456 

6.安装数据库yum,配置yum,这是鼻必学的必须知道的,如果忘了,可以去查看《Linux就该这么学》这本书,按步骤一步步来即可。
安装依赖包

常用安装包
[root@khdata16 khtool]yum -y install autoconf automake binutils-devel bison cpp dos2unix ftp gcc gcc-c++ lrzsz python-devel
oracle必备依赖包
[root@khdata16 khtool]yum -y install compat-db compat-gcc-34 compat-gcc-34-c++ compat-libstdc++-33 glibc-glibc-*.i686 libXpm-*.i686 libXp.so.6 libXt.so.6 libXtst.so.6 libgcc_s.so.1 ksh libXp libaio-devel numactl numactl-devel unixODBC unixODBC-devel 

#第二个版本, 建议再执行一次
[root@khdata16 khtool]yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat 
安装libXp这个Library,这个一定要安装,否则安装Oracle时会出现java Exception
[root@khdata16 khtool]yum install libXp

7.配置系统内核参数,这些配置文件在哪,这也是必须熟记的,这是Linux文件系统的组织结构,这需要弄明白,可以查看《Linux就该这么学》。

编辑 /etc/sysctl.conf

# vim /etc/sysctl.conf
加入以下
kernel.shmall= 2097152
kernel.shmmax= 2147483648
kernel.shmmni= 4096
kernel.sem= 250 32000 100 128
net.ipv4.ip_local_port_range= 1024 65000
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=262144

[root@oracle204 jxsoft]# /sbin/sysctl -p 
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

编辑/etc/security/limits.conf

[root@khdata16 khtool]# vi /etc/security/limits.conf
#尾行添加以下四行
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

编辑/etc/pam.d/login

[root@khdata16 khtool]# vi /etc/pam.d/login
#尾行添加以下两行 
session required /lib64/security/pam_limits.so 
session required pam_limits.so 

修改/etc/profile

[root@khdata16 khtool]#vi /etc/profile

将以下代码新增到profile , pathmunge ()下方。添加代码的时候,千万注意,在这里的语法中,if和[]之间,还有=两边,都是需要空格的,如果不加空格,之后执行到这里的代码的时候会报错。

if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi

建立oinstall及dba群组和设置Oracle密码

[root@oracle204 jxsoft]# groupadd oinstall
[root@oracle204 jxsoft]# groupadd dba
[root@oracle204 jxsoft]# useradd -g oinstall -G dba oracle
[root@oracle204 jxsoft]# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@oracle204 jxsoft]#

修改Linux发行版本信息

# vim /etc/redhat-release
#CentOS Linux release 7.4.1708 (Core)

redhat 4
配置内核参数:

# vim /etc/sysctl.conf
--加入以下:
---这里1002是oracle用户组dba的gid (用命: id oracle  查gid)
vm.hugetlb_shm_group=1002
#/sbin/sysctl -p

创建oracle的安装文件夹及数据存放目录

[root@oracle204 jxsoft]# mkdir -p /u01/app/oracle/product/10.2.0/db_1
[root@oracle204 jxsoft]# chown -R oracle:oinstall /u01/app/oracle/product/10.2.0/db_1
[root@oracle204 jxsoft]# chmod -R 775 /u01/app/oracle/product/10.2.0/db_1
[root@oracle204 jxsoft]

配置oracle用户的环境变量

#cd /home/oracle
# vim .bash_profile  ---加入以下
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=jdjcdb
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

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

# source /home/oracle/.bash_profile

配置Linux主机
检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。

[root@khdata16 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

解压及赋予Oracle权限

[root@oracle204 oracle]# cd /opt/jxsoft/
[root@oracle204 jxsoft]# ls
10201_database_linux_x86_64.cpio.gz  rcjgcp_tj.rar
apache-tomcat-7.0.90.tar.gz          readline-6.2.tar.gz
exp_tjypjg.dmp                       rlwrap-0.37.tar.gz
jdk-6u45-linux-x64.bin               tjqxjg.dmp
p8202632_10205_Linux-x86-64.zip      ypltjg.zip
pdksh-5.2.14-37.el5_8.1.x86_64.rpm
[root@oracle204 jxsoft]# gunzip 10201_database_linux_x86_64.cpio.gz 
[root@oracle204 jxsoft]# cpio -idmv < 10201_database_linux_x86_64.cpio 
[root@oracle204 jxsoft]# chown -R oracle:oinstall /opt/jxsoft/database/
注销及重新登录。注销掉root用户,使用Oracle用户登录(重要!!!必须重启进入)
[oracle@oracle204 ~]$ cd /opt/jxsoft/database/
[oracle@oracle204 database]$ ls
doc  install  response  runInstaller  stage  welcome.html

解决安装时出现中文乱码问题:

[root@khdata16 database]# export LANG=en_US

解决图形化安装的问题:

#先切换到root用户,执行xhost +
[root@khdata16 ~]# xhost +
access control disabled, clients can connect from any host 

切回oracle用户执行,192.168.188.1:为客户端的ip

[oracle@khdata16 database]$ export DISPLAY=192.168.188.1:0.0

执行安装

QUI -10035
chown -R oracle:oinstall /u01/app
chmod -R 755 /u01/app
QUI-25031

修改/etc/hosts文件,增加IP地址与主机名的映射如下:

Ip  hostname
ora 27125 
#id oracle

可以看到oracle组dba id 为501

修改内核参数

# echo "501" >/proc/sys/vm/hugetlb_shm_group


以上有两个选项没有显示打钩,说明检查没有通过。

###因为是warning所以可以不解决。第一个解决办法(新增交换分区):
[root@oracle204 oracle]# cd /
[root@oracle204 /]# mkdir swapimage
[root@oracle204 /]# cd swapimage/
[root@oracle204 swapimage]# dd if=/dev/zero of=/swapimage/swap bs=1024 count=2500000
记录了2500000+0 的读入
记录了2500000+0 的写出
2560000000字节(2.6 GB)已复制,47.8377 秒,53.5 MB/秒
[root@oracle204 swapimage]# mkswap /swapimage/swap
正在设置交换空间版本 1,大小 = 2499996 KiB
无标签,UUID=9c2d05f0-f965-4e26-abe6-4e5fad52228c
[root@oracle204 swapimage]# vim /etc/fstab
/swapimage/swap        swap                    swap    defaults        0 0
[root@oracle204 swapimage]# swapon  /swapimage/swap
swapon: /swapimage/swap:不安全的权限 0644,建议使用 0600

[root@oracle204 swapimage]

第二个解决办法:
1.查看/etc/hosts,检查是否是这样的形式:

vi /etc/hosts
127.0.0.1    localhost
172.22.22.242    jcyoracle

注意:第一行要写成这种形式,而不是127.0.0.1 你的主机名 localhost.
第二行代表机器IP和主机名

2.查看/etc/sysconfig/network,检查hostname

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=jcyoracle
DNS1=8.8.8.8

3.查看主机名是否为目前主机名

[root@localhost swapimage]# hostname
jcyoracle
#若不是,使运行主机名临时生效为
[root@localhost swapimage]# hostname jiacuiyun
[root@localhost swapimage]# hostname

4.重启网络服务。

[root@localhost swapimage]#systemctl restart network

到这里,数据库就安装完成了。其实并不难,只要学习过《Linux就该这么学》,就可以安装,因为用到的都是基础的命令,所以说,基础还是很重要的。

让您学习到的每一节课都有所收获

《Linux就该这么学》是一本由资深运维专家刘遄老师及国内多名红帽架构师(RHCA)基于最新RHEL7系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。荣获双11、双12购物狂欢节IT品类书籍销量冠军,2017年、2018年国内读者增速最快的技术书籍,您可以在京东、当当、亚马逊及天猫搜索书名后购买,亦可加刘遄老师微信交流学习(手指按住下图3秒钟即可自动扫描)~


刘遄老师QQ:5604215

☀ Linux技术交流群:560843新群,火热加群中……

☀ 官方站点:www.linuxprobe.com

☀ 书籍在线学习(电脑在线阅读效果更佳

http://www.linuxprobe.com/chapter-00.html

《Linux就该这么学》是一本基于最新Linux系统编写,面向零基础读者的技术书籍。从Linux基础知识讲起,然后渐进式地提高内容难度,详细讲解Linux系统中各种服务的工作原理和配置方式,以匹配真实生产环境对运维人员的要求,突显内容的实用性。想要学习Linux系统的读者可以点击“阅读原文”按钮了解这本书,同时这本书也适合专业的运维人员阅读,作为一本非常有参考价值的工具书!

原文始发于微信公众号(Linux就该这么学):讲解Linux数据库安装

退出移动版