Centos7安装Oracle10g

一、软件版本

Oracle版本:10201_database_linux_x86_64.cpio

操作系统:CentOS-7-x86_64-DVD-2009.iso

系统内存:>=16G

系统磁盘:>=128G

二、安装准备

  • 使用 root 用户登录系统进行操作
  • # 表示注释或root用户执行
  • $ 表示除root以外的用户
  • SQL> 表示sqlplus操作

1、配置yum源

配置阿里云镜像

备份当前的YUM源配置文件

# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载阿里云的CentOS源配置文件

# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清理缓存并生成新的缓存

# yum clean all
# yum makecache

2、禁用防火墙

# systemctl stop firewalld 
# systemctl disable firewalld

3、禁用 SELinux

  • 编辑 /etc/selinux/config 文件,修改 SELINUX=disabled
# vim /etc/selinux/config

--原内容

SELINUX=enforcing

--修改后

SELINUX=disabled

  • 重启机器

4、安装依赖包

# 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

# yum -y install libXp
# yum -y install libXp.i686
# yum -y install libXt.i686
# yum -y install libXtst.i686

5、创建Oracle用户组和用户

  • 创建用户组 oinstall

    # groupadd oinstall
    
  • 创建用户组 dba

    # groupadd dba
    
  • 创建用户oracle,并加入用户组oinstall和dba

    # useradd -m -g oinstall -G dba oracle
    
  • 测试用户oracle是否创建成功

    # id oracle
    
  • 修改用户oracle的密码

    # passwd oracle
    

6、配置Oracle用户可暂时拥有root权限

  • 编辑 /etc/sudoers文件

    # vim /etc/sudoers
    
  • 找到

    root ALL=(ALL) ALL

  • 在下一行写入

    oracle ALL=(ALL) ALL

7、配置系统内核参数

  • 编辑 /etc/sysctl.conf 文件

  • 添加以下内容

    kernel.shmall = 4294967296
    kernel.shmmax = 68719476736
    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
    vm.hugetlb_shm_group=1002

  • 执行当前配置

    # sysctl -p
    

8、配置资源限制文件

  • 编辑 /etc/security/limits.conf 文件

  • # vim /etc/security/limits.conf
    
  • 写入以下内容

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

9、配置PAM模块

  • 编辑 /etc/pam.d/login 文件

    vim /etc/pam.d/login
    
  • 写入以下内容

    session required /lib64/security/pam_limits.so
    session required pam_limits.so

10、配置linux环境变量文件

  • 编辑 /etc/profile 文件

    # vim /etc/profile
    
  • 写入以下内容(1.注意 if[]= 的两边是需要空格的,否则执行会报错;2.if [ $USER = "oracle" ]; then 中 oracle 是Oracle用户名)

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

  • 写入位置

    pathmunge () {
    case "😒{PATH}:" in
    :"$1":)
    ;;
    *)
    if [ "$2" = "after" ] ; then
    PATH=$PATH:$1
    else
    PATH=$1:$PATH
    fi
    esac
    }

    --写入位置开始
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi
    --写入位置结束

    if [ -x /usr/bin/id ]; then
    if [ -z "$EUID" ]; then

    -- ksh workaround

    ​ EUID=/usr/bin/id -u
    ​ UID=/usr/bin/id -ru
    ​ fi
    ​ USER="/usr/bin/id -un"
    ​ LOGNAME=$USER
    ​ MAIL="/var/spool/mail/$USER"
    fi

11、修改linux发行版本

  • 由于 Oracle 10g发行时,CentOS7并未发行,所以,需要修改linux发行版本,应对Oracle安装时的检测

  • 编辑 /etc/redhat-release 文件

    vim /etc/redhat-release
    
  • 写入以下内容

    --原文件内容

    CentOS Linux release 7.5.1804 (Core)

    --修改后内容

    redhat 4

12、创建Oracle安装文件夹和数据存放文件夹

  • 创建文件夹

    # mkdir /opt/oracle
    # mkdir /opt/oracle/102
    
  • 修改目录及子目录所有文件的拥有者

    # chown -R oracle:dba /opt/oracle
    

13、配置主机名静态查询表

  • 输出 /etc/hosts 文件内容

    # cat /etc/hosts
    
  • 如果有以下内容,则不需要修改(确保 127.0.0.1 是存在的,否则,在配置Oracle监听时会无法启动监听)

    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

14、注销root用户

  • 注销 root 用户,使用 oraclu 重新登录系统
  • 注意不是运行 # su oracle 命令
  • 用ssh或者FinalShell以用户oracle连接

15、配置Oracle用户环境变量

  • 进入用户 oracle 的用户目录

    $ cd /home/oracle
    
  • 编辑 .bash_profile 文件

    $ vim .bash_profile
    
  • 写入以下内容

    ORACLE_BASE=/opt/oracle
    ORACLE_HOME=$ORACLE_BASE/102

    ORACLE_SID=radiu
    LD_LIBRARY_PATH=$ORACLE_HOME/lib
    PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
    export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH

  • 执行 source 命令,使文件生效

    $ source .bash_profile
    

