• liunx下Oracle安装


    1. 引言

      将近一个月没有更新博客了,最近忙着数据库数据迁移工作;自己在服务器上搭建了oracle数据库,一步步走下来遇见很多BUG;现在自己记录下,方便以后有用上的地方;

    2. 准备工作

      oracle安装包官网地址:

      http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html

      上传至服务器:

     3. 准备工作

      3.1 用root账户登录服务器,创建oracle数据库的系统用户和用户组

    [root@HikOS ~]# groupadd oinstall    //创建用户组oinstall
    [root@HikOS ~]# groupadd dba    //创建用户组dba
    [root@HikOS ~]# useradd -g oinstall -G dba oracle    //创建用户oracle并加入oinstall和dba用户组
    [root@HikOS ~]# passwd oracle    //设置oracle用户登录密码
    [root@HikOS ~]# id oracle    //查看oracle用户信息

      3.2 创建oracle数据库安装目录

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

      3.3 修改OS系统标志;

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

      3.4 安装oracle数据库所需软件包,由于软件包过多,不贴了。直接贴软件包下载指令;

    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*     //使用上面指令,检查依赖软件包

      3.5 关闭防火墙和selinux

    [root@HikOS ~]# systemctl start firewalld.service     //停止firewall
    [root@HikOS ~]# firewall-cmd --zone=public --add-port=1521/tcp --permanent  //开启1521端口
    [root@HikOS ~]# firewall-cmd --reload  //重启防火墙

      3.6 修改内核参数

    [root@HikOS ~]# vim /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

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

    [root@HikOS ~]vim /etc/security/limits.conf  //下文是要添加到Limits.conf内容
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536

      3.8 配置用户环境变量

    [root@HikOS ~]# vim /home/oracle/.bash_profile  #下文是要追加bash_profile内容部分
    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安装时设置的字符集保持一致
    [root@HikOS ~]# source /home/oracle/.bash_profile    //使上述配置生效

      3.9 解压安装包

    [root@HikOS ~]# unzip linux.x64_11gR2_database_1of2.zip -d /data/database/  //解压文件1
    [root@HikOS ~]# unzip linux.x64_11gR2_database_2of2.zip -d /data/database/  //解压文件2
    [root@HikOS ~]# chown -R oracle:oinstall /data/database/database/     //分配安装文件授权Oracle

    4 Oracle安装

      4.1 切换用户,使用刚刚创建的oracle用户登录liunx服务器。采用的是静默安装,修改配置文件

    [oracle@HikOS ~]# vim /data/database/database/response/db_install.rsp    // 修改配置文件如下,安装上述解压时,解压路径就是这样
        oracle.install.option=INSTALL_DB_SWONLY
    
      ORACLE_HOSTNAME=CentOS //使用hostname查看自己的系统版本,然后替换
    
      UNIX_GROUP_NAME=oinstall
    
      INVENTORY_LOCATION=/data/oracle/oraInventory
    
      SELECTED_LANGUAGES=en,zh_CN
    
      ORACLE_HOME=/data/oracle/product/11.2.0/db_1
    
      ORACLE_BASE=/data/oracle/
    
      oracle.install.db.InstallEdition=EE
    
      oracle.install.db.DBA_GROUP=dba
    
      oracle.install.db.OPER_GROUP=oinstall
    
      DECLINE_SECURITY_UPDATES=true

      4.2 执行安装过程

    [oracle@HikOS ~]# cd /data/database/database
    [oracle@HikOS database]# ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /data/database/database/response/db_install.rsp 

      4.3 安装过程错误QA(大部分因为db_install.rsp配置有问题)

        问题:[FATAL] [INS-32037] The operating system group specified for central inventory (oraInventory) ownership is invalid.

        解决:UNIX_GROUP_NAME=oinstall
           INVENTORY_LOCATION=/data/oracle/oraInventory

        ###############

        问题:[FATAL] [INS-35071] Global database name cannot be left blank.

        解决:ORACLE_HOSTNAME=oracle1

        ###############

        问题:[FATAL] [INS-35071] Global database name cannot be left blank.

        解决:oracle.install.db.config.starterdb.globalDBName=oracle.sunyard

        ###############

        问题:[FATAL] [INS-35175] No value given for the allocated memory of the database

        解决:oracle.install.db.config.starterdb.memoryLimit=512

        ###############

        问题:[FATAL] [INS-30004] The ADMIN password entered is invalid.

        解决:密码不能带@

        ##############

        问题:[INS-32033]Central Inventory location is not vritable

        解决:chown -R oracle:oinstall /data/oracle

             chown -R oracle:oinstall /data/oraInventory

             chown -R oracle:oinstall /data/database

             chown -R oracle:oinstall /data/database/database/

        ##############

        问题:[FATAL] [INS-35341] User is not a member of the following chosen OS groups

        解决:oracle.install.db.DBA_GROUP=dba
           oracle.install.db.OPER_GROUP=oinstall

        ##############

        问题:[SEVERE] - Email Address Not Specified"

        解决:DECLINE_SECURITY_UPDATES=true

      4.4 安装完成后提示如下界面

      

       4.5 切换成root用户,安装上图显示的提示执行命令

    [root@HikOS ~]# sh /data/oraInventory/orainstRoot.sh
    [root@HikOS ~]# sh /data/oracle/product/11.2.0/db_1/root.sh

      4.6 切换成oracle用户,配置监听

    [oracle@HikOS ~]# cd /data/database/database/response
    [oracle@HikOS response]# $ORACLE_HOME/bin/netca /silent /responsefile /data/database/database/response/netca.rsp

      4.7 查看1521端口监听是否配置成功

    [oracle@HikOS ~]# netstat -tnulp | grep 1521

      4.8 创建数据库,修改配置文件

    [oracle@HikOS ~]# vim /data/database/database/response/dbca.rsp
    # oracle版本,不能更改
    RESPONSEFILE_VERSION = "11.2.0"
     
    # Description   : Type of operation
    OPERATION_TYPE = "createDatabase"
    [CREATEDATABASE]
    # Description   : Global database name of the database
    # 全局数据库的名字=SID+主机域名
    
    # 第三方工具链接数据库的时候使用的service名称
    GDBNAME = "orcl.test"
    # Description   : System identifier (SID) of the database
    # 对应的实例名字
    SID = "orcl"
    # Description   : Name of the template
    # 建库用的模板文件
    TEMPLATENAME = "General_Purpose.dbc"
    # Description   : Password for SYS user
    # SYS管理员密码
    SYSPASSWORD = "123456"
    # Description   : Password for SYSTEM user
    # SYSTEM管理员密码
    SYSTEMPASSWORD = "123456"
     
    # Description   : Password for SYSMAN user
    # SYSMAN管理员密码
    SYSMANPASSWORD = "123456"
    # Description   : Password for DBSNMP user
    # DBSNMP管理员密码
    DBSNMPPASSWORD = "123456"
    # Description   : Location of the data file's
    # 数据文件存放目录
    DATAFILEDESTINATION =/data/oracle/oradata
     
    # Description   : Location of the data file's
    # 恢复数据存放目录
    RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area
     
    # Description   : Character set of the database
    # 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
    # (CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")
    CHARACTERSET = "ZHS16GBK"
     
    # Description   : total memory in MB to allocate to Oracle
    # oracle内存1638MB,物理内存2G*80%
    TOTALMEMORY = "1638"
    [oracle@HikOS ~]# dbca -silent -responseFile /data/database/database/response/dbca.rsp  

     显示如上界面后,表示创建成功

      4.9 创建数据库用户

    1)sqlplus / as sysdba  //管理员登录
    2)创建用户
      语法:CREATE USER 用户名 IDENTIFIED BY 密码;
          CREATE USER username IDENTIFIED BY password;
    3)将刚创建的用户解锁/锁住
      语法:ALTER USER 用户名 ACCOUNT UNLOCK/LOCK
      用户解锁
        alter user username account unlock;
      用户锁住
        alter user username account lock;
    4)授予新登陆的用户创建权限:
      语法:CRANT CREATE SESSION TO 用户名
          grant create session to username;
    5) 授予新创建的用户数据库管理员权限
      语法:CRANT DBA TO 用户名;
          grant dba to username;
    6) 切换到新创建的用户登陆
      语法:CONNECT 用户名/密码
        connect username/password;
    7) 删除用户
      语法:DROP USER 用户名
        drop user uaernam

    5. 总结

      oracle安装弄了我快一天的时间,因为公司的yum源没有图形化包,图形化安装浪费了太多时间,还是静默安装好。记下来方便下次遍历。

  • 相关阅读:
    elementui中el-alert实现换行的方法
    Element-UI中el-table实现简单动态数据绑定的实现
    腾讯课堂多倍速、去除xxx正在观看
    Linux vim 常用操作
    尚硅谷《谷粒商城项目总结》
    Centos 安装 Harbor
    centos 7 安装 kubernetes
    Mac VirtualBox 没有 Host-Only 选项怎么设置?
    VirtualBox 安装 centos7
    ssh 使用 sed 替换的时候,替换的字符串有单双引号的时候怎么用
  • 原文地址:https://www.cnblogs.com/xiaobingblog/p/11662647.html
Copyright © 2020-2023  润新知