CentOS7.4安装Oracle

一、安装Oracle前准备

安装epel7yum源:

   wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

1.创建运行oracle数据库的系统用户和用户组

    [root@localhost sonny]# groupadd oinstall  #创建用户组oinstall
    [root@localhost sonny]# groupadd dba  #创建用户组dba
    [root@localhost sonny]# useradd -g oinstall -G dba -m oracle  #创建oracle用户,并加入到oinstall和dba用户组
    [root@localhost sonny]# passwd oracle  #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
    Changing password for user oracle.
    New password:   # 密码
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password:   # 确认密码
    passwd: all authentication tokens updated successfully.
    [root@localhost sonny]# id oracle # 查看新建的oracle用户
    uid=1001(oracle) gid=1002(oinstall)=1002(oinstall),1001(dba)

为啥要创建oinstall用户组及dba组?

理论上单例按照需要3种用户组,实际只建两个oinstall和dba,后面再安装oracle数据库的时候把OSOPER组也设置是dba组。

a.oracle 清单组(一般为oinstall):

OINSTALL 组的成员被视为 Oracle 软件的“所有者”,拥有对 Oracle 中央清单 (oraInventory) 的写入权限。在一个 Linux 系统上首次安装 Oracle 软件时,
OUI 会创建 /etc/oraInst.loc 文件。该文件指定 Oracle 清单组的名称(默认为 oinstall)以及 Oracle 中央清单目录的路径。

b.数据库管理员(OSDBA,一般为 dba):

OSDBA 组的成员可通过操作系统身份验证使用 SQL 以 SYSDBA 身份连接到一个 Oracle 实例。该组的成员可执行关键的数据库管理任务,如创建数据库、启动和关
闭实例。该组的默认名称为dba。SYSDBA 系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。不要混淆 SYSDBA 系统权限与数据库角色 DBA。DBA 角色不包括 SYSDBA 或 SYSOPER

c.数据库操作员组(OSOPER,一般为 oper):

OSOPER 组的成员可通过操作系统身份验证使用 SQL 以 SYSOPER 身份连接到一个 Oracle 实例。这个可选组的成员拥有一组有限的数据库管理权限,如管理和运行备份。
该组的默认名称为oper。SYSOPER 系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。要使用该组,选择 Advanced 安装类型来安装 Oracle 数据库软件。

2.创建oracle数据库安装目录

  [root@localhost sonny]# mkdir -p /data/oracle  #oracle数据库安装目录
    [root@localhost sonny]# mkdir -p /data/oraInventory  #oracle数据库配置文件目录
    [root@localhost sonny]# mkdir -p /data/database  #oracle数据库软件包解压目录
    [root@localhost data]# chown -R oracle:oinstall /data/oracle  #设置目录所有者为oinstall用户组的oracle用户
    [root@localhost data]# chown -R oracle:oinstall /data/oraInventory
    [root@localhost data]# chown -R oracle:oinstall /data/database

3.修改OS系统标识

oracle默认不支持CentOS系统安装,Oracle Database 11g Release 2 的 OS要求参考:
修改文件 /etc/RedHat-release

   [root@localhost data]# vim /etc/redhat-release 
    redhat-7 

4.安装oracle数据库所需要的软件包

yum -y install binutils compat-libcap gcc gcc-c++ glibc glibc glibc-devel glibc-devel kshlibaio libaio libaio-devel libaio-devel libgcc libgcc libstdc++ libstdc++ libstdc++-devel libstdc++-devel libXi libXi libXtst libXtst make sysstat unixODBC-devel unixODBC libstdc++ compat-libstdc++ glibc-devel.i686

5.关闭防火墙 CentOS 7.2默认使用的是firewall作为防火墙

 [root@localhost /]# systemctl disable firewalld.service

6.关闭selinux(需重启生效)

 [root@localhost /]# vim /etc/selinux/config

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=disabled   #此处修改为disabled
    # SELINUXTYPE= can take one of three two values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected. 
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted 

7.修改内核参数

   [root@localhost /]# vim /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).

    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

使配置参数生效

 [root@localhost /]# sysctl -p

8.对oracle用户设置限制,提高软件运行性能

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

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

9.配置用户的环境变量

  [root@localhost /]# vi /home/oracle/.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

    export ORACLE_BASE=/data/oracle #oracle数据库安装目录
    export ORACLE_HOME=$ORACLE_BASE/product/11.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安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题

使上述配置立即生效:

    [root@localhost /]# source /home/oracle/.bash_profile 

10.安装Oracle

上传Oracle安装包
解压到/data/database文件夹:

[oracle@lyqvm apps]$ unzip p13390677_112040_Linux-x86-64_1of7.zip -d /data/database/
[oracle@lyqvm apps]$ unzip p13390677_112040_Linux-x86-64_2of7.zip -d /data/database/

更改文件夹所属组(使用root用户)

 [root@lyqvm ~]# chown -R oracle:oinstall /data/database/database/

在oracle用户下切换到‘/data/database/database/’目录下,运行runInstaller脚本进行安装

[oracle@lyqvm database]$ ./runInstaller

安装步骤同Windows相同,这里就不做赘述。

11.报错处理:

(1) Exception String: Error in invoking target ‘install’ of makefile ‘/data/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk’. See ‘/data/oraInventory/logs/installActions2020-07-10_08-44-43AM.log’ for details.
解决方法:使用root用户安装:yum install glibc-devel.i686
不同版本可能需要安装的32位的glibc-devel包的名称有所不同完成安装不要点击continue,关闭报错窗口继续即可,会继续安装

(2) Error in invoking target ‘agent nmhs’ of makefile ‘/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk’. See ‘/data/oraInventory/logs/installActions2020-07-10_08-44-43AM.log’ for details.解决方法:使用root用户:vim /data/oracle/product/11.2.0/db_1/sysman/lib
搜索行: ( M K E M A G E N T N M E C T L ) 改变为: (MK_EMAGENT_NMECTL) 改变为: (MKEMAGENTNMECTL)改变为:(MK_EMAGENT_NMECTL) -lnnz11,保存退出后点击重试

(3) LRM-00109: could not open parameter file ‘/data/oracle/product/11.2.0/db_1/dbs/initorcl.ora’
解决方法:

[root@lyqvm ~]# find /data -name pfile /data/oracle/admin/lyqedu/pfile				   
[root@lyqvm pfile]# cp /data/oracle/admin/lyqedu/pfile/init.ora.6132020161244 /data/oracle/product/11.2.0/db_1/dbs/initorcl.ora
[root@lyqvm pfile]#chown -R oracle:oinstall initorcl.ora

12.启动和关闭oracle监听

    lsnrctl start
	lsnrctl stop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值