Centos 7下安装Oracle 12c

时间:2020-12-26 21:40:46

SQL Server玩了有些年,最近想玩玩Oracle,于是想到装一台Oracle server来玩玩。第一次在Linux下安装Oracle,整个过程参考了一篇文章:http://blog.csdn.net/huangyanlong/article/details/45021171

 

环境:VMWare Workstatrion 8.0.3 

操作系统:CentOS 7 x64

数据库:Oracle 12c x64

 

1)安装好Centos 7,这一步跳过

2)从Oracle官网下载12c的安装包,也跳过

3)把软件从本地上传到VM的linux服务器上

这一步的做法是:把虚机的网络连接方式设置成桥接>>在linux服务器上配置ip地址和本机处在同一个网络>>把本地机器上的包含Oracle 12c安装包的目录共享出来>>确保可以在linux服务器上Ping通本地机器>>用mount命令把共享目录挂载到linux服务器上>>解压linuxamd64_12102_database_1of2.zip,linuxamd64_12102_database_2of2.zip这两个zip包到linux服务器上

 

挂载:mount -t cifs -o username=Jerry,password=password,ip=192.168.1.100 //192.168.1.100/Oracle /mnt/oracle

解压:unzip ./linuxamd64_12102_database_1of2.zip -d /usr/Oracle; unzip ./linuxamd64_12102_database_2of2.zip -d /usr/Oracle;

 

禁用一些服务,用脚本来做

[root@localhost Oracle Installation]# cat servicestop.sh 
chkconfig iptables off 
chkconfig ip6tables off 
chkconfig cups off 
chkconfig firstboot off 
chkconfig wpa_supplicant off 
chkconfig postfix off 
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config 
sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config

 

这一步本来应该要去参考Oracle官方安装文档准备好要事先安装的安装包,不过由于上面参考的文章中作者已经列出,这里我直接借鉴那份列表

binutils-2.20.51.0.2-5.11.el6 (x86_64)  
compat-libcap1-1.10-1 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (x86_64) gcc-4.4.4-13.el6 (x86_64) gcc-c++-4.4.4-13.el6 (x86_64) glibc-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (x86_64) ksh libgcc-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (i686) libstdc++-devel-4.4.4-13.el6 (x86_64) libaio-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6 (x86_64) libXext-1.1 (x86_64) libXtst-1.0.99.2 (x86_64) libX11-1.3 (x86_64) libXau-1.0.5 (x86_64) libxcb-1.5 (x86_64) libXi-1.3 (x86_64) make-3.81-19.el6 sysstat-9.0.4-11.el6 (x86_64) 

 

这些rpm包估计都在iso镜像中,要我去一个一个找我觉得太浪费时间,要是下次我要再装一台岂不是要再找多一次。于是我有了一个想法,就是用一个文件存储这份列表,然后写个shell通过关键字在安装盘上查找我们可能需要安装的包,然后拷贝到某个文件夹下

[root@localhost Oracle Installation]# vi cppkg

binutils
compat-libcap compat-libstdc gcc- gcc-c++ glibc- glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi- make sysstat

保存离开

建立bash_loop_test来拷贝rpm包到本地目录

[root@localhost Oracle Installation]# cat bash_loop_test 
#!/bin/bash

cat /home/jerry/Desktop/'Oracle Installation'/cppkg | while read line

do
find /mnt/cdrom/Packages/ -name ${line}'*' -exec cp {} /home/jerry/Desktop/'Oracle Installation'/ \;

echo $line

done

[root@localhost Oracle Installation]# sh bash_loop_test 

生成安装包脚本

[root@localhost Oracle Installation]# echo /dev/null > rpm.sh; find . -name '*.rpm'|xargs -i echo 'rpm -ivh '{} >> rpm.sh ;

 

不过经过实践发现其实这个方法也不好,因为很多dependency在,所以其实还是要手动去安装这个包。不过至少自己知道去思考一些方法,算是练习练习shell吧

 

安装调用图形化需要的包,注意这里需要机器可以连接到Internet

[root@localhost Packages]#  yum -y install unixODBC
Loaded plugins: fastestmirror, langpacks
base                                                     | 3.6 kB     00:00     
extras                                                   | 3.4 kB     00:00     
updates                                                  | 3.4 kB     00:00     
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirrors.163.com
Resolving Dependencies
--> Running transaction check
---> Package unixODBC.x86_64 0:2.3.1-10.el7 will be installed
--> Finished Dependency Resolution
省略

Installed:
unixODBC.x86_64 0:2.3.1-10.el7

Complete!

 

[root@localhost Packages]# yum -y install unixODBC-devel
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirrors.163.com
省略

Installed:
unixODBC-devel.x86_64 0:2.3.1-10.el7

Complete!

[root@localhost Packages]# yum install -y xterm
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirrors.163.com
省略
Installed:
  xterm.x86_64 0:295-3.el7                                                      

Dependency Installed:
  libXaw.x86_64 0:1.0.11-6.1.el7                                                

