Linux7.6 平台安装oracle12c的过程

本文部分内容转载自:https://blog.csdn.net/qq_23659871/article/details/80680669

公司要使用oracle,本已为很简单,搞了三天才搞通,下面记录下过程

说明:本人使用的是xshell连接服务器安装,其中会有几个问题要解决

安装步骤:我本人分为三步,一,安装前配置,二,调出图形界面(同事说用linux的GNOME、KDE图形界面),本人自测没法启动,放弃!!!三,安装oracle12c

1.本人安装的是oracle12c版本,官网下载:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

一:安装前配置

1. 操作系统软硬件检查 

内存要求

1) 最小值为1 GB 内存,建议值为2 GB of RAM 或者更多 

2) 查询命令:# grep MemTotal /proc/meminfo 

计算出来有1.7968G内存,满足Oracle 12c的内存安装要求。

 

2. 系统内核版本 

1) 查询系统位数命令:# uname -m; 
2) 查询系统版本命令:# cat /proc/version或# cat /etc/redhat-release或# lsb_release -id; 

3) 查询系统内核版本:# uname -r。 

经查询可知,本机系统版本和内核版本都在Oracle 12c支持的范围内。 
 

4. /tmp空间至少1GB 
1) 查询命令:# df -h /tmp,Oracle安装目录中的/oradata目录用来存放数据文件,/tmp目录是根文件系统的一部分,而图中查询结果显示根目录还剩余48G,满足条件。 

 2) 通过命令:# df -h查看各个磁盘的使用情况。

 

5.安装依赖包

1)检查Oracle需要的rpm安装情况

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

2) 安装缺失的rpm 

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutilslibelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBCdevel*.i686 libXp

3)再次检查rpm的安装情况 

4)创建wap分区

关于swap交换分区的设置:

    以前装Linux服务器系统的时候,系统有1G内存,swap交换分区分了2G,现在系统内存加到了8G,同事建议增加交换分区。我就增加16G swap分区介绍一下(添加一个交换文件方式):

    1. 查看swap 空间大小(总计):我的已经加完了,引用另外一台机子的查看内容。 
    free -m
             total       used       free     shared    buffers     cached
Mem:          7985        756       7228          0         98        263
-/+ buffers/cache:        394       7590
Swap:         8189          0       8189

    2.增加16G的交换空间

    dd if=/dev/zero of=/usr/swap bs=1024 count=4096000   #/usr/swap 文件在的位置

    如果是增加2G,则count=2048000

    3.设置交换分区

    mkswap /usr/swap

    4.启动交换分区

    swapon /usr/swap

    #此时Top命令看到交换分区增加了,此时重启后发现 swap空间又变回2G了,怎么办呢?又查了下内容

   发现还有一步。

    5.修改/etc/fstab文件,使得新加的16G交换空间在系统重新启动后自动生效在文件最后加入:
    vi /etc/fstab 增加下列内容 i进入修改模式

    /usr/swap  swap      swap defaults 0 0

     6.free -m 查看swap分区大小

 6. 创建用户、用户组以及安装目录 
安装和运行Oracle数据库软件都需要使用指定用户组内的指定用户,用户为Oracle,出于安全考虑,用户组建为oinstall、dba,oinstall组中的成员用于管理Oracle数据库物理软件,dba组中的成员用于管理、操作数据库,具有sysdba权限。


[root@CentOS /]# groupadd oinstall ----创建oracle用户组 

 

 

[root@CentOS /]# groupadd dba----创建oracle用户组  

 

[root@CentOS /]# useradd -g oinstall -G dba oracle----oracle加入新建的2个用户组  

 

[root@CentOS /]# passwd oracle   ----设置oracle用户的密码  

 

[root@CentOS /]# mkdir -p /usr/oracle ----创建oracle安装目录 

 

[root@CentOS /]# mkdir -p /opt/oracle/oracinstall  ---创建racle安装文件所在目录

 

[root@CentOS /]# chown -R oracle:oinstall /usr/oracle ----更改oracle目录用户组  

 

[root@CentOS /]# chmod -R 775 /usr/oracle ----更改oracle目录权限  

 

[root@CentOS /]# chown -R oracle:oinstall /opt/oracle/oracinstall----更改oracle安装文件所在目录的用户组  

 

[root@CentOS /]# chmod -R 755 /opt/oracle/oracinstall----更改oracleracle安装文件所在目录的操作权限  

 7. 配置系统内核参数

1)共享内存内核参数

