Oracle12C静默安装 Centos7

目录

一、系统配置

二、准备工作

三、安装前系统配置 

四、安装oracle12C


一、系统配置

  1. 操作系统:centOS Linux Centos7
  2. 数据库: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

二、准备工作

  1. 请准备Oracle12c 安装包,并上传到linux操作系统上的某一目录下

                                 

  • 操作系统软硬件检查 
  1. 内存要求 
    1. 最小值为1 GB 内存,建议值为2 GB of RAM 或者更多 
    2. 查询命令:# grep MemTotal /proc/meminfo 

    满足Oracle 12c的内存安装要求。

  2.  系统内核版本 
    1. 查询系统位数命令:# uname -m; 
    2. 查询系统版本命令:# cat /proc/version;
    3. 查询系统内核版本:# uname -r。 

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

  3. 磁盘空间要求 

    用来安装的Oracle 12c对应版本的目录硬盘保留量至少满足上面的要求,一般情况下,这个都不是问题,如果有疑问,可以用df -h命令查询一下目录所在的硬盘空间使用情况。 

  4. /tmp空间至少1GB 
  1. 查询命令:# df -h /tmp,Oracle安装目录中的/oradata目录用来存放数据文件,/tmp目录是根文件系统的一部分。 
  2. 通过命令:# df -h查看各个磁盘的使用情况。

三、安装前系统配置 

  1. yum安装必要安装包(检查oracle所需包 (以root身份操作) )

    #若执行一遍失败则执行第二遍

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

    #检查是否安装成功(31个安装包)

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

    如此成功

  2. 修改内核参数

    [root@Oracle ~]# vim /etc/sysctl.conf

    #修改或添加以下内容

    fs.aio-max-nr = 1048576 

    fs.file-max = 6815744               // 设置最大打开文件数 

    kernel.shmall = 16777216    // 共享内存的总量,8G内存设置:2097152*4k/1024/1024

    kernel.shmmax = 34359738360         // 最大共享内存的段大小,G换算成k计算

    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@Oracle ~]# sysctl -p

  3. 创建用户组和用户(以root身份操作) 

    [root@Oracle ~]# groupadd oinstall  ----创建oracle用户组

    [root@Oracle ~]# groupadd dba    ----创建oracle用户组

    [root@Oracle ~]# groupadd oper   ----创建oracle用户组

    [root@Oracle ~]# useradd -g oinstall -G dba,oper oracle   --oracle加入新建的2个用户组   

    [root@Oracle ~]# passwd oracle   ---设置oracle用户的密码

  4. 创建相关目录

    [root@Oracle ~]# mkdir /u01

    [root@Oracle ~]# mkdir -p /u01/app/oracle                 //oracle数据库安装目录

    [root@Oracle ~]# mkdir -p /u01/app/oraInventory         //oracle数据库配置文件目录

    [root@Oracle ~]# mkdir -p /u01/app/oracle/oradata         //存放数据库的数据目录

    [root@Oracle ~]# mkdir -p /u01/app/oracle/oradata_back    //存放数据库备份文件

    [root@Oracle ~]# chmod -R 775 /u01/app

    [root@Oracle ~]# chown -R oracle:oinstall /u01           //设置目录所有者为oinstall用户组的oracle用户

  5. 修改etc/profile

    [root@Oracle ~]# vi /etc/profile --添加

    if [ $USER = "oracle" ]; then

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

        ulimit -p 16384

        ulimit -n 65536

       else

        ulimit -u 16384 -n 65536

      fi

    fi

  6. 修改/home/oracle/.bash_profile

[root@Oracle ~]# vi /home/oracle/.bash_profile  --添加

export  ORACLE_BASE=/u01/app/oracle 

export  ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1

export  ORACLE_SID=orcl 

export LANG=en_US

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

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

# 使配置生效

[root@Oracle ~]# source /home/oracle/.bash_profile