Complete!

 

 添加用户和用户组,建立主目录

[root@localhost Packages]# groupadd oinstall
groupadd: group 'oinstall' already exists [root@localhost Packages]# groupadd dba groupadd: group 'dba' already exists [root@localhost Packages]# useradd -g oinstall -G dba oracle useradd: user 'oracle' already exists [root@localhost Packages]# passwd oracle Changing password for user oracle. New password: BAD PASSWORD: The password fails the dictionary check - it is based on a dictionary word Retype new password: passwd: all authentication tokens updated successfully. [root@localhost Packages]# id oracle uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba) [root@localhost Packages]# mkdir -p /u01/app/oracle/product/12.1.0/db_1 [root@localhost Packages]# mkdir -p /u01/app/oraInventory [root@localhost Packages]# chown -R oracle:oinstall /u01/app [root@localhost Packages]# chmod -R 775 /u01/app [root@localhost Packages]# vi /etc/sysctl.conf [root@localhost Packages]# vi /etc/sysctl.conf [root@localhost Packages]# sysctl -p fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 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

[jerry@localhost Desktop]$ cat /etc/sysctl.conf
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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

[root@localhost Packages]# vi /etc/security/limits.conf

把下面的内容添加到文件尾部

oracle              soft    nproc   2047  

oracle              hard    nproc   16384  

oracle              soft    nofile  1024  

oracle              hard    nofile  65536 

[root@localhost Packages]# vi /etc/pam.d/login

把下面的内容添加到文件尾部

session    required     /lib/security/pam_limits.so  

session    required     pam_limits.so  

[root@localhost Packages]# 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  

 

切换到oracle用户,修改.bash_profile文件

[root@localhost database]# su oracle
[oracle@localhost ~]$vi .bash_profile
[oracle@localhost ~]$ cat .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

#export PATH

ORACLE_BASE=/u01/app/oracle  
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1  
ORACLE_SID=jerrychen
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin  
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib  
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH  
[oracle@localhost ~]$ source .bash_profile
 

 

然而似乎一切顺利可以进入安装阶段时

[oracle@localhost database]$ ./runInstaller 
./runInstaller: line 83: [: /usr/oracle/Oracle: binary operator expected
./runInstaller: line 247: [: too many arguments
./runInstaller: line 251: /usr/oracle/Oracle: No such file or directory

一时搞不懂出了什么情况。Google了一下有了头绪,原因是安装目录的名字叫Oracle \Installation。这个命名包含了\符号,就是这个原因导致了runInstaller安装脚本报错,我把目录的名称修改了一下,去除空格和特殊符号好就没报这个错误了。但是,出现了另一个错误,Display变量相关

[oracle@localhost database]$ ./runInstaller 
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB.   Actual 19938 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2045 MB    Passed
Checking monitor: must be configured to display at least 256 colors
    >>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.    Failed <<<<

Some requirement checks failed. You must fulfill these requirements before

continuing with the installation,

Continue? (y/n) [n] n

 

用[oracle@localhost database]$ export DISPLAY=192.168.1.120:0.0设置一下这个变量,然后开启另一个终端来运行runInstaller

[oracle@localhost database]$ ./runInstaller 
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB.   Actual 19938 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2045 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-06-21_10-44-42PM. Please wait ...[oracle@localhost database]$ 

 

终于进入安装阶段了

Centos 7下安装Oracle 12c

 

Centos 7下安装Oracle 12c

 

Centos 7下安装Oracle 12c

 

Centos 7下安装Oracle 12c

 

Centos 7下安装Oracle 12c

 

Centos 7下安装Oracle 12c

 

Centos 7下安装Oracle 12c

 

Centos 7下安装Oracle 12c

 

Centos 7下安装Oracle 12c

 

有个包前面漏安装了。查了一下安装光盘没有找到这个包。原来linux 7上没有,要到linux 6上才有。但是我不可能跑去download一个linux 6的镜像嘛。用yum来安装咯。至于swap文件和oracle建议的2.8G差了800mb,我想这个不影响整个安装过程,可以等安装完再修改swap文件的大小。跳过(忽略)这项检查。

Centos 7下安装Oracle 12c

 

 

[root@localhost Packages]# yum -y install compat-libstdc++-33
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirror.bit.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package compat-libstdc++-33.x86_64 0:3.2.3-72.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                    Arch          Version             Repository   Size
================================================================================
Installing:
 compat-libstdc++-33        x86_64        3.2.3-72.el7        base        191 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 191 k
Installed size: 811 k
Downloading packages:
compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm                | 191 kB   00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : compat-libstdc++-33-3.2.3-72.el7.x86_64                      1/1 
  Verifying  : compat-libstdc++-33-3.2.3-72.el7.x86_64                      1/1 

Installed:
  compat-libstdc++-33.x86_64 0:3.2.3-72.el7                                     

Complete!

 

Centos 7下安装Oracle 12c

 

Centos 7下安装Oracle 12c