CentOs7.5离线静默安装Oracle12c

55 篇文章 1 订阅
42 篇文章 0 订阅

CentOs7.5离线静默安装Oracle12c

一、安装依赖

#有网的时候使用yum,没有网的时候需要单独下载安装
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 libXext libXext.i686 libX11 libX11.i686 libxcb libxcb.i686 libXi libXi.i686 make sysstat
#检查未安装的依赖
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 |grep "not installed"

二、用户及环境配置准备

  1. 创建用户及用户组

groupadd oinstall
groupadd dba 
useradd -g oinstall -G dba -m oracle 
passwd oracle
123456
  1. 修改用户限制

vi /etc/security/limits.conf
  oracle soft nproc 2047
  oracle hard nproc 16384
  oracle soft nofile 1024
  oracle hard nofile 65536
  oracle soft stack 10240
  oracle hard stack 10240
vi /etc/pam.d/login
  session required /lib64/security/pam_limits.so
  session required pam_limits.so
  1. 修改环境变量

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
source /etc/profile
  1. 创建安装及数据目录

mkdir -p /usr/local/oracle
mkdir -p /usr/local/oraInventory
chown -R oracle:oinstall /usr/local/oracle 
chown -R oracle:oinstall /usr/local/oraInventory
chmod -R 775 /usr/local/oracle
chmod -R 775 /usr/local/oraInventory
  1. 切换用户,修改配置文件

su - oracle
vi ~/.bash_profile
  export ORACLE_BASE=/usr/local/oracle  
  export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1  
  export ORACLE_SID=orcl   
  export PATH=$ORACLE_HOME/bin:$PATH  
source ~/.bash_profile

三、安装数据库

  1. 解压安装文件,并修改参数配置

linuxx64_12201_database.zip下载 链接:https://pan.baidu.com/s/1Ms-eR86Ih4qo6jVa8dbn0g?pwd=1111
提取码:1111

mv linuxx64_12201_database.zip /usr/local/oracle/
cd /usr/local/oracle/
unzip linuxx64_12201_database.zip
#解压后出现database目录
chown -R oracle:oinstall /usr/local/oracle/database
#修改db_install.rsp文件
cd /usr/local/oracle/database/response
vi db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/usr/local/oraInventory
ORACLE_HOME=/usr/local/oracle/product/12.1.0/db_1
ORACLE_BASE=/usr/local/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oinstall
oracle.install.db.OSBACKUPDBA_GROUP=oinstall
oracle.install.db.OSDGDBA_GROUP=oinstall
oracle.install.db.OSKMDBA_GROUP=oinstall
oracle.install.db.OSRACDBA_GROUP=oinstall
oracle.install.db.config.starterdb.password.SYS=123456
oracle.install.db.config.starterdb.password.SYSTEM=123456
oracle.install.db.config.starterdb.password.ALL=123456
DECLINE_SECURITY_UPDATES=true
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
  1. 静默安装数据库

/usr/local/oracle/database/runInstaller -silent -responseFile /usr/local/oracle/database/response/db_install.rsp

在这里插入图片描述
耐心等待输出,如果安装成功会有以上successful安装成功提示并要求你切换root用户执行两个脚本(脚本是安装时生成的),如果安装失败则按照提示的日志分析原因后重新执行。

  1. 切换root用户执行以下脚本

su - root
sh /usr/local/oraInventory/orainstRoot.sh
sh /usr/local/oracle/product/12.1.0/db_1/root.sh

四、启动监听及初始化

  1. 启动监听