kernel.shmmax:每个内存段的最大值,等于或大于sga_max_size,不小于物理内存1/2或2G 
kernel.shmall:指定任意时刻,系统可以分配的所有共享内存段总和的最大值,不小于shmmax/page_size,如果服务器运行的SGA<8G,可用默认值 
kernel.shmmni:系统可分配的共享内存段的最大数量,默认是4096

2)信号量 
一种控制资源访问的方法,Oracle实例主要使用信号量来控制共享内存的访问 
使用processes初始化参数分配信号量,其值至少等于processes 
信号量内核参数 
kernel.sem:如:kernel.sem = 250 32000 100 128,其中等号右边4部分分别为semmsl、semmns、semopm、semmni值。 
semmsl指每个信号量集合中的最大信号量个数,其值或取其最小值100,或者为所有数据库中最大的processes+10,选择其中较大值者 
semmns值是指整个系统范围内信号量总数的最大值,默认是32000 
semopm用于指定每个semop()系统调用可以设置的信号量操作的最大数量,默认为100 
semmni用于指定信号量集合的最大数量,最小为100,Oracle建议取值128.

net.core.rmem_default、net.core.rmem_max、net.core.wmem_default、net.core.wmem_max,4个参数用于设置socket数据发送缓冲区及接收缓冲区的默认大小与最大大小。


表示应用程序可使用的IPv4端口范围。

 

net.core.rmem_default:

 

表示套接字接收缓冲区大小的缺省值。

对应Oracle 12c的系统内核参数要求参考如下: 
3) 编辑系统的内核参数:[root@CentOS /]# vi /etc/sysctl.conf,在文件的末尾加入内核要求内容,编辑完成通过“ESC”和“:wq”保存并退出编辑窗口


编辑内核

kernel.shmall = 2097152

 

kernel.shmmax = 2147483648

 

kernel.shmmni = 4096

 

kernel.sem = 250 32000 100 128

 

net.ipv4.ip_local_port_range = 9000 65500

 

net.core.rmem_default = 4194304

 

net.core.rmem_max = 4194304

 

net.core.wmem_default = 262144

 

net.core.wmem_max = 1048586

 

fs.file-max = 6815744

4) 生效新配置的系统内核参数

sysctl -p


 

 

 

8. 配置Oracle用户shell limit 
1)为了提高在linux系统上运行软件的性能,必须对oracle用户设置下列限定。

 

修改 
vi /etc/security/limits.conf 

noproc - 进程的最大数目stack - 最大栈大小nofile - 打开文件的最大数目soft 指的是当前系统生效的设置值hard 表明系统中所能设定的最大值soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。oracle:被限制的用户名,组名前面加@和用户名区别

 oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 10240
 

9. 编辑登录配置文件 
vi /etc/pam.d/login 
进行登录配置文件的编辑,在文本最后添加:session required pam_limits.so或者session required /lib/security/pam_limits.so使shell limit生效。

这里写图片描述

10. Oracle用户环境变量配置 
要成功安装并使用Oracle数据库软件,必须在Oracle用户的.bash_profile文件中设置ORACLE_BASE、ORACLE_HOME、ORACLE_SID和PATH环境变量,其他的根据需要来设置。ORACLE_HOME可以在安装前手动配置,另外,Oracle安装过程中会根据ORACLE_BASE的值自动指定的ORACLE_HOME,所以也可以在安装后将这个ORACLE_HOME写入.bash_profile。

[root@CentOS etc]# su - oracle 
[oracle@CentOS ~]$ vi .bash_profile 
添加如下内容,并保存退出

# use for oracle  

export  ORACLE_BASE=/usr/oracle  

export  ORACLE_HOME=$ORACLE_BASE/product  

export  ORACLE_SID=orcl  

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin  

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib  

#防止Oracle安装界面乱码,先把语言环境改为英文

export LANG=en_US  

if [ $USER = "oracle" ];then

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

        ulimit -p 16384

        ulimit -n 65536      

else

       ulimit -u 16384 -n 65536    

fi  

  fi

 
11. 生效配置文件 
[oracle@CentOS ~]$ source .bash_profile 8. 配置修改/etc/hosts文件(切回用户)root 
安装RHEL的时候最好采用静态IP地址, 
vi /etc/hosts 
添加IP地址和域名的映射关系,进入hosts文件,在文件末尾加上本机实际IP和主机用户名

192.168.184.129  localhost.localdomain

二:调出图形界面
1. xhost + 

这个问题搞好久,第一次失败:百度查了半天,也没个可解决的,后来从新做一次,又可以了!!

 
xhost: unable to open display “” 
解决 
yum install tigervnc-server 
vncserver 