16、安装配置vnc

  • 安装vncserver

  • yum install tigervnc-server
    vncpasswd
    
  • vncserver自动启动配置,参加另一篇博客

三、安装 Oracle

1、解压缩Oracle安装文件

  • 10201_database_linux_x86_64.cpio 安装包拷贝到 /opt/oracle 文件夹下

  • 解压缩Oracle安装文件

    cpio -idmv < 10201_database_linux_x86_64.cpio
    
  • 进入解压目录

    $ cd database
    

2、设置系统环境语言

  • 如果当前CentOS的环境是中文,需要设置为英文,防止Oracle安装界面乱码

    $ export LANG=en_US
    

3、开始安装

  • 另起一个窗口以root用户登录操作

    # export DISPLAY=:1.0
    # xhost +
    
  • 如果出现安装窗口显示太小,或只有一小条边框时,可以配置用户目录下的.bash_profile 文件(没有就跳过)

    #--oracle为用户目录
    $ vim /home/oracle/.bash_profile
    
  • 配置内容如下:

    export LANG=en_US
    export JAVA_FONTS=/usr/share/fonts/zh_CN/TrueType

  • 运行安装命令时,多加一个参数

    $ ./runInstaller -ignoreSysPrereqs
    

4、安装过程

  • 配置 Oracle Home Location(默认): /opt/oracle/102
  • UNIX DBA Group(默认):dba
  • 配置实例名、管理员sys的密码
  • **下一步 **
  • Enter the full path of the inventory directory(默认):/opt/oracle/oraInventory
  • Specify Operating System group name(用户选择):dba
  • 下一步
  • 未验证通过的检查项,手动勾选验证,勾选后 Status 变为User Verified
  • **下一步 **
  • 点击 Install 进行安装(如果Oracle安装过程有出错,可以直接忽略,点击 Continue

出现的错误提示:

Error in invoking target ‘all_no_orcl’ of makefile ‘/opt/oracle/102/rdbms/lib/ins_rdbms.mk’.See’/opt/oracle/oraInventory/logs/installActions2018-10-22-01-14-29PM.log’ for details.

Error in invoking target ‘collector’ of makefile ‘/opt/oracle/102/rdbms/lib/ins_rdbms.mk’.See’/opt/oracle/oraInventory/logs/installActions2018-10-22-01-14-29PM.log’ for details.

  • 等待 Database Configuration Assistant 窗口配置数据库
  • (一般不会出现,可跳过)如果这里出现如下异常

OUI-25031:Some of the configuration assistants failed.

解决:添加ip和主机名的映射

#--查询主机名
$ hostnamectl status

#--编辑/etc/hosts
$ vim /etc/hosts

--修改前
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

--修改后
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.31.10 localhost.localdomain

  • Database Configuration Assistant 配置完成后,点击 OK

  • 稍等会弹出 Execute Configuration scripts 窗口(不要关闭)

  • 重新打开一个终端,切换到用户root,执行上面窗口的.sh文件,(可直接复制窗口的文件路径)

# su root
# /opt/oracle/oraInventory/orainstRoot.sh
# /opt/oracle/102/root.sh
  • 遇到下面命令行提示,直接按回车键

Enter the full pathname of the local bin directory: [/usr/local/bin]:

  • 点击 OK

  • 点击 Oracle Universal Installer: End of Installation 窗口的Exit 键,弹出是否退出的窗口,点击 Yes 键(如果出现只有一小条窗口的情况,把鼠标移到小条窗口上,调节窗口大小)

5、简单的测试

#--输出当前实例
$ echo $ORACLE_SID
#--多个实例时,指定当前实例
$ export ORACLE_SID=radius
#--启动监听
$ lsnrctl start
#--查看监听状态
$ lsnrctl status
#--启动sqlplus
$ sqlplus /nolog
#--dba登录
SQL> conn / as sysdba

#--启动当前实例
SQL> startup
#--检查当前实例是否启动成功(出现一排的ora_XXX_实例名,说明启动成功)
$ ps -ef|grep ora_

四、开机自启动

  • 使用用户 root 进行登录系统

  • 配置 /etc/oratab 文件

    # vim /etc/oratab
    
  • 找到以下内容:

    orcl:/opt/oracle/102:N

  • 改为:

    orcl:/opt/oracle/102:Y

  • 配置 /etc/rc.d/rc.local 文件

    # vim /etc/rc.d/rc.local
    
  • 写入以下内容:(oracle=用户名,后面是安装路径)

    su oracle -lc "/opt/oracle/102/bin/lsnrctl start"
    su oracle -lc /opt/oracle/102/bin/dbstart

  • 设置 rc.local 的可执行权限

    # chmod +x /etc/rc.d/rc.local
    
posted @   码出未来ing  阅读(91)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示