四、安装oracle12C

  1. 解压oracle安装包,解压后路径:/u01/database
    [root@Oracle ~]
    # unzip linuxx64_12201_database.zip -d /u01        # 没有unzip命令,则先安装unzip
    解决方法 
    [root@CentOS ~]# yum install -y unzip zip
    重新解压,成功 
    
  2. 修改应答文件,静默安装配置文件路径:/u01/database/response/db_install.rsp

    oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0

    # 30 安装类型,只装数据库软件

    oracle.install.option=INSTALL_DB_SWONLY

    # 35 用户组

    UNIX_GROUP_NAME=oinstall

    # 42 INVENTORY目录(不填就是默认值)

    INVENTORY_LOCATION=/u01/app/oraInventory

    # 46 oracle目录

    ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1

    # 51 oracle基本目录

    ORACLE_BASE=/u01/app/oracle

    # 63 oracle版本

    oracle.install.db.InstallEdition=EE

    # 80

    oracle.install.db.OSDBA_GROUP=dba

    # 86

    oracle.install.db.OSOPER_GROUP=oper

    # 91

    oracle.install.db.OSBACKUPDBA_GROUP=dba

    # 96

    oracle.install.db.OSDGDBA_GROUP=dba

    # 101

    oracle.install.db.OSKMDBA_GROUP=dba

    # 106

    oracle.install.db.OSRACDBA_GROUP=dba

    # 180 数据库类型

    oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

    # 185

    oracle.install.db.config.starterdb.globalDBName=orcl

    # 190

    oracle.install.db.config.starterdb.SID=orcl

    # 216

    oracle.install.db.config.starterdb.characterSet=AL32UTF8

    # 384

    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

    # 398 设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)

    DECLINE_SECURITY_UPDATES=true

  3. 安装Oracle数据库软件(以oracle用户身份操作)

    [oracle@vs database]$ ./runInstaller -force -silent -noconfig -ignorePrereq -ignoreSysPreReqs -responseFile /u01/database/response/db_install.rsp

    安装成功后会提示如下图命令,需要切换到root身份执行

    [root@vs ~]# /u01/app/oraInventory/orainstRoot.sh 

    Changing permissions of /u01/app/oraInventory. 

    Adding read,write permissions for group. 

    Removing read,write,execute permissions for world. 

    Changing groupname of /u01/app/oraInventory to oinstall. 

    The execution of the script is complete. 

    [root@vs ~]# /u01/app/oracle/product/12.2.0/db_1/root.sh 

    Check /u01/app/oracle/product/12.2.0/db_1/install/root_Oracle_2017-04-15_20-56-27-813321685.log for the output of root script

  4. 配置监听,静默安装配置文件路径:/u01/database/response/netca.rsp(oracle用户)

    netca -silent -responsefile /u01/database/response/netca.rsp

  5. 修改dbca.rsp文件,静默安装配置文件路径:/u01/database/response/dbca.rsp

    responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0

    gdbName=orcl

    sid=orcl

    databaseConfigType=SI

    RACOneNodeServiceName=

    policyManaged=

    createServerPool=

    serverPoolName=

    cardinality=

    force=

    pqPoolName=

    pqCardinality=

    createAsContainerDatabase=true

    numberOfPDBs=1

    pdbName=pdborcl

    useLocalUndoForPDBs=TRUE

    pdbAdminPassword=123456

    nodelist=

    templateName=General_Purpose.dbc

    sysPassword=123456

    systemPassword=123456

    oracleHomeUserPassword=123456

    emConfiguration=

    emExpressPort=5500

    runCVUChecks=

    dbsnmpPassword=

    omsHost=

    omsPort=

    emUser=

    emPassword=

    dvConfiguration=

    dvUserName=

    dvUserPassword=

    dvAccountManagerName=

    dvAccountManagerPassword=

    olsConfiguration=

    datafileJarLocation=

    #要先创建该目录

    datafileDestination=/home/u01/app/oracle/oradata/orcl  

    recoveryAreaDestination=

    storageType=

    diskGroupName=

    asmsnmpPassword=

    recoveryGroupName=

    characterSet=AL32UTF8

    nationalCharacterSet=AL16UTF16

    registerWithDirService=

    dirServiceUserName=

    dirServicePassword=

    walletPassword=

    listeners=

    variablesFile=

    variables=

    initParams=

    sampleSchema=

    memoryPercentage=

    databaseType=MULTIPURPOSE

    automaticMemoryManagement=FALSE

    #根据实际情况定义

    totalMemory=4096   

  6. 创建数据库实例,使用 dbca 命令(dbca是oracle命令,如果提示命令找不到,检查环境变量)

    [oracle@oracle response]$ dbca -silent -createDatabase -responseFile /u01/database/response/dbca.rsp

  7. 检查oracle进程状态

    ps -ef | grep ora_ | grep -v grep

    lsnrctl status

  8. 数据库实例的启动和关闭

    # DBA 身份进入 sqlplus,查看数据库状态

    [oracle@Oracle ~]$ sqlplus / as sysdba

    SQL> select open_mode from v$database;             //查看数据库

    SQL> select status from v$instance;                //查看数据库实例

    # DBA 身份进入 sqlplus,修改管理员用户密码

    [oracle@Oracle ~]$ sqlplus / as sysdba

    SQL> alter user sys identified by ********;        //sys超级管理员密码

    SQL> alter user system identified by ********;     //system管理员密码

    # DBA 身份进入 sqlplus,启动数据库

    [oracle@Oracle ~]$ sqlplus / as sysdba

    SQL> startup

    # DBA 身份进入 sqlplus,关闭数据库

    [oracle@Oracle ~]$ sqlplus / as sysdba

    SQL> shutdown abort

  9. 修改oracle启动配置文件

# 修改oratab配置如下,这样就可以通过dbstart 启动实例,也可以通过dbshut关闭实例。

[oracle@Oracle ~]$ vim /etc/oratab

racl:/u01/app/oracle/product/12.2.0/db_1:Y  //“N”改成“Y”

# 此时所有oracle的进程关闭,监听器也停止。

[oracle@Oracle ~]$ dbshut /u01/app/oracle/product/12.2.0/db_1/

# 启动监听器和实例。

[oracle@Oracle ~]$ dbstart /u01/app/oracle/product/12.2.0/db_1/

# 修改 dbstart dbshut,如下

# 修改 #ORACLE_HOME_LISTNER=$1 ORACLE_HOME_LISTNER=$ORACLE_HOME

# root 用户下编辑 rc.local

# dbstart 默认将 oratab 中参数为 Y 的所有库启动

[root@Oracle ~]# vi /etc/rc.d/rc.local

# 添加如下命令到 rc.local

# oracle用户登录,运行dbstart启动数据库

su - oracle -lc "/u01/app/oracle/product/12.2.0/db_1/bin/dbstart"

# 设置执行权限,因为Oracle linux 7.x 默认rc.local是没有执行权限,需执行chmod自己增加

[root@Oracle ~]# chmod +x /etc/rc.d/rc.local

# 查看监听状态及数据库状态

[oracle@Oracle ~]$ lsnrctl status

# 启动监听

[oracle@Oracle ~]$ lsnrctl start

# 停止监听

[oracle@Oracle ~]$ lsnrctl stop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值