su - oracle
$ORACLE_HOME/bin/netca -silent -responsefile /usr/local/oracle/database/response/netca.rsp
#查看生成的ora文件
ll $ORACLE_HOME/network/admin/*.ora
#启动监听
lsnrctl start
#查看状态,现在还没有创建数据库
lsnrctl status
  1. 创建静默库

#修改dbca.rsp
vi /usr/local/oracle/database/response/dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
gdbName=orcl
sid=orcl
databaseConfigType=SI
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=orclpdb
templateName=/usr/local/oracle/product/12.1.0/db_1/assistants/dbca/templates/General_Purpose.dbc
emExpressPort=5500
omsPort=0
characterSet=AL32UTF8
listeners=LISTENER
memoryPercentage=40
automaticMemoryManagement=false
#oralce使用的总内存大小这个需要根据实际情况填写(单位是MB)
totalMemory=10240

使用修改过的dbca.rsp执行创建静默库,输入密码后耐心等待进度100%

$ORACLE_HOME/bin/dbca -silent -createDatabase -responsefile /usr/local/oracle/database/response/dbca.rsp

在这里插入图片描述

  1. oracle创建用户名密码

    sqlplus “as sysdba” 输入oracle用户及密码登录后创建用户

sqlplus  "as sysdba"   
 -- 创建用户并指定密码
 create user c##test identified by tydic123;
 -- 赋权
 GRANT CONNECT,RESOURCE,CREATE SESSION,CREATE USER,DROP USER,ALTER USER ,EXP_FULL_DATABASE,IMP_FULL_DATABASE,CREATE ANY VIEW,DROP ANY VIEW TO c##test;
 -- 分配表空间份额
 GRANT UNLIMITED TABLESPACE TO c##test; 
 -- 解锁
 alter user c##test account unlock;
 -- 查看实例名
 select instance_name,status from v$instance;

使用新建用户连接oracle

sqlplus "c##test/tydic123@//192.168.128.130:1521/orcl"

五、可能遇到的问题

  1. 系统如果没有swap交换区的必须创建,否则安装时swap检查失败不会安装数据库。

    创建swap分区:

    su - root
    #1.用dd命令创建一个8G的文件(增加swap大小为bs*count,bs为block,count为数量)
    dd if=/dev/zero of=/var/swapfree bs=1G count=8
    #2.将它创建为Swap虚拟交换文件
    mkswap /var/swapfree
    #3.激活并使用/var/swapfree交换文件
    swapon /var/swapfree
    #4.设置系统启动后自动激活虚拟交换文件
    vi /etc/fstab
    /var/swapfree swap swap defaults 0 0
    #5.查看已创建的swap分区
    free -g
    
  2. 用户权限问题system group specified for central inventory (oraInventory) ownership is invalid

    删除oracle用户重新创建并赋权

    userdel oracle
    useradd -g oinstall -G dba -d /home/oracle -r oracle
    chown -R oracle:oinstall /usr/local/oracle
    chown -R oracle:oinstall /usr/local/oraInventory
    chmod -R 775 /home/oracle
    #重新设置下~/.bash_profile中的ORALE_HOME
    #清理之前用户产生的临时文件
    rm -rf /tmp/OraInstall*
    rm -rf /tmp/CVU_12*_oracle
    
  3. 目录权限问题

    chown -R oracle:oinstall /usr/local/oraInventory
    chown -R 775 /usr/local/oraInventory
    
  4. 内存限制问题ORA-27104: system-defined limits for shared memory was misconfigured

    一、dbca.rsp中的totalMemory设置过大超过了系统总内存大小, 修改小后重新创建。

    二、 sga_max_size设置过大。修改sga_max_size后重启数据库。

    sqlplus "as sysdba"
    -- 查看spfile位置
    show parameter spfile
    -- 备份spfile
    create pfile='/usr/local/oracle/product/12.1.0/db_1/dbs/pfile0323.ora' from spfile;
    -- 修改pfile后中的sga_target和sga_max_size之后重启数据库
    shutdown
    startup pfile='/usr/local/oracle/product/12.1.0/db_1/dbs/pfile0323.ora'
    -- 重新生成spfile
    create spfile ='spfileORCL0323.ora' from pfile='/usr/local/oracle/product/12.1.0/db_1/dbs/pfile0323.ora';
    show parameter spfile
    
  5. 没有orainstRoot.sh脚本
    没有安装成功或者可能你之前或者重装的时候没有删除/etc/oraInst.loc
    可以将/etc/oraInst.loc移走备份后重新安装

参考:
https://blog.csdn.net/qq_23938683/article/details/99936888
https://www.jianshu.com/p/364a2a849605
https://blog.csdn.net/xqy1522/article/details/5509079
https://blog.csdn.net/ishulei/article/details/109026614

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值