centos7.8安装oracle12c,亲测可用

虚拟机环境:centos 7.8  

镜像文件:http://mirrors.aliyun.com/centos/7/isos/x86_64/

数据库版本:Oracle 12c R2

安装文件:linuxx64_12201_database.zip  

安装文件地址: https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#12c

1.创建运行oracle数据库的系统用户和用户组,用root账号登录运行一下指令:

  groupadd oinstall                      #创建用户组oinstall
 groupadd dba                   #创建用户组dba
 useradd -g oinstall -g dba -m oracle   #创建oracle用户,并加入到oinstall和dba用户组
 groups oracle                #查询用户组是否授权成功
 passwd oracle                  #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
 id oracle                          #查看新建的oracle用户

2.创建oracle数据库安装目录,运行以下命令:

   mkdir -p /data/oracle  #oracle数据库安装目录
 mkdir -p /data/oraInventory  #oracle数据库配置文件目录
 mkdir -p /data/database  #oracle数据库软件包解压目录
 cd /data
 ls  #创建完毕检查一下
 chown -R oracle:oinstall /data/oracle  #设置目录所有者为oinstall用户组的oracle用户
 chown -R oracle:oinstall /data/oraInventory
 chown -R oracle:oinstall /data/database


3.修改OS系统标识,oracle默认不支持Centos系统安装,修改文件/etc/RedHat-release  内容改为RedHat-7

vi /etc/redhat-release#修改成红色部分文字
redhat-7 

4.安装oracle数据库所需要的的软件包,通过 yum install binutils来查看,执行以下指令,检查依赖软件包:

yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*

5.关闭防火墙和selinux 

centos 7.X 默认使用firewall作为防火墙,这里关闭firewall就好:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动
vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

6.修改内核参数

vi /etc/sysctl.conf #红色部分是要添加sysctl.conf内容

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

7.对oracle用户设置权限,添加以下文件

vi /etc/security/limits.conf  #红色部分要添加到Limits.conf内容

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

8.配置用户的环境变量,添加以下代码:

vi /home/oracle/.bash_profile  #红色部分是要追加bash_profile内容部分
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致

配置完成,:wq!保存退出,运行source /home/oracle/.bash_profile时上述配置生效

9.通过Xftp把文件传到虚拟机,然后获取安装包文件后解压安装包

unzip linuxx64_12201_database.zip  -d /data/database/  #解压文件2
chown -R oracle:oinstall /data/database/database/       #分配安装文件授权Oracle

10.Oracle安装,使用oracle用户登录系统,使用命令行跳转到data/database/database目录下,输入./runInstaller 调出安装页面:

 centos7.8安装oracle12c,亲测可用

 

后续安装和window环境安装差不多,具体安装选择项,可自行选择安装,

如果在检查的时候,有警告,可以先忽略,继续安装

我安装点时候,只有三个警告,是先解决警告后,点check Again 解决了

警告问题:

警告一.swap size  参考网上的解决办法一步步执行即可

警告二.RAC:Soft Limit:maximm stack size Failed

centos7.8安装oracle12c,亲测可用

 

 

 

ulimit -a 查看资源限制

ulimit -s 10240

然后忽略警告即可

 

警告三. 缺少包,compat-libcap1-1.10  yum install 包名全名,即可 

yum install compat-libcap1-1.10

10.配置listener.ora文件

vi $ORACLE_HOME/network/admin/listener.ora

设置HOST=0.0.0.0。

 

11.配置文件和本机测试:

[oracle@localhost pfile]$ pwd /data/oracle/admin/orcl/pfile
[oracle@localhost pfile]$ cp init.ora.962016224738 /data/oracle/product/12.2.0/db_1/dbs/initorcl.ora
#使用sqlplus命令登录Oracle,重启服务器sqlplus  /nologconn / as sysdba;
#再输入startup,回车.这步是启动oracle服务。startup

然后就安装完了

 

centos7.8安装oracle12c,亲测可用

上一篇:SQL Server分数排序


下一篇:linux系统mysql主从复制(2)