export DISPLAY=localhost:1 

 

 

xhost +

来进行操作。比如:

//切换到oracle用户下

su - oracle

//查看当前DISPLAY环境变量的值

echo $DISPLAY

//允许视图界面投影到设定的ip下

export DISPLAY=192.168.184.1:0.0  #这里是按我连接服务器显示出的ip,用过129,不行

//再次查看DISPLAY环境变量的值

echo $DISPLAY //启动命令

xhost +


1 出现问题

使用Xmanager的Xshell连接linux,进行上述操作时会出现如下问题:

xhost: unable to open display “192.168.184.1:0.0”

如图所示:(图片来自网络,做时忘了载图)

2 解决办法

Xmanager下出现这个问题,首先要保证linux服务器上安装了xterm,如果还未安装xterm,可以运行yum来安装:

yum install xterm

1
其次解决办法就是,先使用Xstart连接linux服务器,如图所示:

注意在command命令行里输入:

/usr/bin/xterm -ls -display $DISPLAY

1
如图所示:

这里写图片描述

连接成功后直接在Xstart命令行下,或者再次使用Xshell命令行尝试命令:

xhost +

就会出现成功的响应:

access control disabled, clients can connect from any host

如图所示:

后面就可以正常使用远程图形界面的操作了。

 

三. 安装Oracle 12c数据库 

1)使用xftp将oracle12c文件放到linux中

 
2)解压缩 
[root@CentOS oracinstall]# unzip linuxx64_12201_database.zip 
-bash: unzip: 未找到命令 
[root@CentOS oracinstall]#

 

解决方法 
[root@CentOS oracinstall]# yum install -y unzip zip

重新解压,成功 
3)安装 
[root@CentOS database]# ./runInstaller 
4)后面就可视化安装了。

 

 

如果你弹出了以下界面,那么恭喜你离成功只有一半的距离了。

1、第一步用来配置更新以及技术支持的,把勾去掉直接下一步就行(忘载图了,12c和11g是一样的界面)

2、 配置安装选项,这三个选项分别表示:①创建并配置一个新数据库,适用于新安装数据库的用户;②只安装数据库软件,适用于已有Oracle数据库数据用于数据迁移的;③升级已有数据库,适用于将老数据库升级成新数据库的用户。毫无疑问这里选择第一个选项。Linux7.6 平台安装oracle12c的过程_第1张图片

 

3、第三步配置桌面版还是服务器版,在linux服务器选第二个。

Linux7.6 平台安装oracle12c的过程_第2张图片

4、第四步分布式网格配置,这里选择单实例服务器配置。如果要装集群的,可按自已需求选择!

Linux7.6 平台安装oracle12c的过程_第3张图片

5.这个我们为了达到练手的目的选择高级安装(典型安装基本都已经帮我们配置好了,有啥挑战性)

Linux7.6 平台安装oracle12c的过程_第4张图片

6.接下来这个和以前的的点不一样,像把很多选项集合起来了,默认选项,再设个密码,(大小写加数字)

Linux7.6 平台安装oracle12c的过程_第5张图片

 

 

7.执行这部会有问题,在这一步时,无法继续,因为oracle账户无法创建oraInventory目录,所以必须先创建该用户并授权,执行如下操作即可

 

[root@getoraclelnx01 ~]# mkdir -p /usr/oraInventory

[root@getoraclelnx01 ~]# chown -R oracle:oinstall /usr/oraInventory

[root@getoraclelnx01 ~]# chmod -R 775 /usr/oraInventory

 

 

8.这一步会检测交换分区大小、内核参数以及依赖包是否安装。只要前面准备工作都完成了,下面的错误可以直接忽略(比如它要求的软件包,我们的版本实际上比它要求的还高,所以这里的报错没必要理会它)

Linux7.6 平台安装oracle12c的过程_第6张图片

9.这里叫你运行使用root用户运行两个脚本,运行一下就可以了(图是找的,内容一样)

 

 

 

 

 

 

 

 

10.验证参数时,aio-max-nr设置为1048576,配置文件没有的话要加上,编辑系统的内核参数:[root@CentOS /]# vi /etc/sysctl.conf,运行sysctl -p使之生效。然后重新验证通过

 

 

 

 

11.到此就安装完成 了
Linux7.6 平台安装oracle12c的过程_第7张图片

12.使用SQLplus查询scott表进行测试

OK!完事

 

你可能感兴趣的:(技术)